什么是 REA?安装与安全使用
REA 是什么?
REA(Reverse Engineer Anything)是一款开源的逆向工程 MCP 服务器,采用 MIT 许可证,项目地址是 github.com/morluto/rea。它把你的 AI agent 连接到各种检查工具上,可以分析原生二进制文件、JavaScript 和 Electron 应用、.NET 程序集、网站等目标,让 agent 讲清楚某个功能是怎么实现的,并给出每个结论背后的证据。项目自己的一句话是:“看到喜欢的功能,就弄懂它是怎么实现的,一直深入到二进制层面。”
同一套工具也可以直接在终端里使用。按照项目的说明,分析在本地进行,结果会附上每个结论的证据和局限。
工作方式
你的 agent 通过 MCP 调用 REA,检查目标并追踪相关代码;REA 返回带证据的发现;agent 再据此追问、解释行为,或者为你自己的项目编写并测试实现。命令行工具走的是同一套流程。
能分析什么
README 列出了二十多种目标,下面是常见的几种:
| 目标 | REA 返回 | 需要准备 |
|---|---|---|
| 原生二进制文件 | 伪代码、汇编、字符串、符号、调用与引用 | Hopper、Ghidra 或 IDA |
| JavaScript/Electron | 模块、导入、source map、路由、IPC 与原生插件的关系 | Node.js 和 npm |
| 网站 | 页面结构、脚本、网络观察结果和指定的截图 | Chrome 系浏览器 |
| .NET 程序集 | 元数据、CIL 指令、声明的原生依赖和构建对比 | 无需额外工具(仅静态) |
| Android APK | Manifest 声明、类、反编译的方法与引用 | 无头模式的 JADX 和完整 JDK |
| Go 可执行文件 | 内嵌的编译器版本、模块、replace 和构建设置 | 无需额外工具(内置) |
其他还有 WebAssembly、EVM 字节码、SQLite 数据库、固件、录制的网络和数据包抓包、进程行为等,各有各的要求。REA 本身需要 Node.js 22.x(22.19 及以上)、24.x(24.11 及以上)或 26 以上,以及 npm。分析目标指南 做了汇总。
一条命令完成配置
装好 Node.js 和 npm 后运行:
npx rea-agents setup
选择要配置的 agent,检查它提出的改动并确认。配置程序会添加 REA 的 MCP 服务器和对应的工作流说明,并备份原有配置。完成后重启 agent。支持 Claude Code、Codex、Cursor、Gemini CLI、Grok Build 等 agent;安装指南 介绍了每个步骤、手动注册和更新方法。
问你的 agent
README 的示例提示词说明了典型用法:
Understand how search works in the Notes app, show me the evidence, and build a
similar feature for my project.
把应用和功能换成你自己的目标,而且必须是你有权检查的目标。
REA 适合做什么、不适合做什么
项目说明 REA 用于合法研究、教学、互通性、软件保存,以及分析你拥有或获授权检查的软件。它的免责声明把安全研究、恶意软件与事件分析、遵循协调披露的漏洞研究、CTF,以及调试自己的软件列为预期用途。
项目不支持、也不会协助:
- 规避 DRM、授权检查、反作弊系统或其他技术保护措施;
- 开发游戏外挂或篡改在线服务;
- 在你未获授权测试的系统上绕过身份验证或访问控制;
- 复制专有软件,或复刻其受保护的代码与素材。
你需要自行获得必要的授权,并遵守法律和相关许可条款。IDA、Hopper、JEB 等商业工具必须合法获取,REA 不提供这些工具的授权。本站也遵循同样的原则,详见内容规范。
关于本站
REA MCP 是由社区运营的独立目录,整理大家用 REA 做过的事,与 REA 项目及其维护者没有隶属、背书或赞助关系。官方来源是 GitHub 仓库 和项目网站 rea.tools。
热门 REA 使用案例
已上线的案例,按社区票数再按 GitHub 星标数排序,自动更新。
- 在基于 Fedora 的 Linux 上运行 REA:设置说明与注意事项★ 156,486
- My local model setup for REA on Linux (one 12 GB GPU)★ 156,486
- 减少 REA 工作流中的词元浪费★ 156,486
- 对生产环境 Next.js 和 Stripe 应用的外部泄漏检查★ 156,484
- REA (Reverse Engineer Anything)★ 156,483
- 一个被剥离符号的 bzip2 构建:REA 返回了什么,并与源代码核对★ 156,483
- 基准测试:REA 在 Linux 上跨 Node 版本及五个本地模型的测试★ 156,482
- OpenBattlefield2:洁净室引擎重实现★ 41
- Reconstructing DX-Ball 1.07★ 40
- TH04 source reconstruction★ 29
FAQ
REA 是什么?
REA(Reverse Engineer Anything)是采用 MIT 许可证的开源 MCP 服务器,项目地址是 github.com/morluto/rea。它把你的 AI agent 连接到检查原生二进制文件、JavaScript 和 Electron 应用、.NET 程序集、网站等目标的工具上,让 agent 能讲清楚某个功能是怎么实现的,并给出每个结论背后的证据。
REA 怎么安装?
先装好 Node.js 和 npm,运行 npx rea-agents setup,选择要配置的 agent,检查它提出的改动并确认,最后重启 agent。配置程序会添加 REA 的 MCP 服务器和对应的工作流说明,并备份原有配置。
哪些 agent 能用 REA?
任何支持本地 MCP 服务器的 agent 都可以。配置程序支持 Claude Code、Codex、Cursor、Gemini CLI、Grok Build 等 agent;其他客户端可以按项目安装文档的说明手动注册服务器。
一定要有 Hopper、Ghidra 或 IDA 吗?
只有深入的原生分析才需要。JavaScript 和 .NET 的静态检查不需要原生分析引擎。配置程序可以在你同意后安装 Hopper;Ghidra 和 IDA 则使用你已安装的版本,商业工具必须合法获取并拥有授权。
REA MCP 是 REA 的官方网站吗?
不是。REA MCP 是独立的社区目录,整理 REA 的使用案例,与 REA 项目及其维护者没有隶属、背书或赞助关系;官方来源是 github.com/morluto/rea 和 rea.tools。
REA 会上传我的应用吗?
按照项目的说明,REA 在本地分析目标。你的 agent 会收到工具返回的结果,而 agent 使用的模型提供商有自己的数据政策,分析敏感内容前请先确认。
REA 适合做什么?不适合做什么?
项目说明 REA 用于合法研究、教学、互通性、软件保存,以及分析你拥有或获授权检查的软件。它不支持破解、规避 DRM 或授权、游戏外挂,也不支持攻击你无权测试的系统;REA MCP 也只收录合法用途。
怎样让 REA 保持最新?
如果你是用 npx 配置的 REA,运行 npx rea-agents@latest setup,检查改动后重启 agent。如果你用 npm 或 Bun 全局安装了 CLI,运行 rea update,再运行它输出的配置命令来更新 agent 的注册。