项目简介

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 文件中的所有重写实现。

安装步骤:

  1. 下载插件: 从 GitHub 仓库 https://github.com/flankerhqd/jebmcp 下载 'jebmcp' 仓库的 ZIP 文件或使用 Git 克隆仓库。
  2. 复制插件文件: 将 'jeb-mcp/src/jeb_mcp/MCP.py' 文件复制到 JEB Pro 软件的 scripts 目录下。通常 scripts 目录位于 JEB Pro 安装目录的 'bin' 或 'scripts' 子目录下。
  3. 重启 JEB Pro: 重新启动 JEB Pro 软件,使插件生效。
  4. 启动 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 仓库的根目录。

基本使用方法:

  1. 启动 MCP 服务器插件 (在 JEB Pro 中): 按照 "安装步骤" 中的说明在 JEB Pro 中启动 MCP 服务器插件。
  2. 配置 MCP 客户端: 在 LLM 客户端 (例如 Cline) 中,配置上述 JSON 格式的服务器配置信息,确保客户端能够找到并执行 'server.py' 脚本。
  3. 连接 MCP 服务器 (在 LLM 客户端中): 在 LLM 客户端中启动或连接到名为 "jebmcp" 的服务器。客户端会尝试执行配置的 'command' 和 'args' 来启动 'server.py' 脚本。
  4. 调用 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 文件。

信息

分类

开发者工具