2

リバースエンジニアリング用のapktool、jarファイルとして抽出するdex2jarがあることは知っています。また、コードを最適化して分かりにくくするプロガードの話も聞きました。しかし、プロガードはリバースエンジニアリングから保護するのに十分ですか? 私が理解している限りでは、proguard を使用した後でもリソース ファイルを変更できます (よくわかりません)。他に良いテクニックはありますか?誰かがapktoolを試した場合、コードとリソースの両方が破損する方法はありますか?

4

1 に答える 1

3

しかし、プロガードはリバースエンジニアリングから保護するのに十分ですか?

「十分」とは何かを定義できるのはあなただけです。

私が理解している限りでは、proguard を使用した後でもリソース ファイルを変更できます。

ProGuard を使用した後でも、リソースを含め、あらゆるものを変更できます。

他に良いテクニックはありますか?

リバース エンジニアリングを止めることは数学的に不可能です。結局のところ、CPU が命令を読み取って処理できる場合、CPU は命令を読み取って逆コンパイルできます。

ProGuard、DexGuard (リソースを暗号化する強化された ProGuard)、Java よりも多くのロジックを C/C++ に配置することなどは、リバース エンジニアリングを遅くするのに役立ちますが、それを止めることはできません。したがって、もう一度言いますが、「十分」とは何かを定義できるのはあなただけです。

誰かがapktoolを試した場合、コードとリソースの両方が破損する方法はありますか?

まあ、私見ですが、ProGuard はコードの apktool の出力を「破損」しません。ただし、ProGuard でコードを保護するのに「十分」であると思われる場合は、DexGuard でリソースを保護するのに「十分」である必要があります。DexGuard は商用製品ですが、私が最後に見たのは.

リバース エンジニアリングが心配な場合は、クライアント側のソフトウェアを作成しないでください。

于 2013-06-09T13:33:11.690 に答える