1

Google Play のアプリ ID、サードパーティの API キー、ハッシュを作成するためのシークレット シードなど、保護したい文字列をコードに保存する必要がある場合があります。

この文字列を保護するために、開発者は XOR 操作またはその他の手法 (つまり、 java で 2 つの文字列を使用する XOR 操作) を使用して文字列を難読化することがあります。

コードをリリースする前に Proguard を実行すると、コードのかなり高度な最適化が実行されるため、最終的な文字列を解決でき、リリースされた apk で難読化されていない文字列を出荷することになると思います.... これは本当ですか?

コードを難読化する代わりに、Proguard は手動で難読化されたデータを難読化解除します...

人々はこれをどのようにターゲットにしていますか?proguard.cfg で難読化された文字列を持つクラスを除外しますか?

4

1 に答える 1

2

Base64 や XOR などの単純な手法を使用して文字列の難読化を実験しました。私の経験から、最適化が有効になっていても、Proguard は手動で難読化されたデータの難読化を解除できません。

APKtoolDex2jarなどのツールを使用して Proguard を有効にしてプロジェクトをエクスポートした後、独自のソースコードを逆コンパイルすることができます。その後、文字列が難読化解除されたかどうかを確認する必要があります。

于 2013-07-30T14:22:50.517 に答える