JEB Pro MCP服务器插件
项目简介
jebmcp 是一个为 JEB Pro 设计的 Model Context Protocol (MCP) 服务器插件。它作为 MCP 服务器,桥接了 LLM 客户端和 JEB Pro 反编译软件,使得 LLM 能够通过标准化的 MCP 协议,调用 JEB Pro 的强大功能,例如获取APK清单文件、反编译代码、查询方法调用关系等,从而辅助进行 APK 程序的安全分析、漏洞挖掘和逆向工程任务。
主要功能点:
- 连接性检查: 验证 MCP 服务器插件是否成功连接到 JEB Pro 软件。
- 获取 APK Manifest: 提取指定 APK 文件的 AndroidManifest.xml 内容。
- 获取方法反编译代码: 获取 APK 文件中指定方法的 Java 反编译代码。
- 获取类反编译代码: 获取 APK 文件中指定类的 Java 反编译代码。
- 获取方法调用者: 查找指定方法在 APK 文件中的所有调用者。
- 获取方法重写: 查找指定方法在 APK 文件中的所有重写实现。
安装步骤:
- 下载插件: 从 GitHub 仓库 https://github.com/flankerhqd/jebmcp 下载 'jebmcp' 仓库的 ZIP 文件或使用 Git 克隆仓库。
- 复制插件文件: 将 'jeb-mcp/src/jeb_mcp/MCP.py' 文件复制到 JEB Pro 软件的 scripts 目录下。通常 scripts 目录位于 JEB Pro 安装目录的 'bin' 或 'scripts' 子目录下。
- 重启 JEB Pro: 重新启动 JEB Pro 软件,使插件生效。
- 启动 MCP Server 插件: 在 JEB Pro 软件中,通过菜单 "Edit" -> "Scripts" -> "MCP (Ctrl+Alt+M 或 Ctrl+Option+M)" 启动 MCP 服务器插件。启动成功后,会在 JEB Pro 的控制台输出 "[MCP] Server started at http://localhost:16161" 等信息。
服务器配置 (MCP 客户端配置):
MCP 客户端需要配置以下 JSON 格式信息以连接到 jebmcp 服务器:
{ "serverName": "jebmcp", "command": "python", "args": [ "jeb-mcp/src/jeb_mcp/server.py" ], "cwd": "./" }
配置参数注释:
- 'serverName': 服务器名称,可以自定义,例如 "jebmcp"。
- 'command': 启动 MCP 服务器的命令。由于 'server.py' 是 Python 脚本,这里设置为 "python"。请确保您的系统环境变量中 'python' 指向的是 Python 解释器,如果使用 'python3',请将 'command' 修改为 "python3"。
- 'args': 启动命令的参数列表。这里指定了 'server.py' 脚本的相对路径。请注意,如果您的 MCP 客户端工作目录与 'jebmcp' 仓库根目录不同,您需要根据实际情况修改 'server.py' 的路径。
- 'cwd': MCP 服务器的工作目录。这里设置为 "./",表示当前工作目录。通常 MCP 客户端启动时的工作目录就是 jebmcp 仓库的根目录。
基本使用方法:
- 启动 MCP 服务器插件 (在 JEB Pro 中): 按照 "安装步骤" 中的说明在 JEB Pro 中启动 MCP 服务器插件。
- 配置 MCP 客户端: 在 LLM 客户端 (例如 Cline) 中,配置上述 JSON 格式的服务器配置信息,确保客户端能够找到并执行 'server.py' 脚本。
- 连接 MCP 服务器 (在 LLM 客户端中): 在 LLM 客户端中启动或连接到名为 "jebmcp" 的服务器。客户端会尝试执行配置的 'command' 和 'args' 来启动 'server.py' 脚本。
- 调用 MCP 工具 (在 LLM 客户端中): 连接成功后,LLM 客户端可以使用 MCP 协议调用 jebmcp 服务器提供的工具,例如:
- 调用 'check_connection' 工具检查连接状态。
- 调用 'get_manifest' 工具并传入 APK 文件路径,获取 Manifest 文件内容。
- 调用 'get_method_decompiled_code' 工具并传入 APK 文件路径和方法签名,获取方法反编译代码。
- ... 其他工具类似调用。
注意:
- 'filepath' 参数需要是绝对路径。MCP 客户端需要将 APK 文件的绝对路径传递给服务器。
- 'method_signature' 和 'class_signature' 参数需要是 完全限定签名,遵循 Dex 格式的签名规范。
- 确保 JEB Pro 软件已经加载了需要分析的 APK 文件,或者 MCP 工具能够根据 'filepath' 参数加载 APK 文件。