项目简介
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 文件。
信息
分类
开发者工具