返回市场
吉德拉MCP

吉德拉MCP

作者:LaurieWired6561 星标更新:2025-06-23

项目介绍

License GitHub release (latest by date) GitHub stars GitHub forks GitHub contributors Follow @lauriewired

ghidra_MCP_logo

ghidraMCP

ghidraMCP 是一个模型上下文协议(MCP)服务器,允许大型语言模型(LLMs)自主反向工程应用程序。它提供了从核心 Ghidra 功能到 MCP 客户端的各种工具。

https://github.com/user-attachments/assets/36080514-f227-44bd-af84-78e29ee1d7f9

特性

MCP 服务器 + Ghidra 插件

  • 在 Ghidra 中反编译和分析二进制文件
  • 自动重命名方法和数据
  • 列出方法、类、导入和导出

安装

预备条件

Ghidra

首先,从这个仓库下载最新的 发布版本。这包含 Ghidra 插件和 Python MCP 客户端。然后,你可以直接将插件导入到 Ghidra 中。

  1. 运行 Ghidra
  2. 选择 文件 -> 安装扩展
  3. 点击 + 按钮
  4. 从下载的发布版本中选择 GhidraMCP-1-2.zip(或你选择的版本)
  5. 重启 Ghidra
  6. 确保在 文件 -> 配置 -> 开发者 中启用了 GhidraMCPPlugin
  7. 可选:通过 编辑 -> 工具选项 -> GhidraMCP HTTP 服务器 来配置端口

视频安装指南:

https://github.com/user-attachments/assets/75f0c176-6da1-48dc-ad96-c182eb4648c3

MCP 客户端

理论上,任何 MCP 客户端都应该能与 ghidraMCP 兼容。以下给出三个示例。

示例 1:Claude Desktop

要将 Claude Desktop 设置为 Ghidra MCP 客户端,请转到 Claude -> 设置 -> 开发者 -> 编辑配置 -> claude_desktop_config.json 并添加以下内容:

{
  "mcpServers": {
    "ghidra": {
      "command": "python",
      "args": [
        "/ABSOLUTE_PATH_TO/bridge_mcp_ghidra.py",
        "--ghidra-server",
        "http://127.0.0.1:8080/"
      ]
    }
  }
}

或者直接编辑此文件:

/Users/YOUR_USER/Library/Application Support/Claude/claude_desktop_config.json

服务器 IP 和端口是可配置的,并应指向目标 Ghidra 实例。如果未设置,默认值为 localhost:8080。

示例 2:Cline

要在 Cline 中使用 GhidraMCP,还需要手动运行 MCP 服务器。首先运行以下命令:

python bridge_mcp_ghidra.py --transport sse --mcp-host 127.0.0.1 --mcp-port 8081 --ghidra-server http://127.0.0.1:8080/

唯一 必需 的参数是传输方式。如果其他所有参数未指定,则默认为上述设置。一旦 MCP 服务器运行起来,打开 Cline 并在顶部选择 MCP 服务器

Cline 选择

然后选择 远程服务器 并添加以下内容,确保 URL 匹配 MCP 主机和端口:

  1. 服务器名称:GhidraMCP
  2. 服务器 URL:http://127.0.0.1:8081/sse

示例 3:5ire

另一个支持后端多个模型的 MCP 客户端是 5ire。要设置 GhidraMCP,请打开 5ire 并转到 工具 -> 新建 并设置以下配置:

  1. 工具键:ghidra
  2. 名称:GhidraMCP
  3. 命令:python /ABSOLUTE_PATH_TO/bridge_mcp_ghidra.py

从源代码构建

  1. 将以下文件从你的 Ghidra 目录复制到该项目的 lib/ 目录:
  • Ghidra/Features/Base/lib/Base.jar
  • Ghidra/Features/Decompiler/lib/Decompiler.jar
  • Ghidra/Framework/Docking/lib/Docking.jar
  • Ghidra/Framework/Generic/lib/Generic.jar
  • Ghidra/Framework/Project/lib/Project.jar
  • Ghidra/Framework/SoftwareModeling/lib/SoftwareModeling.jar
  • Ghidra/Framework/Utility/lib/Utility.jar
  • Ghidra/Framework/Gui/lib/Gui.jar
  1. 使用 Maven 构建,运行:

mvn clean package assembly:single

生成的 zip 文件包括构建的 Ghidra 插件及其资源。这些文件对于 Ghidra 识别新扩展是必需的。

  • lib/GhidraMCP.jar
  • extensions.properties
  • Module.manifest