Token导航 LogoToken导航TokenDH.com
Ghidra MCP (Athukarad109) logo
AI代理stdio官方级别未说明来源级核验

Ghidra MCP (Athukarad109)

MCP Server

Ghidra MCP桥接服务是一个本地HTTP桥接器,使AI助手能够通过REST API与Ghidra交互,实现程序信息查询、函数管理、字节修补和注释设置等功能。

工具数

9

提示词数

0

GitHub Stars

3

资源数

0
逆向工程JavaClaudeClaude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

athukarad109

提供方

athukarad109

最后核验

2026/5/17 20:42

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install fastmcp requests

详细介绍

Ghidra MCP桥

一个模型上下文协议(MCP)服务器,为AI助手提供通过本地HTTP桥与Ghidra交互的能力。该项目使AI工具能够在Ghidra中查询程序信息、列出函数、重命名函数、修补字节和设置注释。

概述

该项目由两个主要部分组成:

  1. Ghidra扩展 (McpBridge):一个Java插件,在Ghidra内部运行HTTP服务器,通过REST API端点公开程序数据和操作。
  2. MCP 服务器 (mcp_server):一个基于Python的MCP服务器,连接到Ghidra网桥,为AI助手提供工具。

先决条件

在设置此项目之前,请确保已安装以下内容:

  • 吉德拉:版本12.0或兼容(从下载 Ghidra官方网站)
  • Java开发工具包(JDK):版本11或更高版本(构建Ghidra扩展所需)
  • Gradle:7.0或更高版本(用于构建扩展)
  • python:3.8或更高版本
  • :Python包管理器

安装说明

步骤1:配置Ghidra安装路径

构建脚本需要知道Ghidra的安装位置。编辑 build.gradle 两个扩展目录中的文件:

  1. 打开 McpBridge/build.gradle
  2. 更新 ghidraInstallDir 匹配Ghidra安装的路径:
ext.ghidraInstallDir = "D:/ghidra_12.0_PUBLIC_20251205/ghidra_12.0_PUBLIC"

将路径替换为实际的Ghidra安装目录。在Windows上,使用正斜杠(/)或逃过一劫(\\).在Linux/Mac上,使用适当的路径格式。

备注:如果你有 ghidra_extension 目录,更新其 build.gradle 文件也是。

第二步:构建Ghidra扩展

  1. 导航到 McpBridge 目录:
   cd McpBridge
  1. 使用Gradle构建扩展:
   gradle buildExtension

这将在 McpBridge/dist/ 目录(例如。, ghidra_12.0_PUBLIC_20260109_McpBridge.zip).

  1. 如果你也有 ghidra_extension 目录,以类似的方式构建它:
   cd ../ghidra_extension
   gradle buildExtension

步骤3:在Ghidra中安装扩展

  1. 启动Ghidra。
  1. 首选 File → 安装扩展。..
  1. 点击 + 按钮(或“添加扩展名”)并导航到您构建的ZIP文件:

- 地点: McpBridge/dist/ghidra_12.0_PUBLIC_YYYYMMDD_McpBridge.zip

  1. 选中“McpBridge”旁边的框以启用它。
  1. 点击 好的 并在提示时重新启动Ghidra。
  1. 重新启动后,打开一个项目并加载一个程序。MCP网桥插件将自动启动并监听 http://127.0.0.1:17664.

您应该在Ghidra的控制台中看到一条消息: MCP Bridge listening on http://127.0.0.1:17664

步骤4:安装Python依赖项

  1. 导航到 mcp_server 目录:
   cd mcp_server
  1. 安装所需的Python包:
   pip install fastmcp requests

或者,如果您更喜欢使用虚拟环境:

   python -m venv venv
   source venv/bin/activate  # On Windows: venv\Scripts\activate
   pip install fastmcp requests

步骤5:运行MCP服务器

  1. 确保Ghidra在加载程序的情况下运行(网桥必须处于活动状态)。
  1. 启动MCP服务器:
   python server.py

服务器将连接到Ghidra网桥 http://127.0.0.1:17664 并公开以下MCP工具:

- ghidra_health:检查Ghidra桥是否可达 - get_current_program:获取当前程序名称和映像库 - list_functions:列出当前程序中的函数 - get_function_context:获取函数的原型/被调用者/字符串(+可选的反编译文本) - rename_function:在特定入口地址重命名函数 - auto_rename_functions:批量建议/应用默认重命名 FUN_/sub_ 名字 - scan_anti_debug:扫描常见的反调试启发法(API调用+指令助记符) - patch_bytes:特定地址的补丁字节 - set_comment:在地址处设置行尾注释

配置

更改网桥端口

默认情况下,Ghidra网桥在端口上运行 17664。要更改此设置,请执行以下操作:

  1. 编辑 McpBridge/src/main/java/ghidramcp/McpBridgePlugin.java
  2. 找到这条线: server = HttpServer.create(new InetSocketAddress("127.0.0.1", 17664), 0);
  3. 将端口号更改为所需的端口。
  4. 重建扩展并更新 BRIDGE 恒定于 mcp_server/server.py 为了匹配。

MCP服务器配置

MCP服务器连接到网桥 http://127.0.0.1:17664 默认情况下。要更改此设置,请编辑 BRIDGE 恒定于 mcp_server/server.py:

BRIDGE = "http://127.0.0.1:17664"

用法

一旦一切就绪:

  1. 启动Ghidra 并打开一个程序(当插件加载时,桥会自动启动)。
  2. 启动MCP服务器 通过跑步 python mcp_server/server.py.
  3. 连接您的MCP客户端 (例如,Claude Desktop、Cursor)连接到MCP服务器。

AI助手现在可以通过MCP工具与Ghidra交互,使其能够:

  • 查询程序信息
  • 列出并分析功能
  • 重命名函数
  • 修补二进制数据
  • 向代码添加注释

故障排除

扩展未加载

  • 验证ZIP文件名中的Ghidra版本是否与Ghidra安装相匹配。
  • 检查Ghidra的控制台是否有错误消息。
  • 确保在中启用了扩展 File → 安装扩展。...

桥未启动

  • 确保在Ghidra中加载了程序(网桥需要活动的程序上下文)。
  • 检查端口17664是否已被其他应用程序使用。
  • 查看Ghidra的控制台是否有错误消息。

MCP服务器连接错误

  • 验证Ghidra是否在加载程序的情况下运行。
  • 手动测试电桥: curl http://127.0.0.1:17664/health 应返回 {"ok":true}.
  • 确保 BRIDGE URL在 server.py 匹配网桥地址和端口。

构建错误

  • 验证您的 ghidraInstallDir 路径在 build.gradle 是正确的。
  • 确保您拥有正确的Java版本(JDK 11+)。
  • 确保Gradle可以访问Ghidra安装目录。

项目结构

ghidra_mcp/
├── McpBridge/              # Main Ghidra extension
│   ├── src/
│   │   └── main/java/ghidramcp/
│   │       └── McpBridgePlugin.java
│   ├── build.gradle
│   └── dist/               # Built extension ZIP files
├── ghidra_extension/       # Alternative/older extension (if present)
├── mcp_server/             # Python MCP server
│   └── server.py
└── README.md

目录标签

目录标签

逆向工程JavaClaude本地部署AI集成程序分析二进制修补自动化工具

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

9

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP