Jadx MCP Server

by mobilehackinglab
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

⚙️ Jadx MCP プラグイン — MCP 経由で Claude のデコンパイラーにアクセス

このプロジェクトは、 Javaで記述されたJadxプラグインを提供します。このプラグインはHTTP経由でJadx APIを公開し、 ClaudeなどのMCPクライアント(Model Context Protocol(MCP)経由)とのリアルタイムインタラクションを可能にします。Pythonで記述された軽量なFastMCPアダプタは、Claudeとプラグイン間のブリッジとして機能します。これにより、リバースエンジニアリングワークフローのインテリジェントなナビゲーションと自動化が可能になり、AndroidアプリのAI支援セキュリティ分析に最適です。


🧰 セットアップ手順

# Clone this repository git clone https://github.com/mobilehackinglab/jadx-mcp-plugin.git cd jadx-mcp-plugin # Create and activate a virtual environment python3 -m venv venv # Activate: source venv/bin/activate # Linux/Mac .\venv\Scripts\activate # Windows

Pythonの依存関係をインストールする

pip install -r requirements.txt

🧠 Claude MCP クライアント統合の設定

Claude Desktop でこのアダプターを使用するには、 File -> Settings -> Developer ] -> Edit Config -> claude_desktop_config.jsonに移動し、venv 内の Python 実行可能ファイルを指す MCP サーバー (依存関係の問題を防ぐため) と、以下の例のような完全なアダプター パスを追加します。

ウィンドウズ:

{ "mcpServers": { "Jadx MCP Server": { "command": "C:\\Workset\\jadx-mcp-plugin\\venv\\Scripts\\python.exe", "args": ["C:\\Workset\\jadx-mcp-plugin\\fastmcp_adapter.py"] } } }

MacOS / Linux:

{ "mcpServers": { "Jadx MCP Server": { "command": "/Users/yourname/jadx-mcp-plugin/venv/bin/python", "args": ["/Users/yourname/jadx-mcp-plugin/fastmcp_adapter.py"] } } }

設定を編集した後は、必ずClaudeを再起動(終了)してください。再起動後、以下のようになっているはずです。

✅ ご利用の流れ

  1. plugins/フォルダーに配置されたリリースの最新のプラグイン JAR を使用してJadxを開くか、 Plugins -> install pluginからロードします。
  2. APKまたはDEXファイルを読み込む
  3. (オプション) 次のコマンドで Jadx を起動して、HTTP インターフェース アドレスを指定できます。
    jadx-gui -Pjadx-mcp.http-interface=http://localhost:8085
    これは、デフォルトのホスト/ポート ( http://localhost:8085 ) を変更する場合に便利です。

    **注意:**ここでインターフェース アドレスを変更する場合は、 fastmcp_adapter.py内の対応する URL も一致するように更新してください。

  4. Claude は Jadx MCP サーバー ツールを検出してアクティブ化します。
  5. クラスを一覧表示したり、ソースを取得したり、メソッド/フィールドを検査したり、ライブでコードを抽出したりできるようになりました。

🧪 提供されるツール

道具説明
list_all_classesすべてのデコンパイルされたクラス名を取得する
search_class_by_name文字列に一致するクラスを検索する
get_class_source指定されたクラスの完全なソースを取得する
search_method_by_name文字列に一致するメソッドを見つける
get_methods_of_classクラス内のすべてのメソッド名を一覧表示する
get_fields_of_classクラス内のすべてのフィールド名を一覧表示する
get_method_codeメソッドのデコンパイルされたコードを抽出する

🛠 開発

☕ Javaプラグイン

Java プラグインは次の場所にあります:

plugin/src/main/java/com/mobilehackinglab/jadxplugin/McpPlugin.java

JadxPlugin API ( jadx.api.* ) を使用して次のことを行います。

  • デコンパイルされたクラスとメソッドをロードする
  • 埋め込み HTTP サーバー経由で構造化データを提供する
  • /invokeおよび/toolsエンドポイントに応答する

🚀 Gradle タスクによる自動インストール

次の Gradle タスクを使用すると、プラグインを 1 ステップでビルドしてインストールできます。

./gradlew installPlugin

これはjadx plugins CLIを使用します。Jadxがインストールされ、 PATHで利用可能になっていることを確認してください。

その他のプラグイン関連のタスク (アンインストール、有効化/無効化) については、 plugin/build.gradleのタスク定義を参照してください。

🔧 手動インストール

プラグインをビルドするには:

./gradlew build # Output: plugin/build/libs/jadx-mcp-plugin-<version>.jar

jadx plugins CLI を使用してプラグイン JAR をインストールします。

jadx plugins --install-jar path/to/jadx-mcp-plugin-<version>.jar

あるいは、ビルドした.jarファイルを Jadx plugins/フォルダ(通常は~/.jadx/plugins/にあります)に配置します。

JAR を手動で配置する場合は、Jadx GUI または次のコマンドを実行してプラグインを有効にする必要もあります。

jadx plugins --enable jadx-mcp

Python FastMCP アダプター

アダプタ ファイルは次のとおりです。

fastmcp_adapter.py

ClaudeのMCPツール呼び出しを、実行中のJadxプラグインサーバーへのHTTP POSTに変換します。Claudeを起動する前に、 Jadxが開いていることを確認してください。


🤝 貢献する

PR、機能リクエスト、ツール拡張を歓迎します。
このプロジェクトはMobile Hacking Labによって管理されています。


🧩 クレジット

-
security - not tested
F
license - not found
-
quality - not tested

HTTP 経由で Jadx デコンパイラ API を公開するサーバー。これにより、Claude はデコンパイルされた Java/Android コードを操作して、クラスの一覧表示、ソース コードの取得、メソッド/フィールドの検査、ライブでのコードの抽出が可能になります。

  1. 🧰 Setup Instructions
    1. Install Python dependencies
      1. 🧠 Setup Claude MCP CLient Integration
        1. ✅ Usage Flow
          1. 🧪 Tools Provided
            1. 🛠 Development
              1. ☕ Java Plugin
              2. Python FastMCP Adapter
            2. 🤝 Contributing
              1. 🧩 Credits
                ID: v44v7i9np4