質問

Eclipseの新しいProguardツールを使用して、アプリケーションを難読化しました。私はそれを使用してそれを逆コンパイルしました dex2jarjd-gui 何が起こったのかを調べる。

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

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

2130903058はレイアウトファイルでした。文字列アレイは同じ治療を受けます。

分解されたコードにRクラスはありませんが、どこに行ったのですか?元の文字列への参照はどこにありますか?

役に立ちましたか?

解決

すべての参照は整数です。あなたが見たら R.string, 、すべてのメンバーがいることに気付くでしょう ints。これは彼らがそうだからです ポインター 実際の文字列に。例えば、 android.R.string.cancel いつも 17039360, 、文字列を指します Cancel. 。 Proguardが行うことは、これらの参照をそれらが表す実際の数値に置き換えることです。 android.R.string.cancel, 、それを置き換えます 17039360.

編集: もう必要ないため、Rクラスはありません(すべての参照が置き換えられました)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top