Ghidraは、NSAが開発したオープンソースのソフトウェアリバースエンジニアリングフレームワークです。
skylot/jadx
AndroidのDex、APKなどを読みやすいJavaソースコードに変換するCLIツールとGUI。
- スター
- 51,133
- フォーク
- 5,815
- 未解決の Issue
- 459
- 最終コミット
- 7 日前
これは何?
jadxは、APK、dex、aab、apks、apkm、xapk、zipファイル内のDalvikバイトコードをJavaソースコードに変換します。また、Javaバイトコード(jar、class、aar)やsmaliファイルも逆コンパイルでき、resources.arscからAndroidManifest.xmlなどのリソースをデコードします。
CLIツールとGUI(jadx-gui)が付属しています。GUIでは、シンタックスハイライト付きのコード表示、宣言へのジャンプ、使用箇所の検索、全文検索、smaliデバッガーを利用できます。CLIでは、出力形式、逆コンパイルモード、難読化解除マッピング、Gradleプロジェクトへのエクスポートなどを指定できます。
すべてのメソッドを完全に逆コンパイルできるわけではなく、出力にエラーが含まれる場合があるとプロジェクトでは説明されています。また、Javaプロジェクトのライブラリとしても利用できます。
主な機能
- 01APK、dex、aab、xapkなどのAndroidパッケージをJavaに変換
- 02AndroidManifest.xmlとresources.arsc内のリソースをデコード
- 03シンタックスハイライト、検索、宣言へのジャンプ機能を備えたGUI
- 04GUIでsmaliデバッガーを利用可能
- 05難読化解除機能を備え、一般的なマッピング形式に対応
- 06逆コンパイル結果をGradleプロジェクトとしてエクスポート可能
ユースケース
- ソースコードにアクセスせずにAndroidアプリの仕組みを調べる
- セキュリティレビューやリバースエンジニアリングのためにAPKを解析する
- 内蔵の難読化解除機能を使って、難読化されたAndroidアプリを調査する
- ライブラリAPIを介してJavaツールに逆コンパイル機能を組み込む
トピック
よくある質問
- jadx とは?
- AndroidのDex、APKなどを読みやすいJavaソースコードに変換するCLIツールとGUI。 jadxは、APK、dex、aab、apks、apkm、xapk、zipファイル内のDalvikバイトコードをJavaソースコードに変換します。また、Javaバイトコード(jar、class、aar)やsmaliファイルも逆コンパイルでき、resources.arscからAndroidManifest.xmlなどのリソースをデコードします。
- jadx は無料で使えますか?ライセンスは?
- jadx は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- jadx は今もメンテナンスされていますか?
- 活発にメンテナンス中。jadx の最終コミットは 2026年10月14日 です。
- jadx は何に使えますか?
- ソースコードにアクセスせずにAndroidアプリの仕組みを調べる セキュリティレビューやリバースエンジニアリングのためにAPKを解析する 内蔵の難読化解除機能を使って、難読化されたAndroidアプリを調査する ライブラリAPIを介してJavaツールに逆コンパイル機能を組み込む
- jadx はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/skylot/jadx
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
LLMクライアントがバイナリを逆コンパイル・解析できるよう、Ghidraのリバースエンジニアリング機能を公開するMCPサーバー。
LinuxやAndroidで、ノイズコントロール、耳検出、バッテリー残量などのAirPods機能を利用できるオープンソースアプリ。
接続の再利用、HTTP/2、デフォルトのレスポンスキャッシュに対応した、JVM・Android・GraalVM向けHTTPクライアントです。
注釈付きインターフェースのメソッドをネットワークリクエストに変換する、Android・Java向けの型安全なHTTPクライアント。
工場や物流網を構築して砲台に補給し、基地を守る、Java製の自動化タワーディフェンスRTS。