使用说明
项目简介
Jadx AI MCP Server 插件 (JADX-AI-MCP) 是一个 JADX 反编译器的插件,它集成了 Model Context Protocol (MCP) 服务器功能。配合独立的 Python MCP 服务器 (JADX MCP Server),可以使得 Claude 等大语言模型 (LLM) 能够实时访问和理解 JADX 反编译的 Android 代码上下文,从而实现 AI 驱动的静态代码分析、实时代码审查和逆向工程辅助。
简单来说,这个插件让 JADX 反编译器变身为一个 MCP 服务器,可以将当前反编译的代码信息提供给支持 MCP 协议的 LLM 客户端(例如 Claude 桌面版),实现更智能的代码分析和交互。
主要功能点
- MCP 服务器集成: JADX 插件内置 HTTP 服务器,作为 MCP 服务器的一部分,暴露代码信息。
- 实时代码上下文: 能够将 JADX GUI 中当前选中的类、方法、代码片段等信息通过 MCP 协议提供给 LLM。
- 丰富的 MCP 工具: 提供一系列预定义的 MCP 工具,例如:
- 'fetch_current_class()': 获取当前选中的类名和完整源代码。
- 'get_selected_text()': 获取当前选中的文本内容。
- 'get_all_classes()': 获取项目中所有类列表。
- 'get_class_source(class_name)': 获取指定类的完整源代码。
- 'get_method_by_name(class_name, method_name)': 获取指定类中指定方法的源代码。
- ... 等等,更多工具请参考仓库 README。
- 支持 Claude 等 LLM: 特别针对 Claude 桌面版进行了集成优化,可以通过 MCP 协议与其进行交互。
- 内置 Claude Desktop 集成: 插件内置了与 Claude Desktop 的集成,方便用户直接在 JADX 中使用 Claude 进行代码分析。
安装步骤
-
下载插件和服务器: 访问 https://github.com/zinja-coder/jadx-ai-mcp/releases 下载 'jadx-ai-mcp-<version>.jar' (JADX 插件) 和 'jadx-mcp-server-<version>.zip' (Python MCP 服务器) 两个文件。
-
安装 JADX 插件:
- 方法一 (推荐): 打开 JADX GUI,点击菜单 'File' -> 'Plugins' -> 'Install Plugin from GitHub...',在弹出的对话框中输入 'zinja-coder:jadx-ai-mcp' 并点击 'Install'。
- 方法二: 打开 JADX GUI,点击菜单 'File' -> 'Plugins' -> 'Install plugin from file...',选择下载的 'jadx-ai-mcp-<version>.jar' 文件进行安装。
-
安装和启动 Python MCP 服务器:
- 解压 'jadx-mcp-server-<version>.zip' 到本地目录。
- 进入解压后的 'jadx-mcp-server' 目录。
- 按照 README.md 中的步骤安装 Python 依赖,推荐使用 'uv' 包管理器:
curl -LsSf https://astral.sh/uv/install.sh | sh uv venv source .venv/bin/activate # 或 .venv\Scripts\activate on Windows uv pip install httpx fastmcp
服务器配置 (MCP 客户端配置)
MCP 客户端 (例如 Claude Desktop) 需要配置 MCP 服务器的启动命令才能连接。配置信息通常为 JSON 格式。对于 Jadx AI MCP Server,你需要配置 JADX MCP Server (Python) 的启动命令。
以下是配置 Claude Desktop 连接 Jadx MCP Server 的示例配置 (修改 '~/.config/Claude/claude_desktop_config.json' 文件):
{ "mcpServers": { "jadx-mcp-server": { // 服务器名称,可以自定义 "command": "/<path>/<to>/uv", // uv 包管理器的路径,根据你的实际安装路径修改 "args": [ "--directory", "</PATH/TO/>jadx-mcp-server/", // jadx-mcp-server 目录的路径,根据你的实际解压路径修改 "run", "jadx_mcp_server.py" // 运行 jadx_mcp_server.py 脚本 ] } } }
注意:
- 请将 '<path>/<to>/uv' 替换为 'uv' 包管理器的实际路径。
- 请将 '</PATH/TO/>jadx-mcp-server/' 替换为 'jadx-mcp-server' 目录的实际路径。
- 'command' 和 'args' 描述了如何启动 独立的 Python MCP 服务器 ('jadx-mcp-server'), 而不是 JADX 插件内置的 HTTP 服务器。 JADX 插件的 HTTP 服务器会在 JADX GUI 启动时自动运行,无需额外配置启动命令。
基本使用方法
- 启动 JADX GUI: 打开 JADX GUI 并加载 APK 文件进行反编译。
- 启动 Claude Desktop (并配置 MCP 服务器连接): 确保 Claude Desktop 已经安装并运行,并且已按照上述 服务器配置 部分配置了连接 Jadx MCP Server。
- 连接 MCP 服务器: 在 Claude Desktop 中,你可能会看到一个 "锤子" 🔨 图标,表示 MCP 功能已启用。点击该图标,Claude Desktop 应该能够检测到并连接到 Jadx MCP Server。
- 使用 Prompt 进行代码分析: 在 Claude Desktop 中,可以使用自然语言 Prompt 与 JADX 反编译的代码进行交互。例如:
- 在 JADX GUI 中选中一段代码或一个类,然后在 Claude Desktop 中输入 Prompt: 'explain the selected code' (解释选中的代码) 或 'fetch currently selected class and perform quick sast on it' (获取当前选中的类并对其进行快速静态分析)。
- 权限允许: 首次使用时,Claude Desktop 可能会请求访问 JADX MCP Server 的权限,请允许访问。
- 开始代码分析: Claude 应该能够根据你的 Prompt 和 JADX 提供的代码上下文,进行代码解释、漏洞检测、逆向工程辅助等操作。
简而言之,你需要先安装 JADX 插件和 Python MCP 服务器,配置 Claude Desktop 连接 Python MCP 服务器,然后就可以在 JADX 中使用 Claude 进行 AI 辅助的代码分析了。
信息
分类
开发者工具