2010-12-13 11 views
1

私は、Eclipseで新しいProGuardツールを使用して、アプリケーションを難読化しました。私はdex2JarJD-GUIを使ってそれを逆コンパイルして、何が起こったのかを調べました。Androidの文字列がproguardの後で乱数に変わる難読化

Rクラスのすべてが以下のような乱数に変換されていることに気付きました。

new SimpleCursorAdapter(localActivity, 2130903058, localCursor, arrayOfString, arrayOfInt); 

2130903058はレイアウトファイルでした。配列の文字列は同じ扱いになります。

逆コンパイルされたコードにRクラスはありません。どこに行ったのですか?元の文字列への参照はどこにありますか?

答えて

5

すべての参考文献は整数です。 R.stringを見ると、すべてのメンバーがintであることがわかります。これは、ポインタの実際の文字列です。たとえば、android.R.string.cancelは常に17039360で、文字列Cancelを指します。 ProGuardは、これらの参照を実際の番号で置き換えているため、android.R.string.cancelを使用すると17039360に置き換えられます。

編集: Rクラスは不要です(これはすべての参照が置き換えられています)。

関連する問題