夜雨聆风学习资料网

ARTICLE · 1207908

3天狂揽12万Star:AI开始拆解一切闭源软件

3天狂揽12万Star:AI开始拆解一切闭源软件

一句话介绍

REA(Reverse Engineer Anything) 是一个挂在 AI 编程 Agent 上的逆向工程工具包:你让它看一个没有源码的软件——原生程序、Electron 应用、APK、网站甚至智能合约字节码——它通过 MCP 调用 Ghidra、Hopper、IDA 这些专业反汇编引擎,讲清楚这个功能是怎么实现的,附上证据,然后照着给你写一个。MIT 协议,全流程本地运行。10 月初爆发,3 天冲了 12 万 Star(InfoQ 10 月 12 日数据),截至发稿已超 16 万,是今年 GitHub 增速最猛的项目,没有之一。


开篇:Windows 计算器 200 + 10% = 220,你想过为什么吗

先出道题。

打开 Windows 自带计算器,输入 200 + 10%,结果是 220。也就是说,它把 10% 算成了 20——是第一个数(200)的 10%,不是 220 的 10%,也不是 200 加 0.1。

但如果输入 200 × 10%,结果是 20——这回 10% 又变成了 0.1,乘号前面拿的是第二个数的百分比。

同一个 % 按钮,两套规则。绝大多数人用了十几年计算器,从没发现这事;发现了也说不清为什么。

REA 官网第一个演示就是拿它开刀的:让 Agent 用 REA 检查安装好的 Calculator(注意,微软没给这版计算器的源码给普通用户),从二进制里翻出 % 按钮的处理函数,还原出的逻辑是——

if (operation == multiply || operation == divide) {    percent = current / 100;          // 乘除:百分比变小数} else {    percent = current * previous / 100;  // 加减:拿第一个数的百分比}

Agent 还顺手把还原出的分支和微软后来开源的计算器仓库做了交叉验证,对上了。最后它照着这个逻辑,给你写了个行为一模一样的小计算器。

Windows 计算器 % 按钮:REA 还原出的判定逻辑

看上一个软件的某个功能,让 AI 拆开看看怎么实现的,附证据,然后给你造一个——这就是 REA 干的事,也是它 3 天 12 万 Star 的原因。


它是什么:给 AI Agent 装上一套逆向工程的手

REA 本质上是一个 MCP 服务器 + CLI 工具(npm 包名 rea-agents),TypeScript 写的,MIT 协议。

它自己不做反编译——它把你机器上已有的专业逆向工具接进 AI Agent:

  • • Ghidra(NSA 开源的反汇编神器):接进去 25 个只读操作,伪代码、汇编、符号、调用链随取
  • • Hopper(macOS 上流行的反编译器):setup 时经你批准可以自动安装,免费演示模式就能跑
  • • IDA Pro(逆向行业标杆):用你已有的安装,另带一个可选的 MCP 桥

接好之后,你在 Claude Code、Codex、Cursor 里说人话就行:

REA 在 Hopper 里启动分析桥,检查原生二进制

看看备忘录 App 的搜索是怎么实现的,给我看证据,然后给我的项目做一个类似的。

Agent 会自己调 REA 检查目标、追踪代码,拿到带证据的结论后再追问、解释、动手写实现、跑测试。整个过程 REA 在本地完成,你的二进制不上传——只是 Agent 拿到结果后要去调模型,模型服务商那头按它自己的隐私政策走。

数据感受一下:2026 年 4 月建库,前期不温不火;10 月初突然爆发,3 天 12 万 Star(对比:年初创造增长奇迹的 OpenClaw,同期是 3 天 6 万);现在 162,000+ Star / 38,000+ fork / 530 人 watched;发版速度夸张——v6.0.0 到 v6.4.0 只用了 3 天(10 月 8 日到 11 日)。Replit CEO Amjad Masad 的评价被到处引用:"AI 驱动的逆向工程正在发生的事情简直不可思议。很快,所有软件都可能事实上变成开源软件。"


5 个设计,撑起了 16 万 Star

1. 覆盖面夸张:21 类目标,从固件到网页。 原生二进制(Mach-O/ELF/PE)、Go、WASM、以太坊智能合约字节码、.NET 程序集(静态分析不运行)、JavaScript/Electron 应用(模块、IPC、sourcemap 全梳理)、Android APK/真机/Flutter、macOS .app、网站(走本地 Chrome 调试端口被动观察)、HAR 抓包、SQLite、固件(Binwalk)、甚至逻辑分析仪的信号录制。

REA 能拆的 21 类目标

2. 结论带证据,不带"我觉得"。 这是它和"让 AI 瞎猜"的本质区别。每个结论都附带证据和局限说明——哪条指令、哪个函数、哪个调用链。上面计算器的例子里,Agent 是拿着原始 x64 指令(CMP EAX, 0x5c 这种)对照微软开源代码验证的,不是编的。

3. 老 interface,新用法。 它没有重新发明反编译器,而是给 Ghidra/Hopper/IDA 这些二十年积累的引擎做了个 Agent 友好的壳。专业的活儿交给专业工具,Agent 负责提出假设、串联线索、写代码验证。

4. 全本地。 分析流水线跑在你自己的机器上,敏感二进制不出门。安装时每一步都先展示计划、经你批准,还自动备份你原有的 Agent 配置。

5. 三个官方案例,全是硬货。 DX-Ball 音效声像函数:从残缺伪代码还原成 C,通过 3,205 个原始 x86 测试用例,63 个编译字节全部一致;Notion 剪贴板桥:从渲染层一路追进 Electron 的 preload 和 IPC 主进程;TH04(1996 年的 PC-98 弹幕游戏):从 16 位 DOS 指令里恢复出弹环角度计算,和当年的编译器输出对得上。

三大官方案例:DX-Ball 声像、Notion 剪贴板、TH04 弹环

最不一样的一点:它要的不是"反编译",是"讲明白+造出来"

传统的逆向工程产出是一堆汇编和伪代码,剩下的事——看懂、重构、验证——还是人干。

REA 把整条链闭环了:Agent 提问 → REA 出证据 → Agent 解释 → Agent 写实现 → Agent 跑测试对照原版。Dinosaur Run 小游戏的加速规则(起始速度 6、每次更新 +0.001、上限 13)就是这么从网页游戏里挖出来复刻的;计算器的 % 按钮也是这么复刻的。

换句话说,以前的逆向工具给你"原材料",REA 给你"成品加说明书"。这也是为什么它炸的不只是安全圈——想抄竞品功能的开发者、想修祖传代码的运维、想搞兼容的工程师、学逆向的学生,全都涌进来了。


上手试试:一条命令的事

前提:Node.js 22.19+ / 24.11+ / 26+(装 Node 22 LTS 就对了)。

# 1. 一条命令接入你的 Agent(会列出支持的工具让你勾选,改配置前先备份)npx rea-agents setup# 2. 重启你的 Agent(Claude Code / Codex / Cursor 等),然后直接说人话:#    "Use REA to inspect Windows Calculator. Why does 200 + 10% give 220?"# 3. 也可以不装,直接命令行单发:npx -y rea-agents@latest analyze-javascript-application /path/to/app --json# 常用的话就全局装一个 rea 命令npm install --global rea-agentsrea --helprea update   # 这个项目更新极快,勤升

几个提示:静态分析 JavaScript 和 .NET 不需要装任何反编译引擎,Node 就够;想拆原生二进制再配 Ghidra(免费)或 Hopper;rea doctor 可以体检环境。支持 17 个客户端——Claude Code、Codex、Cursor、Gemini CLI、Grok Build、Windsurf、OpenCode、VS Code 等,凡是支持本地 MCP 的 Agent 都能用。


和其他方案比

手持 IDA/Ghidra 人工逆向
让 Agent 裸猜(不给工具)
REA
门槛
安全工程师,多年经验
零门槛,但基本猜不准
一条 npx 命令
工具链
人工驱动反汇编引擎
无,只能看字符串和文件名
MCP 桥接 Hopper/Ghidra/IDA
结论可信度
高,但慢
重灾区:一本正经地幻觉
附带证据与局限,可验证
覆盖面
二进制为主
浅层文本
21 类目标,从固件到网页
产出
原材料(汇编/伪代码)
编的故事
解释 + 证据 + 能跑的实现
成本
数天到数周人工
几分钟能力为零
分钟级,花的是模型 API 钱

翻译成人话:以前逆向是手艺活,现在是个会装 Node 的人就能干——干得好坏取决于你的 Agent,但至少它给你的每个结论都带着可查的证据,而不是幻觉。


泼盆冷水:5 个坑先知道

1. 法律红线,比任何技术问题都硬。 项目自己的 DISCLAIMER 写得明明白白:REA 只用于合法的研究、教育、互操作性、软件保存,以及你拥有或被授权分析的软件。拆别人的商业软件看协议条款——多数 EULA 明文禁止逆向;拿它抄竞品功能更是妥妥的侵权风险。工具中性,用法自负,这句话在这里不是免责套话,是真会发生的事。

2. 商业引擎要你自己有正版。 IDA Pro、Hopper、JEB 都是商业软件,REA 不提供也不豁免任何授权——破解版、共享 key 明确不被允许。好消息是 Ghidra 免费开源,静态 JS/.NET 分析啥都不用装,入门可以零成本。

3. 别信"一键克隆一切软件"的营销话术。 REA 返回的是证据和伪代码,最终实现质量取决于你的 Agent 和问题的复杂度。官方案例里 DX-Ball 那个函数能 3205 用例全对,是因为目标小而清晰;一个几百万行的现代商业软件,AI 拆得动"某个功能",拆不动"整个软件"。

4. 平台支持不均衡。 原生分析的主场是 macOS 和 Linux(Ubuntu 24.04+ / Fedora 41+),Windows 上的 Ghidra 支持还是实验性的;很多高级目标(崩溃转储、固件、抓包)明确要求 Linux。Windows 用户体验会打折扣。

5. 火得快,浑水也多。 一周 16 万 Star 意味着大量山寨、蹭名字的仓库和假代币——项目方专门辟谣:没发过任何加密货币或代币,凡是叫 REA 的代币都是假的。认准 morluto/rea 和 npm 的 rea-agents,另外这项目版本迭代极快(3 天从 v6.0 到 v6.4),遇到 bug 第一步永远是 rea update。


常见问题

它会把我要分析的软件上传到云端吗?不会。分析全部在本地跑,二进制不出门。但 Agent 拿到分析结果后要调大模型,发给模型的内容受你模型服务商的隐私政策管辖——涉密的二进制想清楚再上手。

我必须买 IDA 或 Hopper 吗?不必须。JS/Electron、.NET、APK(配免费 JADX)、网站这些目标都不要商业引擎;原生二进制分析用免费的 Ghidra 就能跑,Hopper 有免费演示模式,IDA 是给有正版License 的老玩家准备的。

和直接让 Claude Code"分析一下这个 App"有什么区别?没有 REA,Agent 只能看文件字符串、猜格式,结论基本靠编。REA 给了它真正的眼睛——反汇编引擎的只读接口,外加一套调查方法论,结论还附带证据链。这就是"裸奔"和"拿着显微镜"的区别。

所有软件都会因此变成开源吗?Replit CEO 是这么说的,但更准确的理解是:封闭源码作为护城河的含金量在暴跌。能被"看懂"不等于能被"做出来"——工程、数据、运营照样是壁垒。不过"我看不懂所以我学不会"这个借口,确实没了。

学习逆向工程的新手适合上手吗?可能是史上最好的入门教练:以前你得先啃半年 x86 汇编才敢开 Ghidra,现在你可以看着 Agent 拆一个小软件的全过程,跟着证据链学。但基础概念(内存布局、调用约定)还是得自己补,工具替不了理解。


总结

REA 火成这样,根源不在技术多新——Ghidra 二十年了,MCP 也不是它发明的。它踩中的是那个所有人都在等的时间点:当 AI 能读懂二进制、追调用链、还原能力够强时,"源码不可得"这个持续了四十年的商业前提,第一次真正松动了。

计算器的 % 按钮、Dinosaur Run 的加速曲线、DX-Ball 的声像算法——这些散落在二进制里的"小秘密",以前要一个资深的逆向工程师蹲一个星期,现在是一句提示词加几分钟。

对写软件的人来说,这是坏消息也是好消息:坏在模仿的门槛塌了,好在你做出好功能的动力也回来了——真正护不住的东西才需要藏,值得你做的,是那些拆得走代码、拆不走的本事。

软件的墙在变薄,手艺的墙在变厚。


项目地址:https://github.com/morluto/rea官网 / 文档:https://rea.tools (案例教程:rea.tools/showcase)仓库数据:162,000+ star · 38,000+ fork · MIT 协议 · TypeScript · npm 包 rea-agents v6.4.0 · 创建于 2026-04-14

相关学习资料