ARTICLE · 1212547
两周狂揽25万Star,AI逆向一切软件
两周狂揽 25 万 Star,这个开源项目让 AI 能「逆向一切软件」
2026-10-19
一句话看懂 REA:它是一个开源工具,让 Claude Code、Codex 等 AI 编程助手直接调用 Ghidra、Hopper、IDA 等逆向工具,在没有源码的情况下读懂任意软件的实现原理,甚至复刻出相似功能。
过去两周,GitHub 上最火的开源项目,是一个叫 REA 的东西。
REA 是「Reverse Engineer Anything」(逆向一切)的缩写。截至 2026 年 10 月中旬,这个仓库(github.com/morluto/rea)的 star 数已经突破 25 万,成为近期全球增长最快的开源项目之一。更夸张的是它的爆发曲线:项目 2026 年 4 月就创建了,前半年一直不温不火(不到 1 万 star),直到 10 月 8 日 v6.0.0 版本发布,星数直接「起飞」——不到两周,就站上了 25 万 star 的高位。
Replit CEO Ahmad Msad 看到后发了一句感慨:「AI 驱动的逆向工程和反编译领域正在发生的事情简直不可思议。很快,所有软件都可能事实上变成开源软件。」
这篇文章,我们把 REA 是什么、怎么用、能干什么、以及它引发的争议,一次讲清楚。
一、REA 到底是什么?
用 GitHub README 的原话来说:「通过 Agent 逆向分析一切,从应用行为深入到原生二进制层面。」
再拆得通俗一点,REA 本质上是一个「翻译官」和「调度器」:
一端,是 AI 编程助手——Claude Code、Cursor、Codex、Gemini CLI、Windsurf、Grok Build 等; 另一端,是已经存在了几十年的逆向工程工具——Ghidra(NSA 2019 年开源)、Hopper、IDA Pro 等。
在过去,这两者是「断开的」:你要逆向一个软件,得自己打开反汇编器,啃 API,在一堆字符串和符号里手动翻、手动追调用图。这是一门硬功夫,绝大多数应用开发者根本没时间学。
REA 做的事情,就是通过 MCP(Model Context Protocol) 在这两者之间架起一座桥,让 AI Agent 能「长出眼睛和手」——它可以直接调用这些逆向工具,自动提取符号、追踪调用链、输出伪代码,最后甚至帮你写出可运行的实现代码。
有人打趣说:这就像是「有人给 Claude Code 配了一个反编译器」。
二、它戳中了什么痛点?
REA 之所以爆火,是因为它解决了一个几乎所有开发者都遇到过的场景:
你用着某个 App,发现某个功能做得特别好——离线搜索秒出结果、同步丝滑得不像话。你想在自己产品里也做一个,但没有源码、没有文档,连它怎么实现的都不知道。
以前遇到这种事,只能去啃逆向工程——门槛高、耗时长、还得在多个工具之间来回倒腾。REA 把这件事变成了一句「人话」:
「帮我逆向分析 Notes 应用,找出离线搜索是怎么工作的,解释清楚,然后用 TypeScript 和 SQLite 给我的项目实现一个类似版本。」
三、工作原理:一次「提问 → 调查 → 验证」的循环
REA 的工作方式,可以概括为一条闭环:
提问:你(或 Agent)用自然语言描述想搞清楚的东西; 调查:Agent 通过 REA 的 MCP 接口,调用 Ghidra / Hopper / IDA 等引擎,对目标做静态分析、反汇编、依赖追踪; 验证:REA 返回结果,而且每条结论都附带证据(具体的字节偏移、汇编指令、依赖图等),Agent 基于这些证据来解释行为、追问细节,或者直接动手写代码并测试。
这里有个非常关键的设计:REA 强调「证据驱动」。它要求 AI 的解释必须建立在可验证的机器状态之上,而不是「拍脑袋」。这能显著降低 AI 幻觉——结论有据可查,边界也写得明明白白。
另一个重要特点是 本地分析:所有分析都在你自己的机器上跑,数据不出本机,隐私和安全更有保障。
四、它能分析什么?
REA 的覆盖范围非常广,按目标类型拆开看:
1. 原生二进制
支持 x86 / x64 / ARM / ARM64 / MIPS / PowerPC 等多种架构,可输出伪代码、汇编、字符串、符号、交叉引用等。
Mach-O、ELF、PE、macOS .app程序包;包括 Swift 和 Objective-C 的元数据。
2. 桌面 / Electron / JavaScript 应用
静态梳理入口点、模块依赖、IPC 通道、preload 脚本、source map; - 无需运行应用
即可分析; 支持 ASAR 包直接分析。
3. 移动应用
Android APK(集成 JADX 反编译); iOS IPA; Flutter 应用。
4. 网站
通过本地 Chrome DevTools 端点,被动观察你已控制的浏览器。
5. .NET 程序集
无需执行程序,即可检查元数据、成员、CIL 指令和原生代码边界。
6. 固件与归档
固件(通过 Binwalk / Unblob 提取); ZIP、APK、IPA、ASAR 等归档,可不解压直接生成文件清单。
五、3 分钟上手
环境要求:Node.js 22.19 / 24.11 / 26+,以及 npm。
第一步,一键配置 Agent:
npx rea-agents setup它会自动检测你本机的 Claude Code、Cursor、Codex、Gemini CLI 等,把 MCP server 配置写进去,并在改动前自动备份原配置。配置完重启 Agent 即可。
第二步,直接开问:
「帮我搞清楚 Notes 应用的离线搜索是怎么实现的,把证据展示出来,然后给我的项目做一个类似功能。」
六、真实表现:很快,但也有边界
REA 到底是不是「吹」出来的?有开发者拿真实应用做了实测,结果相当诚实:
快的地方:
对一个真实 Electron 应用做静态 JS 分析,459 个文件(24.2 MB)只用了 52 秒,文件/行号定位准确率 30/30; 游戏逆向、算法还原等场景,很多用户反馈「底裤都没了」,几十分钟就能拆出一个功能。
不足的地方:
由于 REA 主要基于静态分析,有实测发现它漏掉了全部 8 个窗口实例化点和 2 个 preload 入口(这些需要运行时才能暴露); 分析出的 IPC 通道 18 个,而应用实际有 17 个——存在一定偏差。
也就是说:REA 很强,但它是「静态分析」的强,不是万能。它更适合做快速理解、功能复刻、老软件拯救和互操作性研究,而不是替代专业安全人员做深度动态分析。
七、争议:软件真的「完蛋」了吗?
REA 出圈后,最刺耳的评论是两个字——「软件完蛋了」。
这背后的焦虑不难理解:过去几十年,软件价值的一部分建立在「源码不可得」上——我写了代码,编译成二进制,你拿不到,所以你得买我的。而 REA 动摇的正是这个前提:当 AI 能读二进制、追调用链、生成重构代码,「拿不到源码」还能挡住谁?
但冷静下来看,多数业内人士并不认同「末日论」。核心观点有两条:
1. 克隆能拿走代码,拿不走「知识」。 把二进制还原成代码,和「真正理解这个软件」之间还隔着一层:它为什么这么设计?业务规则是什么?哪些是刻意为之,哪些是历史包袱?——这些才是真正的护城河。
2. 开源软件早就在了,商业订阅也没死。 Red Hat 就是活例子:代码大家都能拿到,但企业依然为生产环境支持、生命周期管理、补丁更新、专家服务付费。客户买的从来不只是「一份代码」,而是「把软件用好、长期维护好」的确定性和低成本。
所以更准确的说法是:REA 改变的不是「软件有没有价值」,而是「软件的价值靠什么支撑」——从「你看不到我的代码」,转向「你拿不走我的服务能力和业务理解」。
护城河没有消失,它只是换了个地方。
八、结语
REA 是这个秋天最值得关注的开源项目之一。它把过去只有少数逆向工程师才掌握的「硬功夫」,变成了一句自然语言就能驱动的日常能力。
对普通开发者来说,它的价值是实打实的:理解一个闭源 SDK、复刻一个顺手的交互、拯救一个没有源码的老软件——这些以前想想就头疼的事,现在有了全新的解法。
当然,工具越强,边界感越重要。REA 官方也明确声明:项目面向合法研究、软件互操作和教育目的,不提供任何商业逆向软件的授权。技术在狂奔,如何使用它,取决于用的人。
你会拿 REA 干什么? 欢迎在评论区聊聊。















































































