APK decompilers

ゼロからヒーローまでのAWSハッキングを学ぶ htARTE(HackTricks AWS Red Team Expert)

HackTricksをサポートする他の方法:

**各ツールの詳細については、https://eiken.dev/blog/2021/02/how-to-break-your-jar-in-2021-decompilation-guide-for-jars-and-apks/#cfr**の元の投稿を確認してください

JD-Guiは、先駆的なGUI Java decompilerであり、APKファイル内のJavaコードを調査できます。APKを取得した後は、JD-Guiで単純に開いてコードを検査できます。

Jadxは、AndroidアプリケーションからJavaコードを逆コンパイルするための使いやすいインターフェースを提供します。異なるプラットフォームでの使用の容易さが推奨されています。

  • GUIを起動するには、binディレクトリに移動して次のコマンドを実行します:jadx-gui

  • コマンドラインで使用するには、APKを逆コンパイルする:jadx app.apk

  • 出力ディレクトリを指定したり、逆コンパイルオプションを調整するには:jadx app.apk -d <出力ディレクトリへのパス> --no-res --no-src --no-imports

GDAは、Androidアプリをリバースエンジニアリングするための多機能なWindows専用ツールです。WindowsシステムにGDAをインストールして実行し、解析するAPKファイルを読み込みます。

Bytecode-Viewerを使用すると、複数の逆コンパイラを使用してAPKファイルを分析できます。ダウンロード後、Bytecode-Viewerを実行し、APKを読み込んで同時に使用する逆コンパイラを選択します。

Enjarifyは、DalvikバイトコードをJavaバイトコードに変換し、Java分析ツールがAndroidアプリケーションを効果的に分析できるようにします。

  • Enjarifyを使用するには、次のコマンドを実行します:enjarify app.apk これにより、指定されたAPKのJavaバイトコードが生成されます。

CFRは、最新のJava機能を逆コンパイルすることができます。次のように使用します:

  • 標準の逆コンパイルには:java -jar ./cfr.jar "app.jar" --outputdir "output_directory"

  • 大きなJARファイルの場合は、JVMメモリ割り当てを調整します:java -Xmx4G -jar ./cfr.jar "app.jar" --outputdir "output_directory"

Fernflowerは、解析用の逆コンパイラであり、ソースからビルドする必要があります。ビルド後:

  • JARファイルを逆コンパイルする:java -jar ./fernflower.jar "app.jar" "output_directory" その後、生成されたJARから.javaファイルをunzipを使用して抽出します。

Krakatauは、外部ライブラリの処理に特に適した逆コンパイルの詳細な制御を提供します。

  • 標準ライブラリパスと逆コンパイルするJARファイルを指定してKrakatauを使用します:./Krakatau/decompile.py -out "output_directory" -skip -nauto -path "./jrt-extractor/rt.jar" "app.jar"

procyonを使用して簡単に逆コンパイルするには:

  • JARファイルを指定されたディレクトリに逆コンパイルする:procyon -jar "app.jar" -o "output_directory"

Last updated