APK decompilers
Reading time: 6 minutes
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
各ツールの詳細については、 https://eiken.dev/blog/2021/02/how-to-break-your-jar-in-2021-decompilation-guide-for-jars-and-apks/#cfr の元の投稿を確認してください。
JD-Gui
先駆的なGUI JavaデコンパイラであるJD-Guiは、APKファイル内のJavaコードを調査することを可能にします。使い方は簡単で、APKを取得したら、JD-Guiで開いてコードを確認するだけです。
Jadx
Jadxは、AndroidアプリケーションからJavaコードをデコンパイルするためのユーザーフレンドリーなインターフェースを提供します。異なるプラットフォームでの使いやすさから推奨されています。
- GUIを起動するには、binディレクトリに移動して実行します:
jadx-gui
- コマンドラインで使用するには、APKをデコンパイルします:
jadx app.apk
- 出力ディレクトリを指定したり、デコンパイルオプションを調整するには:
jadx app.apk -d <path to output dir> --no-res --no-src --no-imports
GDA-android-reversing-Tool
GDAは、Windows専用のツールで、Androidアプリのリバースエンジニアリングに広範な機能を提供します。WindowsシステムにGDAをインストールして実行し、APKファイルをロードして分析します。
Bytecode-Viewer
Bytecode-Viewerを使用すると、複数のデコンパイラを使用してAPKファイルを分析できます。ダウンロード後、Bytecode-Viewerを実行し、APKをロードして、同時分析のために使用したいデコンパイラを選択します。
Enjarify
Enjarifyは、DalvikバイトコードをJavaバイトコードに変換し、Java分析ツールがAndroidアプリケーションをより効果的に分析できるようにします。
- Enjarifyを使用するには、次のように実行します:
enjarify app.apk
これにより、提供されたAPKのJavaバイトコードが生成されます。
CFR
CFRは、最新のJava機能をデコンパイルすることができます。次のように使用します:
- 標準デコンパイルの場合:
java -jar ./cfr.jar "app.jar" --outputdir "output_directory"
- 大きなJARファイルの場合、JVMメモリ割り当てを調整します:
java -Xmx4G -jar ./cfr.jar "app.jar" --outputdir "output_directory"
Fernflower
Fernflowerは、分析デコンパイラで、ソースからビルドする必要があります。ビルド後:
- JARファイルをデコンパイルします:
java -jar ./fernflower.jar "app.jar" "output_directory"
その後、生成されたJARから.java
ファイルをunzip
を使用して抽出します。
Krakatau
Krakatauは、特に外部ライブラリを扱う際に、デコンパイルに対する詳細な制御を提供します。
- Krakatauを使用するには、標準ライブラリパスとデコンパイルするJARファイルを指定します:
./Krakatau/decompile.py -out "output_directory" -skip -nauto -path "./jrt-extractor/rt.jar" "app.jar"
procyon
procyonを使用して簡単にデコンパイルするには:
- 指定したディレクトリにJARファイルをデコンパイルします:
procyon -jar "app.jar" -o "output_directory"
frida-DEXdump
このツールは、メモリ内で実行中のAPKのDEXをダンプするために使用できます。これは、アプリケーションがメモリ内で実行されている間に削除される静的難読化を打破するのに役立ちます。
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。