使用说明
⚙️ Jadx MCP插件——通过MCP访问Claude的反编译程序
该项目提供了 Jadx 插件编写于 Java,这暴露了 基于HTTP的Jadx API --通过MCP客户端实现实时交互,如 克劳德 通过 模型上下文协议(MCP).轻便 FastMCP Python中的适配器充当Claude和插件之间的桥梁。这使得逆向工程工作流程的智能导航和自动化成为可能,是人工智能辅助Android应用程序安全分析的理想选择。
🧰 安装说明
# 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。 重新启动后,它应该看起来像这样:
✅ 使用流程
-
打开 Jadx 使用来自的最新插件JAR 释放 放置在其
plugins/文件夹或通过加载Plugins->install plugin. -
加载APK或DEX文件
-
(可选)您可以通过以下方式启动Jadx来指定HTTP接口地址:
jadx-gui -Pjadx-mcp.http-interface=http://localhost:8085如果您想更改默认主机/端口,这很有用(
http://localhost:8085).注: 如果您在此处更改了接口地址,请确保同时更新中的相应URL
fastmcp_adapter.py为了匹配。 -
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插件位于:
plugin/src/main/java/com/mobilehackinglab/jadxplugin/McpPlugin.java
它使用 JadxPlugin APIjadx.api.*)致:
- 加载反编译的类和方法
- 通过嵌入式HTTP服务器提供结构化数据
- 回应
/invoke和/tools端点
🚀 Gradle任务的自动安装
您可以使用以下Gradle任务一步构建和安装插件:
./gradlew installPlugin
这使用了
jadx pluginsCLI。确保Jadx已安装并在您的PATH.
有关其他插件相关任务(卸载、启用/禁用),请参阅中的任务定义 plugin/build.gradle.
🔧 手动安装
要构建插件,请执行以下操作:
./gradlew build
# Output: plugin/build/libs/jadx-mcp-plugin-<version>.jar
使用以下命令安装插件JAR jadx plugins CLI:
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工具调用转换为HTTP POST到正在运行的Jadx插件服务器。确保Jadx已打开 之前 开始克劳德。
🤝 贡献
欢迎PR、功能请求和工具扩展!
该项目由以下人员维护 移动黑客实验室.