REA(Reverse Engineer Anything):把”拆软件”这件事交给AI
它到底是什么
我第一次刷到REA的README时,第一反应是”又一个套壳MCP”。看完它的能力表之后,我改主意了,这玩意儿确实踩在了一个很痛的地方。
先说人话:REA不是反编译器,也不是大模型,它是架在AI编程助手与Ghidra、IDAPro、Hopper这些专业逆向工具之间的一层调度层。你不需要懂汇编,只要对ClaudeCode或Cursor说一句”帮我搞懂这个功能怎么实现的”,它自己去翻机器码、追调用链,再把结论连同证据一起交回来。
项目由GitHub用户morluto在2026年4月创建,TypeScript写的,MIT协议开源,形态是一个MCP Server加一套同能力的CLI。它安静了半年,2026年10月第一周突然爆发,一周新增约7.88万Star冲到当周全球第一,到10月17日星标已超29万。(星标数、版本号均为公开报道快照,动态数据请以GitHub仓库实时页面复核)
话说回来,”让AI接上逆向工具”这件事并不新。GhidraMCP、mrexodia的ida-pro-mcp去年就在做了。逆向教材《Practical Reverse Engineering》的合著者Elias Bachaalany转发它时,评价只有一个词:”炒作”。我的看法偏中间:技术上它确实没发明什么新东西,但它把门槛从”要会读伪代码”降到了”会提需求”,这个落差本身就是产品价值。
主要功能
官方能力表列了17类分析目标,我挑几个真正有人用的说:
- 原生二进制(Mach-O、ELF、PE、macOS的.app):返回伪代码、汇编、字符串、符号、交叉引用。引擎用你本机装的Hopper、Ghidra或IDAPro,三选一。
- JavaScript与Electron应用:静态梳理模块、import、source map、路由、IPC通道,不用把应用跑起来,也不需要任何反汇编引擎。
- Android APK:走无头JADX反编译到方法级,接上adb还能操作真机看日志和截图。
- .NET程序集:元数据、CIL指令、构建对比,纯静态,零额外依赖。
- 网站与抓包:通过本地Chrome的CDP被动观察页面与网络请求,也吃HAR、Fiddler SAZ文件。
- 另外还覆盖Go二进制、WASM、EVM字节码、固件(Linux下靠Binwalk或Unblob)、崩溃转储等。
设计上我觉得最值钱的一点是证据链契约:每条结论都带来源、引擎版本、置信度和已知局限,重建验证只认pass、fail、unknown三档,缺证据绝不算”通过”。配套还有rea compare对比两份证据、evidence-import/export固化结果、rea doctor只读体检环境、rea uninstall干净卸载。
怎么用它
门槛其实只有两条。
第一:Node.js版本要22.19以上的22.x、24.11以上的24.x,或者26及以上,先敲node -v确认。
第二:跑npx rea-agents setup,勾选要接入的智能体,确认它写入的配置(会备份原配置),然后重启智能体,否则不生效。
装好后直接开口,官方示例是:”Understand how search works in the Notes app, show me the evidence, and build a similar feature for my project.”
不想用Agent、只想在终端跑一次的:npx -y rea-agents@latest analyze-javascript-application /绝对路径/app --json,长期用就npm install --global rea-agents,得到一条rea命令。
要留神的坑:拆原生二进制必须先有Hopper、Ghidra、IDAPro之一,Ghidra免费,建议新手从它开始;APK要另装JADX和完整JDK,WASM要WABT,固件要Binwalk。Windows上的Ghidra支持是实验性的,只覆盖本地NTFS上的x86与x86-64 PE。迭代快到一周发9个版本,遇到怪问题先rea update再怀疑自己。
应用场景
社区里跑出来的案例比我想象的野。
有人拿它分析厂商微信小程序的蓝牙协议,半小时做出一个电脑菜单栏遥控器去开自家智能马桶盖;
有人重建Claude的幻灯片编辑器;
有人做open-claude-ui,整理出30个界面组件和3000多行设计说明。
在我看来,真正靠得住的用法是这几类:
1、竞品功能研究(看中某个交互,让Agent讲清实现方式再决定怎么借鉴)、
2、客户端隐私与合规审计(看它后台到底回传了什么)
3、智能硬件协议摸底
4、无人维护老软件的保存与互操作
5、取证场景的快速初筛
6、CTF和安全研究里那些重复性的拆包找入口
同类对比
这里有个常见误区:拿REA去和Ghidra、IDAPro比”谁更强”,其实比错了维度。
| 工具 | 定位 | 结果形态 |
|---|---|---|
| Ghidra | 免费开源分析平台,GUI主场 | 人读的窗口视图 |
| IDAPro | 商业反汇编器,键盘流 | 人读的窗口视图 |
| Hopper | macOS/Linux反汇编器 | 人读的窗口视图 |
| ida-pro-mcp | 只服务IDA一个引擎的MCP | 给Agent调用 |
| radare2 / Cutter | CLI优先,缺Agent集成 | 脚本与GUI |
| REA | 面向Agent的编排层,引擎无关 | 可验证的证据链 |
结论是协作而非替代:深度分析仍由引擎完成,REA不新增引擎能力,它新增的是”让Agent能连续驱动这条链路”以及”结果可核对”。已经把手感练顺的逆向工程师,未必需要它。
会员价格
这是最容易被标题党误导的一节。REA本身MIT开源,没有会员制,没有订阅,没有付费档,下载即用。
真正的成本在周边:你本来就在用的LLM智能体订阅;以及原生分析要的反编译器,Ghidra免费,Hopper个人版买断约99美元起,IDAPro走订阅,Essential档起价约1099美元/年,IDA Home约365美元/年(限非商用)。(上述第三方价格来自公开资料整理,各厂商会调价,购买前请到官网复核)
另外Perplexity把REA作为技能集成进了Computer,给出最高10000 credits启动额度,用/reverse-engineer的任务在10月31日前免费。(这是限时活动信息,时效性强,务必以官方公告为准)
优点与缺点
优点我不多吹:免费、本地执行、覆盖面广、证据可追溯、多智能体兼容。把”逆向专家的能力”降级成”会提问的能力”,这一步确实做到了。
缺点我更想讲清楚,因为演示视频里看不到。
第一:它会自信地错。有开发者拿有公开源码的程序做对照测试:分析bzip2时结果与源码一致,但换到OpenMW的esmtool,50个函数里有22个遗漏了实际存在的调用关系,而REA仍把结果标记为”完整”,没有提示遗漏。
第二:强混淆、加壳、代码虚拟化基本挡得住它。法国Quarkslab把模型关进沙箱去解加固的AArch64样本,没有一个真正破解,Agent还交了一份看着像模像样、实则编造的报告。
第三:分析在本地跑,但结论会进智能体上下文,等于发给了模型厂商,涉密项目要算清这笔账。
第四:法律边界得自己把握。为学习和研究目的做逆向通常被容忍,但把逆向得到的代码或资源复制、改写后发布,或者拿去找漏洞攻击线上系统,性质完全不同。净室开发那道防火墙也被这种”同一个Agent既读又写”的流程削弱了,这在法律上尚无判例,争议很大,有待商榷。
还有个小提醒:项目才半年,API和工具契约仍在变动期,属于”锋利的新刀”,不是”用了十年的老锅”,别指望它当生产环境的LTS。
官方网站
- 官网与文档、指南、案例:https://rea.tools/zh-CN/
- npm包:rea-agents(npmjs.com上可搜到)
- GitHub仓库:https://github.com/morluto/rea
我的收尾判断:REA没有让”软件这门生意结束”,Matthew Berman那句”Software is done”更像情绪表达。它做的是把理解一个程序的成本打下来,而大厂真正的护城河在服务器端、在牌照、在社交关系链,这些它碰不到。但对个人开发者来说,这依然是个值得今天花十分钟装一下的免费杠杆,前提是你守住合法研究的边界,并且把它的结论当线索,不当结论。










