リバースエンジニアリング用のapktool、jarファイルとして抽出するdex2jarがあることは知っています。また、コードを最適化して分かりにくくするプロガードの話も聞きました。しかし、プロガードはリバースエンジニアリングから保護するのに十分ですか? 私が理解している限りでは、proguard を使用した後でもリソース ファイルを変更できます (よくわかりません)。他に良いテクニックはありますか?誰かがapktoolを試した場合、コードとリソースの両方が破損する方法はありますか?
1 に答える
しかし、プロガードはリバースエンジニアリングから保護するのに十分ですか?
「十分」とは何かを定義できるのはあなただけです。
私が理解している限りでは、proguard を使用した後でもリソース ファイルを変更できます。
ProGuard を使用した後でも、リソースを含め、あらゆるものを変更できます。
他に良いテクニックはありますか?
リバース エンジニアリングを止めることは数学的に不可能です。結局のところ、CPU が命令を読み取って処理できる場合、CPU は命令を読み取って逆コンパイルできます。
ProGuard、DexGuard (リソースを暗号化する強化された ProGuard)、Java よりも多くのロジックを C/C++ に配置することなどは、リバース エンジニアリングを遅くするのに役立ちますが、それを止めることはできません。したがって、もう一度言いますが、「十分」とは何かを定義できるのはあなただけです。
誰かがapktoolを試した場合、コードとリソースの両方が破損する方法はありますか?
まあ、私見ですが、ProGuard はコードの apktool の出力を「破損」しません。ただし、ProGuard でコードを保護するのに「十分」であると思われる場合は、DexGuard でリソースを保護するのに「十分」である必要があります。DexGuard は商用製品ですが、私が最後に見たのは.
リバース エンジニアリングが心配な場合は、クライアント側のソフトウェアを作成しないでください。