Ghidra MCP 快速上手教程从安装到反编译第一个函数10分钟搭建AI逆向工程环境【免费下载链接】ghidra-mcpGhidra MCP Server — 200 MCP tools for AI-powered reverse engineering. GUI plugin headless server, lazy tool loading, convention enforcement, batch operations, Ghidra Server integration, and Docker deployment.项目地址: https://gitcode.com/gh_mirrors/ghi/ghidra-mcpGhidra MCP Server是一个把 Ghidra 逆向工程能力接入 AI 客户端的 MCPModel Context Protocol服务器内置253 个 MCP 工具支持 GUI 插件、无头服务器和 Docker 部署。本教程带你用约 10 分钟完成 Ghidra MCP 安装并让 AI 反编译出你的第一个函数。一、Ghidra MCP 是什么为什么值得装Ghidra MCP 由两部分组成理解架构能让你少走弯路组件位置作用Ghidra 插件Javasrc/main/java/com/xebyte/在 Ghidra 内部启动 HTTP 服务器默认127.0.0.1:8089暴露 239 个端点MCP 桥接Pythonpython/bridge_mcp_ghidra/把 MCP 协议翻译成对 Ghidra 的 HTTP 调用AI 客户端通过它驱动 Ghidra无头服务器Javasrc/main/java/com/xebyte/headless/不需要 Ghidra GUI适合 Docker / CI 自动化分析它的核心卖点253 个工具反编译、重命名、类型标注、注释、结构体创建、P-code 模拟、动态调试读写全覆盖⚡批量操作一次调用处理多个对象API 调用量减少 93%约定强制执行命名规范匈牙利表示法内置在工具层AI 每次输出风格一致Docker 就绪无头模式可直接用于 CI/CD 流水线二、安装前准备确认 4 个依赖Ghidra MCP 的安装速度取决于依赖是否齐全。打开终端逐项确认依赖版本要求说明Java21 LTS推荐 OpenJDKMaven3.9构建后端Gradle 也可CI 使用 MavenGhidra12.1.3官方逆向工程平台Python3.10推荐搭配 uv 管理虚拟环境新手提示Ubuntu/Debian 上直接pip install可能报externally-managed-environment错误PEP 668不要用--break-system-packages绕过请改用uv或虚拟环境详见第六节常见问题。三、一键安装克隆仓库并部署插件以下步骤来自 README.md 官方快速开始章节。第 1 步克隆仓库git clone https://gitcode.com/gh_mirrors/ghi/ghidra-mcp cd ghidra-mcp第 2 步环境预检强烈建议preflight会验证 Python、构建工具、Ghidra 路径不做任何修改适合新手先跑一遍python -m tools.setup preflight --ghidra-path C:\ghidra_12.1.3_PUBLIC第 3 步构建并部署到 Ghidra# 安装 Ghidra JAR 依赖到本地 Maven 仓库每台机器一次 python -m tools.setup ensure-prereqs --ghidra-path C:\ghidra_12.1.3_PUBLIC # 构建插件 python -m tools.setup build # 部署安装扩展、启动 Ghidra、等待 MCP 健康检查 python -m tools.setup deploy --ghidra-path C:\ghidra_12.1.3_PUBLICdeploy命令会自动完成一整套工作保存并关闭正在运行的 Ghidra 实例如需要→ 安装用户配置扩展 → 等待 MCP 健康检查通过 → 执行 schema 冒烟检查。整个过程无需手动干预。⚠️版本一致性工具会强制校验pom.xml中的ghidra.version与你--ghidra-path中的版本段如ghidra_12.1.3_PUBLIC一致不一致会快速报错而不是静默构建出坏包。macOS 用户可直接brew install openjdk21 maven python ghidraGhidra 路径使用/opt/homebrew/opt/ghidra/libexec。四、在 Ghidra 中启动 MCP 服务器部署完成后启动 Ghidra 并操作 CodeBrowser 窗口File Configure Configure All Plugins GhidraMCP— 勾选启用插件Tools GhidraMCP Start MCP Server— 启动服务器服务器默认运行在http://127.0.0.1:8089/端口可在Edit Tool Options GhidraMCP HTTP Server中修改验证是否成功curl http://127.0.0.1:8089/check_connection # 预期输出: Connected: GhidraMCP plugin running with program name curl http://127.0.0.1:8089/get_version看到Connected字样说明 Ghidra 侧已就绪。五、反编译第一个函数接入 AI 客户端Ghidra 侧只是后端真正让 AI 驱动它的是 Python 桥接。运行方式uv run bridge-mcp-ghidra # 或: python -m bridge_mcp_ghidra然后把你使用的 AI 客户端Cursor、Claude Desktop 等的 MCP 配置指向桥接。以 stdio 方式为例.mcp.json{ mcpServers: { ghidra-mcp: { command: /home/you/.local/bin/uv, args: [run, --directory, /path/to/ghidra-mcp, bridge-mcp-ghidra, --transport, stdio], env: { GHIDRA_MCP_URL: http://127.0.0.1:8089 } } } }⚠️最常见的坑command必须写uv的绝对路径用which uv查询不能只写uv。GUI 启动的客户端继承的是系统 PATH 而非你的 shell PATH找不到命令会报spawn uv ENOENT且日志里没有任何线索。让 AI 执行一次典型反编译在 Ghidra 中打开一个二进制文件并运行Analysis Auto Analyze然后在 AI 客户端里直接提问AI 会按顺序调用这些工具步骤工具作用1get_metadata确认加载了哪个程序架构、入口基址、函数数2list_methods分页枚举所有函数名定位分析目标3get_entry_points找到程序入口作为分析起点4decompile_function反编译函数为 C 伪代码支持一次传多个函数5get_function_callers/get_function_callees沿调用图继续深入例如对 AI 说反编译入口函数解释它调用了哪些 APIAI 就会自动组合上述工具完成任务。这 4 个工具get_metadata、list_methods、get_entry_points、decompile_function恰好构成一个自足的只读最小集合——它们互相提供地址和名称形成闭环。 工具选择器search_tools可按关键词搜索全部 253 个工具load_tool_group可动态加载未注册的工具组如datatype、xref桥接默认采用懒加载避免一次性向 AI 塞入过多上下文。六、进阶玩法Docker 无头部署如果你想在 CI 或服务器上批量分析二进制而不需要 GUIDocker 是最快的路径。部署细节见 docker/README.mdcd docker export GHIDRA_MCP_AUTH_TOKEN$(openssl rand -hex 32) # 必填 docker compose up -d --build # 验证 curl -H Authorization: Bearer $GHIDRA_MCP_AUTH_TOKEN http://localhost:8089/check_connection这会拉起两个容器ghidra-mcp8089 端口REST API和ghidra-mcp-bridge8081 端口MCP over streamable-http。无头模式的典型 API 工作流# 加载二进制 → 自动分析 → 列函数 → 反编译 curl -X POST -d file/data/program.exe http://localhost:8089/load_program curl -X POST http://localhost:8089/run_analysis curl http://localhost:8089/list_functions?limit20 curl http://localhost:8089/decompile_function?address0x401000安全提醒服务器默认仅绑定127.0.0.1且无需认证适合单用户开发机。一旦暴露到回环地址之外必须先设置GHIDRA_MCP_AUTH_TOKEN否则服务器会拒绝启动。七、常见问题排查新手高频 3 问现象原因解决Tools菜单没有GhidraMCP插件未启用或未安装File Install Extensions确认 GhidraMCP 已列出 → 在 Configure All Plugins 中勾选 →重启 Ghidra客户端报spawn uv ENOENT客户端用自身 PATH 找不到uv配置中改用绝对路径或运行python -m tools.setup preflight获取可粘贴的配置片段服务器无响应 / Connection refused服务器未启动或端口被占确认已执行 Start MCP Serverlsof -i :8089Linux/macOS或netstat -ano \| findstr :8089Windows查端口占用更多诊断方法含三层架构排查Ghidra 插件 → 桥接 → 客户端会话见 docs/connection-triage-guide.md。八、下一步让 AI 系统性地文档化你的二进制装好环境只是开始。项目内置了一整套经过数百个真实函数打磨的 AI 工作流提示词位于 docs/prompts/函数文档化 V5 工作流FUNCTION_DOC_WORKFLOW_V5.md — 7 步标准流程命名 → 原型 → 类型审计 → 注释 → 完整性评分验证快速入门提示词QUICK_START_PROMPT.md — 简化版新手工作流孤儿代码发现ORPHANED_CODE_DISCOVERY_WORKFLOW.md — 自动扫描未发现的函数数据类型调查DATA_TYPE_INVESTIGATION_QUICK.md — 结构体发现与字段分析 完整提示词索引docs/prompts/README.md一个典型的 V5 循环调用analyze_for_documentation初始化 →rename_functionset_function_prototype并行改名定型 →rename_variables批量重命名变量 →batch_set_comments一次写完所有注释 → 最后用analyze_function_completeness拿到 0–100 分的文档完整性评分扣掉可修复项再复检。回顾本次旅程约 10 分钟内你完成了 Ghidra MCP 的克隆、构建、部署启动了插件服务器接入 AI 客户端并反编译了第一个函数。现在你可以继续深入完整 API 参考253 个工具按分类列出README.md项目结构与代码布局docs/PROJECT_STRUCTURE.md构建与版本管理命令全集docs/MAVEN_VERSION_MANAGEMENT.md 小提示批量操作和约定强制执行是这套工具与演示级 Ghidra MCP 的最大区别——工具层自带规范AI 无需在每次提示词里重复风格指南。祝逆向愉快️【免费下载链接】ghidra-mcpGhidra MCP Server — 200 MCP tools for AI-powered reverse engineering. GUI plugin headless server, lazy tool loading, convention enforcement, batch operations, Ghidra Server integration, and Docker deployment.项目地址: https://gitcode.com/gh_mirrors/ghi/ghidra-mcp创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
