⚙️ Jadx MCP プラグイン — MCP 経由で Claude のデコンパイラーにアクセス
このプロジェクトは、 Javaで記述されたJadxプラグインを提供します。このプラグインはHTTP経由でJadx APIを公開し、 ClaudeなどのMCPクライアント(Model Context Protocol(MCP)経由)とのリアルタイムインタラクションを可能にします。Pythonで記述された軽量なFastMCPアダプタは、Claudeとプラグイン間のブリッジとして機能します。これにより、リバースエンジニアリングワークフローのインテリジェントなナビゲーションと自動化が可能になり、AndroidアプリのAI支援セキュリティ分析に最適です。
🧰 セットアップ手順
Pythonの依存関係をインストールする
🧠 Claude MCP クライアント統合の設定
Claude Desktop でこのアダプターを使用するには、 File
-> Settings
-> Developer
] -> Edit Config
-> claude_desktop_config.json
に移動し、venv 内の Python 実行可能ファイルを指す MCP サーバー (依存関係の問題を防ぐため) と、以下の例のような完全なアダプター パスを追加します。
ウィンドウズ:
MacOS / Linux:
設定を編集した後は、必ずClaudeを再起動(終了)してください。再起動後、以下のようになっているはずです。
✅ ご利用の流れ
plugins/
フォルダーに配置されたリリースの最新のプラグイン JAR を使用してJadxを開くか、Plugins
->install plugin
からロードします。- APKまたはDEXファイルを読み込む
- (オプション) 次のコマンドで Jadx を起動して、HTTP インターフェース アドレスを指定できます。これは、デフォルトのホスト/ポート (
http://localhost:8085
) を変更する場合に便利です。**注意:**ここでインターフェース アドレスを変更する場合は、
fastmcp_adapter.py
内の対応する URL も一致するように更新してください。 - Claude は Jadx MCP サーバー ツールを検出してアクティブ化します。
- クラスを一覧表示したり、ソースを取得したり、メソッド/フィールドを検査したり、ライブでコードを抽出したりできるようになりました。
🧪 提供されるツール
道具 | 説明 |
---|---|
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 プラグインは次の場所にあります:
JadxPlugin
API ( jadx.api.*
) を使用して次のことを行います。
- デコンパイルされたクラスとメソッドをロードする
- 埋め込み HTTP サーバー経由で構造化データを提供する
/invoke
および/tools
エンドポイントに応答する
🚀 Gradle タスクによる自動インストール
次の Gradle タスクを使用すると、プラグインを 1 ステップでビルドしてインストールできます。
これは
jadx plugins
CLIを使用します。Jadxがインストールされ、PATH
で利用可能になっていることを確認してください。
その他のプラグイン関連のタスク (アンインストール、有効化/無効化) については、 plugin/build.gradle
のタスク定義を参照してください。
🔧 手動インストール
プラグインをビルドするには:
jadx plugins
CLI を使用してプラグイン JAR をインストールします。
あるいは、ビルドした.jar
ファイルを Jadx plugins/
フォルダ(通常は~/.jadx/plugins/
にあります)に配置します。
JAR を手動で配置する場合は、Jadx GUI または次のコマンドを実行してプラグインを有効にする必要もあります。
Python FastMCP アダプター
アダプタ ファイルは次のとおりです。
ClaudeのMCPツール呼び出しを、実行中のJadxプラグインサーバーへのHTTP POSTに変換します。Claudeを起動する前に、 Jadxが開いていることを確認してください。
🤝 貢献する
PR、機能リクエスト、ツール拡張を歓迎します。
このプロジェクトはMobile Hacking Labによって管理されています。
🧩 クレジット
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
HTTP 経由で Jadx デコンパイラ API を公開するサーバー。これにより、Claude はデコンパイルされた Java/Android コードを操作して、クラスの一覧表示、ソース コードの取得、メソッド/フィールドの検査、ライブでのコードの抽出が可能になります。
Related MCP Servers
- AsecurityFlicenseAqualityProvides a secure, isolated JavaScript execution environment with configurable time and memory limits for safely running code from Claude.Last updated -124JavaScript
- AsecurityFlicenseAqualityA secure JavaScript REPL server that enables executing code snippets in a sandboxed environment with memory protection, timeout handling, and comprehensive error reporting.Last updated -21507JavaScript
- -securityAlicense-qualityA server that enables seamless integration of Binary Ninja's reverse engineering capabilities with LLM assistance, allowing AI tools like Claude to interact with binary analysis features in real-time.Last updated -42PythonGPL 3.0
- -securityAlicense-qualityA Model Context Protocol server that enables Large Language Models to interact with Binary Ninja for reverse engineering tasks like viewing assembly code, decompiled code, renaming functions, and adding comments.Last updated -2PythonMIT License