REA:40 万星的开源逆向分析 MCP,让编程智能体看懂任何软件

REA 在 Hopper 中启动分析桥、检查原生二进制文件的截图
REA 在 Hopper 中分析原生二进制文件。图片来源:REA 仓库 README。

REA(Reverse Engineer Anything)是一个开源的 MCP 服务器:它把逆向分析工具交给编程智能体,让智能体在没有源代码的情况下检查一款软件、解释某个功能是怎么实现的,并给出背后的证据与尚未确认的部分。项目仓库为 morluto/rea,采用 MIT 协议。截至本文核实,仓库已有 408,123 个 Star、102,188 个 Fork。

README 的一句话定位是:“看到一个喜欢的功能,了解它如何工作,一直到二进制层面。”分析在本地进行,结论会附上证据和局限;智能体再根据这些发现追问、解释,或者动手写一个类似实现并测试。

它能分析什么

REA 覆盖的目标类型很广,返回的内容与前置要求各不相同:

  • 原生二进制文件:伪代码、汇编、字符串、符号、调用与引用;需要 Hopper、Ghidra、IDA 或 Kuna。
  • JavaScript / Electron 应用:模块、导入、source map、路由、IPC 与原生插件关系;静态分析不需要原生分析引擎。
  • 网站:页面结构、脚本、网络观测与请求的截图;需要 Chrome 系浏览器。
  • .NET 程序集:元数据、CIL 指令、声明的原生依赖与构建对比;纯静态分析。
  • Android APK:清单声明、类、反编译后的方法与引用;需要 headless JADX 与完整 JDK。还可单独检查 APK 签名、资源与 Flutter 应用。
  • 固件、抓包与信号:固件分区与提取结果、HAR / SAZ 抓包、pcap 摘要、逻辑信号解码;各有对应的外部工具要求。
  • 模型与数据文件:GGUF / safetensors 元数据与张量声明、SQLite 表结构、EVM 字节码、WASM、Erlang BEAM、Godot PCK、Unity IL2CPP 元数据等。

静态 JavaScript 与 .NET 检查只读文件、不运行应用;运行时抓取则会在你的用户权限下运行或与目标交互,各运行时指南会说明具体影响。原生分析返回的是伪代码与汇编,不是原始源代码——这一点在 FAQ 里写得很明确。

快速上手

REA 要求 Node.js 22.x(≥22.23.4)、24.x(≥24.22.1)或 26.12.1+,以及 npm。装好后运行:

npx rea-agents setup

安装向导会让你选择要配置的智能体、展示拟议的改动并备份已有配置,改完需要重启智能体。支持的智能体包括 Claude Code、Codex、Cursor、Gemini CLI 与 Grok Build,其他支持本地 MCP 服务器的智能体也可以手动注册。之后就可以直接向智能体提问,例如:

Understand how search works in the Notes app, show me the evidence, and build a similar feature for my project.

只想在终端用同一套工具,可以这样检查一个解包后的 JavaScript / Electron 应用目录:

npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --json

经常使用的话,可以全局安装 rea-agents 得到 rea 命令,并用 rea update 保持更新。README 提醒,REA 更新很快,新版本常带 Bug 修复,遇到问题先更新再重试。

三个官方案例,说明它不只是“能跑”

README 列出的案例都给出了可核对的结果:DX-Ball 案例沿着声音调用找到位置到声像的换算函数,把不完整的伪代码还原成 C,通过了 3,205 个原始 x86 用例,并复现了全部 63 个已编译函数字节;Notion 案例从渲染器的剪贴板 API 出发,经 preload 与 IPC 追到主进程,检查富剪贴板格式;TH04 案例检查 16 位 DOS 指令,恢复固定角度与瞄准角度计算,并与历史编译器输出对比。

除逆向分析外,REA 还能把一次 Web 应用会话的录制转成可运行的 RL 环境:记录浏览器的请求与响应,导出智能体可以练习的环境,用于强化学习训练或评测,运行结果需要 AgentEnv 与 Docker。

先看清边界,再决定用不用

与同类智能体工具一样,REA 的价值建立在“证据”上:它返回的每条结论都应能追溯到检查到的代码或引用,无法确认的部分也会标出来。和本站介绍过的 Impeccable 设计 Skill、SkillSpector 安全扫描放在一起看会更清楚——前者管“生成结果的品味”,后者管“装 Skill 之前的安全检查”,REA 管的是“已有软件到底怎么工作”。

有三点必须先说清楚。第一,只认三个官方来源:morluto/rea 仓库、rea.tools 官网与 rea-agents npm 包;README 明确提醒,名字相似的仓库或复制的 README 不能证明下载是官方的。第二,商业分析工具要自己合法取得并授权使用,包括 IDA Pro、Hopper 与 JEB,REA 不授予任何工具许可、密钥或激活权益。第三,仅限合法用途:合法研究、教育、互操作性、软件保存,以及分析你拥有或已获授权检查的软件;分析在本地进行,但智能体的模型提供方有各自的数据政策。

转自 GitHub 上 morluto 的项目《REA: Reverse Engineer Anything》,原文链接:https://github.com/morluto/rea

© 版权声明
THE END
喜欢就支持一下吧
点赞34 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容