6

dex2jar や JD-GUI などのツールを使用した後、APK から Java クラスを取得しました。誰もが知っているように、Java バイトコードは Java クラスに変換できるため、ほとんどの場合、他のツールから保護するためにいくつかのツール (Android の場合に使用される ProGuard など) によって最適化および難読化されます。私が得たのは難読化されたコードであり、エラーがなく、読みやすく、理解しやすいものにして、自分の目的のためにさらに変更できるようにしたいと考えています (個人的な使用のみを目的としており、著作権を侵害するつもりはありません)。したがって、この難読化されたコードを開発者が書いたものに近づけたり、エラーをなくして理解しやすくしたりするためのアドバイス、ツール、資料などのヘルプは、私を大いに助けてくれます。現在、私の焦点は、自分のプロジェクトでリバース エンジニアリングを試みたときのように、ProGuard で使用される難読化手法を元に戻すことです。

  • intリソース値はR、リバース エンジニアリングで生成されたファイルを介して照合することにより、ID で変更できます。
  • if/条件は、elseほとんどがwhile(true)および一部continueの およびに変換されbreakます。
  • 内部クラスはほとんど別のファイルに分割されます

そのため、上記の方法を適切に元に戻す方法を説明できるその他のテクニックと支援資料は非常に役立ちます.

4

3 に答える 3

3

これが役立つはずです: DeObfuscator

于 2012-08-27T17:12:19.817 に答える
0

リバース エンジニアリングは難しい作業です (微妙な芸術と言えます)。ほとんどの場合、特に難読化されたコードではうまくいきません。できることは、かなり明白に見えるいくつかの特別な機能に焦点を当て、そこから始めて、クラスの名前を変更してリファクタリングすることです。また、優れた IDE も大いに役立ちます (私の個人的な推奨事項: NetBeans)。

于 2012-08-27T17:32:45.737 に答える