如何一次装对 REA 逆向工程 MCP 服务器:环境版本要求与报错排查指南
【免费下载链接】rea Reverse engineer anything with agents, from app behavior down to native binaries. 项目地址: https://gitcode.com/GitHub_Trending/rea2/rea
REA(Reverse Engineer Anything)是面向 AI Agent 的逆向工程 CLI + MCP 服务器,能从应用行为一路分析到原生二进制。上手时最常见的卡点不是用法,而是环境版本校验失败:Node 版本不在白名单、操作系统不被识别。本文按"先验后装"的思路,带你逐项倒查。
先别装,先跑一条只读的 doctor 自检
动手改系统之前,先跑 REA 内置的只读诊断 🩺:
npx -y rea-agents@latest doctor
npx -y rea-agents@latest doctor –json
doctor 会检查主机、Node 版本、分析引擎与 Agent 配置四件事,不做任何修改,可以放心重复运行。加 –json 得到结构化结果,遇到疑难时直接丢给 Agent 帮你定位。只想排查单个引擎时,用 rea doctor –provider ghidra –json 这样的作用域检查即可。
Node 23、25 为什么不行:按受测运行时家族校验
很多人以为"Node 22 以上就行"。实际上 REA 用 semver 的 satisfies 按受测运行时家族校验,约束是 ^22.19.0 || ^24.11.0 || >=26.0.0,定义在 src/domain/runtimeVersion.ts 中,并与 npm 包的 engines 字段保持同步:
| 22.x(≥22.19) | 支持 | 受测发布家族 |
| 23.x | 不支持 | 奇数实验分支,不受测 |
| 24.x(≥24.11) | 支持 | 受测发布家族 |
| 25.x | 不支持 | 奇数实验分支,不受测 |
| 26 及以上 | 支持 | 全部接受 |
| rc / beta 预发布 | 不支持 | 预发布版本一律拒绝 |
一条命令确认你手里的版本:
node -v # 例如 v22.19.0 / v24.11.2 / v26.x
npm 与 Node 配套即可,REA 不要求也不安装特定 npm 版本。
💡 REA 从不替你升级 Node.js、npm 或 Homebrew,版本不对只能自行切换。建议用 nvm 在 22/24/26 之间快速切换,避免全局污染。

操作系统兼容矩阵:macOS 12、Ubuntu 24.04 支持哪些系统
支持范围由 doctor 自检模块统一维护,校验失败的修复建议文案为 "REA supports macOS 12+, Ubuntu 24.04+, Fedora 41+, 64-bit Arch Linux, and CachyOS"。
| macOS | 12 或更高 | Hopper 可自动安装:官方 DMG 校验后装到 ~/Applications,不需要 Homebrew 和 sudo |
| Ubuntu | 24.04+ | 在 Hopper 自动化安装范围内 |
| Fedora | 41+ | 在 Hopper 自动化安装范围内 |
| Arch / CachyOS | 64 位 | 在 Hopper 自动化安装范围内 |
| Windows | 仅 x64 | 实验性 Ghidra P0 只读边界,非完整支持平台 |
两个容易踩的点:Linux 自动化只覆盖上表发行版,不在名单里的发行版请自备已装好的 Ghidra/IDA 手动配置;Linux 演示会话依赖 Xvfb、Python 3、X11 与 XTEST,这些依赖在你批准后由 setup 一并安装。Windows 目前仅支持本地 NTFS 上的 x64 原生 PE 只读分析,边界细节见 docs/windows-ghidra-p0.md。
Hopper、Ghidra、IDA 分析引擎的额外门槛
静态 JavaScript 分析只需要 Node/npm 运行时;要动原生二进制,还需自备引擎:
| Hopper | 独立商业软件 | 授权后由 setup 自动安装;免费 demo 有厂商限制 |
| Ghidra | 12.1.x + 64 位完整 JDK(当前需 21+) | REA 只连接、不下载安装 |
| IDA Pro | 通过上游 ida-pro-mcp | 自带 MCP 注册,REA 做适配 |
Ghidra 的校验最"挑":doctor 会核对安装声明的 application.java.min/max、JDK 是否为 64 位、javac 是否存在,还要求 JDK 运行架构与本机原生反编译器目录一致(Rosetta 下跑的 JDK 会被拒),完整细节见 docs/installation.md。路径就位后,用绝对路径导出再重跑自检:
export GHIDRA_INSTALL_DIR=/abs/path/ghidra_12.1.4_PUBLIC
export JAVA_HOME=/abs/path/jdk-21
rea doctor –json
doctor 常见报错文案怎么修
⚠️ 报错了先别慌,按下表对号入座;所有用户可见文案集中在 docs/user-visible-errors.csv:
| 运行时 | Runtime version is outside supported ranges | 装 Node.js 22.x(≥22.19)/ 24.x(≥24.11)/ 26+ |
| 主机 | Host OS/distribution is unsupported | 升级到 macOS 12+ / Ubuntu 24.04+ 等支持环境 |
| Hopper | 文件存在却报缺失 | 大概率缺动态库,用下面一招定位 |
| Ghidra | native_decompiler missing | 确认 Ghidra 包含本机架构反编译器,见 docs/installation.md |
Hopper"文件在、却报缺失"几乎都是动态库不全,一行命令见分晓:
ldd /path/to/Hopper | grep 'not found'
按输出补装缺失库,再重跑 rea doctor 即可。
环境就绪后,运行 npx rea-agents setup 就能把 REA 注册进你的 AI Agent;完整安装流程、curl 安装器选项与 MCP 注册细节,参见 docs/installation.md。
【免费下载链接】rea Reverse engineer anything with agents, from app behavior down to native binaries. 项目地址: https://gitcode.com/GitHub_Trending/rea2/rea
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



