Jadx MCP插件

@mobilehackinglab/jadx-mcp-plugin
0 Stars 111 次浏览 mobilehackinglab 更新于 2026-08-23

通过HTTP暴露Jadx反编译器API的服务器,使克劳德能够与反编译的Java/Android代码进行交互,以列出类、获取源代码、检查方法/字段以及实时提取代码。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

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

服务介绍

⚙️ Jadx MCP 插件 — 通过 MCP 为 Claude 提供反编译器访问

该项目提供了一个用 Java 编写的 Jadx 插件,该插件通过 HTTP 暴露了 Jadx API —— 使得可以通过像 Claude 这样的 MCP 客户端经由 模型上下文协议 (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 中使用此适配器,请转到 文件 -> 设置 -> 开发者 -> 编辑配置 -> claude_desktop_config.json 并添加一个指向 venv 中 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": "/Users/yourname/jadx-mcp-plugin/venv/bin/python",
      "args": ["/Users/yourname/jadx-mcp-plugin/fastmcp_adapter.py"]
    }
  }
}

确保在编辑配置后重新启动(退出)Claude。
重启后应如下所示:

✅ 使用流程

  1. 打开 Jadx,并将最新版本的插件 JAR 文件从 发行版 放置在其 plugins/ 文件夹中,或通过 Plugins -> install plugin 加载。

  2. 加载 APK 或 DEX 文件

  3. (可选)您可以通过启动 Jadx 并指定 HTTP 接口地址来更改默认主机/端口(http://localhost:8085):

    jadx-gui -Pjadx-mcp.http-interface=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 任务一步构建并安装插件:

./gradlew installPlugin

这使用了 jadx plugins 命令行工具。请确保 Jadx 已安装并可以在你的 PATH 中找到。

对于其他与插件相关的任务(卸载、启用/禁用),请参阅 plugin/build.gradle 中的任务定义。

🔧 手动安装

要构建插件:

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

使用 jadx plugins 命令行工具安装插件 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 维护。


🧩 致谢

相关 MCP 服务