📌 项目地址:morluto/rea | ⭐ 8,052 颗星 | 🔧 TypeScript | 📜 未标注
=
REA 是什么
GitHub 上一个叫 morluto/rea 的项目,8,052 颗星,TypeScript 写的,全名 Reverse Engineer Anything。它做的事一句话能说清:把逆向工程工具打包成 MCP 服务,接到你的 AI Agent 上,你用自然语言提问,Agent 去打开目标应用、反编译、追踪代码,最后给你解释加证据。
比如你在某个 app 里看到一个不错的功能,想搞明白它是怎么实现的。老办法是自己开 Ghidra,在几十万行反编译代码里翻,门槛很高。用 REA 的话,装好后直接对 Agent 说:
Understand how search works in the Notes app, show me the evidence, and build a
similar feature for my project.
把 Notes 换成任何你想研究的应用就行。
它的工作方式:Decompile、Understand、Recreate
README 里定义了三步流程:
- Decompile:打开应用,恢复可读的代码、字符串、符号名等线索
- Understand:从一个功能点出发,沿着代码一路追下去,直到 Agent 能解释这个功能到底是怎么跑的
- Recreate:把学到的东西改写成适配你项目技术栈和界面的功能代码
我比较在意的一点是它强调 “show me the evidence”。每个结论都附带证据和局限性说明,而不是让 Agent 凭感觉猜。README 也把边界说得很清楚:它不承诺恢复原始源码,也不会自动克隆整个应用。输出是“解释 + 证据 + 适配性重建”,用之前对这个预期要合理。
支持的目标和依赖
能检查的东西有四类:
- 原生二进制
- JavaScript 和 Electron 应用
- .NET 程序集
- 网站
依赖是分层的。纯 JS 静态分析不需要任何反编译引擎,装完就能用。要深挖原生二进制时,可以复用你已有的 Hopper 或 Ghidra 安装,setup 时也可以选择让它装 Hopper(需要你批准)。分析全部跑在本地,数据不出机器。
上手
一条命令:
npx rea-agents setup
setup 做两件事:把 REA 注册到你的 Agent,同时装上配套的工作流指令。之后重启 Agent 就能提问了。npm 包名是 rea-agents,需要 Node.js 环境。
不想经过 Agent 也行,同一套能力可以从终端 CLI 直接调用。实际用的时候,先在命令行里验证工具行为,再交给 Agent 做完整调查,这个顺序比较稳。
和直接用 Ghidra 的区别
逆向工具不缺,Ghidra、Hopper、IDA 都是成熟货。MCP 服务器现在也一堆。REA 的差异点在于把两者接起来,并且不只是暴露工具接口,而是定义了一套“Agent 怎么做逆向”的流程:从反编译到理解到重建,每步要求结论带证据链。卖的是方法论,不是反编译接口。
分层依赖也算个实际优势:轻量场景零负担,重场景再接引擎。
用之前要想清楚的
- 许可证:README 链接了 LICENSE 文件但正文没写具体条款,商用前自己确认
- 法律风险:逆向受目标软件 EULA 和当地法律约束,拿来做竞品分析或复刻功能之前,合规性要自己评估,这一条 REA 帮不了你
- 成熟度:8k star 但项目还在演进,README 的 Roadmap 和 Current status 部分值得先看一眼
- 有官方 Discord 社区,遇到问题或想看别人的案例可以去逛逛