dex2jar や JD-GUI などのツールを使用した後、APK から Java クラスを取得しました。誰もが知っているように、Java バイトコードは Java クラスに変換できるため、ほとんどの場合、他のツールから保護するためにいくつかのツール (Android の場合に使用される ProGuard など) によって最適化および難読化されます。私が得たのは難読化されたコードであり、エラーがなく、読みやすく、理解しやすいものにして、自分の目的のためにさらに変更できるようにしたいと考えています (個人的な使用のみを目的としており、著作権を侵害するつもりはありません)。したがって、この難読化されたコードを開発者が書いたものに近づけたり、エラーをなくして理解しやすくしたりするためのアドバイス、ツール、資料などのヘルプは、私を大いに助けてくれます。現在、私の焦点は、自分のプロジェクトでリバース エンジニアリングを試みたときのように、ProGuard で使用される難読化手法を元に戻すことです。
int
リソース値はR
、リバース エンジニアリングで生成されたファイルを介して照合することにより、ID で変更できます。if
/条件は、else
ほとんどがwhile(true)
および一部continue
の およびに変換されbreak
ます。- 内部クラスはほとんど別のファイルに分割されます
そのため、上記の方法を適切に元に戻す方法を説明できるその他のテクニックと支援資料は非常に役立ちます.