本项目是一个用 Java 编写的 Jadx 插件,借助 Jadx API 提供 HTTP 接口服务。这让 Claude 这类工具能通过 模型上下文协议 (MCP) 实现实时交互。轻量级的 FastMCP 适配器以 Python 编写,充当 Claude 和该插件之间的桥梁,使智能导航和自动化反编译工作流程成为可能,非常适合利用 AI 辅助进行 Android 应用的安全分析。
# 克隆此仓库
git clone https://github.com/mobilehackinglab/jadx-mcp-plugin.git
cd jadx-mcp-plugin
# 创建并激活虚拟环境
python3 -m venv venv
# 激活:
source venv/bin/activate # Linux/Mac
.\venv\Scripts\activate # Windows
pip install -r requirements.txt
要在 Claude Desktop 中使用此适配器,请转到 File
-> Settings
-> Developer
-> Edit Config
-> claude_desktop_config.json
,并添加一个指向 Python 虚拟环境的 MCP 服务器设置(以避免依赖问题),然后指定完整的适配器路径,如下示例所示:
Windows:
{
"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": "/home/user/jadx-mcp-plugin/venv/bin/python",
"args": ["python", "-m", "fastmcp_adapter"]
}
}
}
配置完成后,确保 Jadx 已经启动并运行。
以下是插件支持的主要功能:
工具名称 | 描述 |
---|---|
反编译文件 | 从 Jadx 获取指定文件的反编译代码。 |
查看类信息 | 获取特定类的方法、字段和其他详细信息。 |
导出字节码 | 输出指定类的原始字节码数据。 |
搜索关键字 | 在所有反编译代码中搜索特定字符串或关键字。 |
替换代码 | 对反编译后的代码进行修改并保存回 Jadx 项目。 |
使用 Gradle 脚本自动构建插件:
./gradlew build
构建输出为 plugin/build/libs/jadx-mcp-plugin-
将生成的 JAR 文件手动复制到 Jadx 的 plugins 目录中,路径通常为:~/.jadx/plugins/
然后通过以下命令启用插件:
jadx plugins --enable jadx-mcp
文件路径:
fastmcp_adapter.py
该脚本将 Claude 的 MCP 工具调用转换为对运行中的 Jadx 插件服务器的 HTTP POST 请求。确保在启动 Claude 之前已启动并打开了 Jadx。
欢迎提交 PR、功能请求和工具扩展!
该项目由 Mobile Hacking Lab 维护。