REA 对比 GhidraMCP、ida-pro-mcp、r2mcp 与 Binary Ninja MCP
本页目录
先说结论: 这几个项目解决的问题并不完全一样。GhidraMCP、ida-pro-mcp、r2mcp 和 Binary Ninja 的 MCP 插件,各自把一个反汇编器接给 AI agent,通常能用到该引擎的大部分能力,包括修改数据库。REA(morluto 维护的开源项目)是一个更宽的 MCP 服务器:原生代码可以走 Hopper、Ghidra 或 IDA 多个引擎,另外还覆盖 JavaScript/Electron、.NET、Android、网站、固件等非原生目标,并把结果包装成带限制说明的 Evidence。如果你长期只用一个反汇编器、希望 agent 直接在里面干活,单引擎方案更直接;如果你的目标格式五花八门,或者需要可复现的证据,REA 更合适。两者也可以搭配:REA 的 IDA provider 本身就是建立在 ida-pro-mcp 之上的。
本文写给正在挑选 AI 辅助逆向 MCP 方案的开发者,从覆盖范围、后端、安装、价格与许可证、适用场景几个维度做对比。
方法和时间。 关于其他项目的信息,均于 2026-10-13 对照其仓库、Release 页面和厂商定价页查证,结论截至 2026-10。REA 的信息来自其 6.4.0 版本的仓库文档。这个领域变化很快,关键信息请以文末链接为准。查不到确证的地方,表格里写未查证。刻意没有列 star 数:它基本说明不了是否适合你的任务。
各项目概览
REA(morluto/rea)。基于 Node.js 的 MCP 服务器加 CLI(rea)。原生分析通过 provider 完成:Hopper、Ghidra,或 IDA(通过已有的 IDA MCP 服务器接入)。此外还覆盖 JavaScript/Electron、.NET、Android(JADX、Apktool、ADB)、JEB 项目、网站、保存的抓包文件、SQLite、固件(Binwalk/Unblob)、数据包抓包等,每类目标各有前置条件。结果以 Evidence 形式返回,带摘要和限制说明,可以存成快照。MIT 许可证。来源:README、安装文档。
GhidraMCP(LaurieWired/GhidraMCP)。一个 Ghidra 扩展,在 Ghidra 内部起一个 HTTP 服务(默认 localhost:8080),再配一个 Python 写的 MCP 桥(ghidra-mcp)。另有 headless 模式,用 PyGhidra 在不开 GUI 的情况下导入和分析二进制。README 针对 Ghidra 12.1.4,列出的功能有反编译、重命名方法和数据、列出方法/类/导入/导出。Apache-2.0。最新 GitHub Release 为 2.0,发布于 2026-10-10(releases)。
ida-pro-mcp(mrexodia/ida-pro-mcp)。面向 IDA Pro 的 MCP 服务器。推荐模式是 idalib-mcp:一个 headless 监管进程,每个数据库跑在独立的 idalib worker 里;旧的 GUI 插件 README 说已不再推荐。工具分组包括反编译/反汇编/交叉引用、修改(注释、patch、类型)、内存读取、栈帧和结构体、搜索、调用图、可选的调试器扩展,以及 py_eval。要求 IDA Pro 8.3+(推荐 9),README 明确写着 不支持 IDA Free;需要 Python 3.11+ 和 uv。MIT。GitHub 上最新的 Release 是 1.4.0(2025-10-06),之后还有一个没有 Release 页面的 1.5.0 tag(2025-11-18);默认分支仍在活跃更新(最近一次推送 2026-09-26),安装走分支或插件市场。值得注意的是,README 顶部现在写着:“I recommend using the Official Hex-Rays IDA MCP Server instead”,即 HexRaysSA/ida-mcp(要求 IDA 9.4+ 及 idalib,MIT,最新 Release v20261008.0.1)。
r2mcp(radareorg/radare2-mcp)。radare2 的 MCP 服务器,用 C 基于 r2 原生 API 编写。可作为 stdio 服务器、r2 core 插件,或带可选会话复用和 bearer token 认证的 HTTP 服务器运行。支持只读模式、沙箱锁、限制工具集,也可选择开放原始 r2 命令或 r2js 脚本执行。安装方式有 r2pm -Uci r2mcp、Docker 或源码编译。MIT。最新 Release 1.8.8,发布于 2026-09-06。
Binary Ninja MCP(fosdickio/binary_ninja_mcp)。引用最多的社区插件:Binary Ninja 内的 MCP 服务器加一个桥(npx -y binary-ninja-mcp 或旧版 Python 桥)。功能包括反编译、HLIL/MLIL/LLIL、重命名、注释、类型、交叉引用、字符串、hexdump、字节 patch、多文件同时打开。Python 3.12+。GPL-3.0。最新 Release v1.2.1(2026-03-22),默认分支 2026-10 仍有推送。Vector35 官方另有一个 beta 阶段的 Sidekick MCP 服务器,把 Sidekick 的工作区和 agent 暴露给外部客户端(Sidekick 文档),本文不对它做评估。
对比表
截至 2026-10。“引擎费用”指底层反汇编器的费用,不是 MCP 服务器本身。
| REA | GhidraMCP | ida-pro-mcp | r2mcp | Binary Ninja MCP(fosdickio) | |
|---|---|---|---|---|---|
| 覆盖范围 | 多引擎原生分析,外加 JS/Electron、.NET、Android、Web、固件等 | Ghidra 程序 | IDA Pro 数据库 | radare2 会话 | Binary Ninja 视图 |
| 后端 | Hopper、Ghidra 12.1.x(headless、临时项目),或通过上游 IDA MCP 接入 IDA;部分格式用内置解析器 | Ghidra 12.1.4(GUI 扩展或 PyGhidra headless) | IDA Pro,经 idalib(headless)或 GUI 插件 | radare2(C 原生 API) | Binary Ninja 插件(GUI) |
| 服务器语言 | TypeScript / Node.js | Java 扩展 + Python 桥 | Python | C | Python 插件 + Node 或 Python 桥 |
| 安装 | npx rea-agents setup(自动配置支持的 agent) |
在 Ghidra 里装 Release zip,再用 uvx 启动桥 |
Claude Code / Codex 插件市场,或从 GitHub pip 安装后 ida-pro-mcp --install |
r2pm -Uci r2mcp、Docker 或源码 |
Binary Ninja 插件管理器,或克隆到插件目录 |
| 运行依赖 | Node.js 22.19+/24.11+/26+;各引擎自身依赖 | Ghidra + JDK 21,Python 3.10+ 或 uv |
IDA Pro 8.3+、Python 3.11+、uv |
radare2 | Binary Ninja、Python 3.12+ |
| 能否写数据库 | Linux/macOS 上的 Ghidra:函数名和入口注释,关闭即丢弃;Windows Ghidra 只读 | 可重命名方法和数据 | 注释、patch、类型、函数定义等 | 可以,也可开只读模式 | 重命名、注释、类型、字节 patch |
| MCP 服务器许可证 | MIT | Apache-2.0 | MIT | MIT | GPL-3.0 |
| 引擎费用 | Ghidra 免费;Hopper、IDA 为商业软件(Hopper 有演示模式) | 免费(Ghidra 为 Apache-2.0) | IDA Pro 为商业软件 | 免费(radare2 开源,具体 SPDX 未查证) | 商业软件;Free 版不支持插件 |
| 最新版本(2026-10) | npm 6.4.0(2026-10-11) | 2.0(2026-10-10) | 1.4.0 Release(2025-10-06),1.5.0 tag(2025-11-18),分支活跃 | 1.8.8(2026-09-06) | v1.2.1(2026-03-22),分支活跃 |
引擎价格(2026-10-13 查看厂商页面):
- IDA:Hex-Rays 列出 IDA Free 免费(x86/x64,云端反编译器),IDA Home 每年 $365 起,IDA Pro 各档每年 €1,099 起,headless OEM 授权需联系销售(定价页)。ida-pro-mcp 需要 IDA Pro。IDA Home 能否配合 ida-pro-mcp 或 idalib 使用:未查证。
- Binary Ninja:Vector35 列出 Free($0,不支持插件)、Personal/非商业($199,仅 GUI 内插件,无 headless)、Commercial($1,799,支持 headless)、Ultimate($3,499)(购买页)。fosdickio 插件运行在 GUI 内,因此至少需要 Personal。Personal 版下是否所有功能都可用:未查证。
- Hopper(REA 可用的引擎之一):商业软件,有厂商规定的免费演示模式,见 REA 安装文档。
分维度说明
覆盖范围
单引擎服务器能暴露的就是引擎本身的能力,而且通常挖得很深:ida-pro-mcp 能碰到栈帧、结构体、类型推断、调试器扩展,还能通过 py_eval 执行任意 IDAPython;r2mcp 能直接透传 r2 命令和 r2js 脚本;Binary Ninja 插件把三层 IL 都开放了;GhidraMCP 则专注于“读代码 + 重命名”这条核心循环。
REA 用一部分单引擎深度换取了广度。它的 Ghidra 适配器提供 25 个只读操作加少量会话内的命名修改,详见 ghidra-provider.md。差异主要在原生代码之外:Electron ASAR 和 IPC 追踪、.NET 元数据和 CIL、通过 JADX 反编译 APK、浏览器和 HAR 抓包、Binwalk/Unblob 固件解包、崩溃记录等。每类目标都有自己的主机要求,其中固件、数据包抓包、信号记录、崩溃记录等只支持 Linux,其中部分只在 Linux x64 上验证过。
后端与分析方式
GhidraMCP、ida-pro-mcp 和 Binary Ninja 插件可以挂到你正在打开的引擎上,你和 agent 看到的是同一个数据库。这让它们很适合“结对逆向”:你在 GUI 里改个名字,agent 马上能看到。
REA 的 Ghidra provider 则是把每个目标导入一个临时项目,用完就删。可执行文件字节从不改动,命名修改在关闭时丢弃。交互性差一些,但可复现性更好,也正好配合 REA 的快照:结果按目标字节、操作、参数、provider 和设置做键(cli.md)。需要 GUI 交互时,REA 推荐 Hopper。对 IDA,REA 可以通过 ida-pro-mcp 1.4.0 的旧版工具挂到一个已打开的 GUI 数据库上,并用 IDA 记录的输入 SHA-256 核对目标(ida-provider.md)。
安装
- REA:
npx rea-agents setup会先给出变更计划,确认后写入 agent 注册和 skill 文件,并备份原配置。引擎另装:它从不安装 Ghidra、Java 或 Python,只是可以在你确认后选择安装 Hopper。用rea doctor --provider ghidra --json检查就绪状态。 - GhidraMCP: 在 Ghidra 的 File > Install Extensions 里装 Release zip,启用插件,再把用
uvx启动的桥注册到客户端。 - ida-pro-mcp: 先用 IDA 自带的
py-activate-idalib.py激活 idalib,再通过 Claude Code 或 Codex 插件市场安装,或从 GitHub 压缩包 pip 安装。 - r2mcp: 已装好 radare2 的话,一条
r2pm命令即可。 - Binary Ninja MCP: 从 Binary Ninja 插件管理器安装,可自动配置多个客户端。
许可证
五个 MCP 服务器都是开源的。四个是宽松许可证(MIT 或 Apache-2.0);fosdickio 的 Binary Ninja 插件是 GPL-3.0,如果你打算修改并再分发就要注意。真正更关键的往往是引擎的许可。REA 的 README 明确要求 IDA Pro、Hopper、JEB 等商业工具必须合法获取并按其许可使用,REA 不提供任何授权或激活。
怎么选
- 你本来就用 IDA Pro,希望 agent 直接在你的数据库里干活: 选 ida-pro-mcp;如果是 IDA 9.4+,也可以用 Hex-Rays 官方的 IDA MCP。能改数据库、改类型、用调试器。
- 想要一套以 Ghidra 为核心的免费方案,并且习惯在 GUI 里工作: GhidraMCP。
- 常用 radare2、用 r2pipe 写脚本,或者需要一个带只读和沙箱开关的轻量 C 程序: r2mcp。
- 用的是 Binary Ninja Personal 或 Commercial,想要 IL 级别的访问: Binary Ninja MCP 插件,也可以评估官方 beta 的 Sidekick MCP。
- 目标类型混杂(一个原生辅助程序加 Electron 前端、一个 APK、一个固件镜像),或需要能保存和对比的证据: REA。如果你想用一个 MCP 注册、按目标在 Hopper/Ghidra/IDA 之间切换,它也是合理的选择。
同时装多个也没问题,但要在客户端配置里给每个服务器起不同的名字。Hex-Rays 的 README 建议禁用其他 IDA MCP 服务器以免 agent 混淆,两个服务器工具名相近时同理。
常见问题
REA 能替代 GhidraMCP 吗? 不完全是。两者都用 Ghidra 12.1.x,但 GhidraMCP 挂在你的交互式项目上,REA 用的是临时的 headless 导入。看你要的是共享 GUI 状态,还是隔离、可复现的运行。
REA 必须用 IDA 吗? 不需要。原生分析可以用 Hopper、Ghidra 或 IDA;JavaScript 和 .NET 的静态分析不需要任何原生引擎(README FAQ)。
ida-pro-mcp 能配 IDA Free 吗? 它的 README 说不行。REA 文档里提到一个可选的独立原生桥 ida-free-mcp,支持 IDA Pro 和 IDA Free;注意 REA 的提醒:它的 1.1.2 版本会绑定 0.0.0.0,需要用防火墙限制访问。
哪个最快? 未查证。没有找到中立的基准测试,而且速度主要取决于引擎的自动分析,而不是 MCP 这一层。
拿它们分析不可信的二进制安全吗? 静态分析不会运行目标,但各个服务器的网络暴露方式不同(HTTP 端口、认证选项)。请绑定到 loopback,阅读各项目的安全说明,并且只分析你有权分析的软件。参见 REA 的 DISCLAIMER.md。
下一步
- 安装 REA 并接入 agent:REA 安装与接入。
- 看免费的 Ghidra 路线实操:REA + Ghidra 原生二进制分析。
- 试试非原生目标:Electron 应用分析 或 Android APK 分析。
- 了解 Evidence 和快照如何让结果可比:Evidence、快照与版本对比。
来源(2026-10-13 查看)
- REA:README、安装文档、Ghidra provider、IDA provider、CHANGELOG
- GhidraMCP:仓库、releases
- ida-pro-mcp:仓库;Hex-Rays IDA MCP:仓库、公告
- r2mcp:仓库
- Binary Ninja MCP:fosdickio/binary_ninja_mcp、Sidekick MCP 文档
- 定价:Hex-Rays、Binary Ninja