G

Ghidra逆工

@LaurieWired/GhidraMCP
0 Stars 223 次浏览 LaurieWired 更新于 2026-08-23

一个MCP服务器,允许大型语言模型通过暴露Ghidra功能来自主逆向工程应用程序,实现反编译、分析以及方法和数据的自动重命名。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

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

服务介绍

License
GitHub release (latest by date)
GitHub stars
GitHub forks
GitHub contributors

ghidra_MCP_logo

ghidraMCP

ghidraMCP 是一个模型上下文协议(Model Context Protocol, 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-1.zip(或你选择的版本)
  5. 重启Ghidra
  6. 确保在 文件 -> 配置 -> 开发者 中启用了GhidraMCPPlugin
  7. 可选:通过 编辑 -> 工具选项 -> GhidraMCP HTTP 服务器 配置Ghidra中的端口

视频安装指南:

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",
        "http://127.0.0.1:8080/"
      ]
    }
  }
}

或者直接编辑此文件:

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

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

示例 2: 5ire

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

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

从源码构建

使用Maven构建,运行命令:

mvn clean package assembly:single

生成的 zip 文件包含了构建好的 Ghidra 插件及其资源。这些文件是 Ghidra 识别新扩展所必需的。

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

相关 MCP 服务