10月12日,REA还停在12万Star。
五天后,GitHub API给出的数字是292,136。
按这两个公开时间点计算,它又涨了约17.2万Star。
REA没有发布一个更大的模型,也没有发明新的反编译器。它做的事情听起来甚至有点朴素:把Agent接到Ghidra、Hopper、IDA、JADX、Chrome等工具上,让AI自己观察、追踪、写实现,再验证结果。
但这件事真正碰到的,是软件行业一堵很旧的墙。
过去,代码只要不公开,理解它就很昂贵。
现在,这笔成本正在被Agent重新定价。

图:REA官方GitHub仓库,2026年10月17日截取。页面显示约29.2万Star、7.36万Fork。
01|REA拆掉的,不是源码,而是调查软件的门槛
先把最容易误解的一点说清楚。
REA不会凭空吐出一份“原始源码”。
对于原生程序,它返回伪代码、汇编、字符串、符号、调用与引用;对于JavaScript和Electron应用,它恢复模块、依赖、路由、IPC以及原生扩展之间的关系;对于网站,它记录页面结构、脚本、网络行为和截图。
随后,Agent依据这些证据编写新的实现,并通过测试继续逼近原程序的行为。
它更像一支不知疲倦的调查队:会打开工具,会追调用链,会换路线,也会把“我看见了什么”和“我还不知道什么”一起交回来。
整个过程可以压缩成一条很短的链:
Agent提出问题 → REA调用工具 → 返回证据与未知项 → Agent编写实现 → 再用结果验证
单个环节都不新鲜。
真正的新东西,是它把过去分散在专家脑子、逆向工具和大量手工操作里的流程,第一次变成了Agent可以连续执行的工作流。
这也解释了为什么REA的官方能力表越来越长:原生二进制、Go、Rust、WASM、EVM字节码、SQLite、Electron、网站、.NET、APK、Flutter、固件、抓包文件,甚至逻辑分析仪记录,都已经进入它可以调查的范围。
这里的关键词不是“支持多少格式”。
而是Agent终于有了一套能触碰真实软件、留下证据并反复验证的手。

图:REA官方Showcases,依次为DX-Ball声音定位、Notion剪贴板桥接、东方梦时空弹幕计算。
官方给出的三个案例,很能说明这种变化。
- 在DX-Ball里,REA沿着声音调用找到位置到声道的计算逻辑。重建结果通过了3,205个原始x86测试用例,重新编译后的63个函数字节全部一致。
- 在Notion里,它从渲染进程的剪贴板接口出发,穿过preload、IPC,一路追到主进程,找到了富文本剪贴板格式的完整通路。
- 在1998年的PC-98游戏《东方梦时空》里,它从16位指令恢复弹幕圆环的角度计算,再把重建的C++与当年的编译结果进行比较。
这三件事都不是“看起来差不多”。
它们共同强调的是:复刻必须有可追溯的证据,也必须接受结果校验。
讨论REA时,还要把三个经常混在一起的词拆开:理解、重建和替代。
理解,是从行为、结构、调用和数据中解释一个软件如何工作。这正是REA目前最稳定的价值:它让Agent带着问题进入目标,再把结论连回具体证据。
重建,是在已经理解的基础上写出新的实现。它需要测试、比对和人工判断。DX-Ball能够做到字节级一致,是因为问题边界清楚、验证标准明确;换成一套庞大的商业软件,重建难度会立刻上升。
替代,则意味着新产品不仅能跑,还要承接数据、兼容旧流程、响应客户、持续更新,并让用户愿意迁移。这个层级已经超出代码本身。
REA大幅降低了第一层的成本,也把第二层向更多人开放。
它并没有自动完成第三层。
这个区分很重要。它既能解释REA为什么值得29万Star,也能避免把一个强大的调查工具写成无所不能的复制机。
02|我们让它读了一遍自己的官网
为了确认REA究竟是在“看图写网页”,还是确实能沿着页面结构继续往下追,我们用REA 6.5.0检查了它自己的官网。
这次记录里,它捕获了:
- 1,665个DOM节点;
- 618个可访问性节点;
- 6个页面脚本;
- 8项页面资源;
- 3,329个AST节点和5条模块导入关系。
更关键的是,它没有停在截图。
它从脚本中识别出了官网查询仓库数据的GitHub API地址:
https://api.github.com/repos/morluto/rea
这意味着,Agent拿到的不只是“这里应该显示一个Star数字”,而是这个数字从哪里来、由哪段脚本请求、页面如何把结果呈现出来。

图:本次实测保存的页面结构、可访问性、脚本和资源证据。
依据这些证据,我们重建了官网首屏的导航、主视觉、终端卡片、复制按钮和主题切换。
结果可以运行,也保留了原页面最关键的交互逻辑。

图:依据REA证据完成的首屏重建。这里只验证公开首屏与关键交互,不代表获得整站或服务端源码。
边界同样清楚。
我们没有拿到服务端没有公开的代码,也没有还原整套官网。当前结果只是对公开页面首屏和关键交互的一次“洁净室重建”。
但这已经足够说明REA真正改变的地方:
以前的AI经常根据截图猜实现;现在的Agent可以先收集证据,再根据证据写实现。
它把“像不像”这个审美问题,变成了“证据是否闭环”这个工程问题。
03|四年前,AI还只是一个会答题的逆向助手
这条路线并不是突然出现的。
2022年,一篇名为《Pop Quiz! Can a Large Language Model Help With Reverse Engineering?》的论文,已经尝试让Codex从源码和反编译代码中判断程序用途、能力以及关键变量。
研究者一共提出136,260个问题,模型答对72,754个。
论文当时的结论很克制:结果很有潜力,但大模型还没有准备好独立完成零样本逆向工程。
四年后,变化并不只是模型“答对得更多”。
它开始自己操作工具了。
今年4月,开发者Huli记录了多次“AI Agent+Ghidra MCP”的逆向过程。
在一个Cocos2d游戏里,Agent发现大量JavaScript和JSON资源被加密,于是从35MB的libcocos2djs.so里追踪解密函数,识别出Blowfish,再恢复被逐字符拼接的密钥,随后写脚本解开资源。
另一个Unity案例更典型。
Agent先后试过Lua字节码、多个AES模式、RC4和静态查找,全部走进死胡同。直到它重新观察密文,发现1,500个文件共享相同前缀,才猜到明文可能是Lua文件开头连续的注释符号,并由此反推出6字节循环XOR密钥。
这不是一条漂亮的直线。
它更像真实的逆向工作:尝试、失败、看日志、修正假设,然后再试一次。
Huli也记录了代价。多数App在他的环境里约30分钟完成;但一次Claude Code分析消耗了4,000万Token,约27美元。速度变快,并不代表成本和稳定性已经消失。
更危险的问题,来自AI的“自信”。
有时Agent只恢复出了接口和参数,没有拿到真正实现,却仍然能根据命名写出一份头头是道的分析报告。如果没有继续追问“实现证据在哪里”,用户很容易把合理猜测当成已经还原的事实。
所以,REA最值得看的设计,不只是会调用多少工具。
它反复强调evidence和limitations:证据是什么,结论走到哪一步,还有什么不能确认。
当AI越来越会行动,最稀缺的能力反而不是让它多做一步,而是逼它证明自己真的做到了。
04|软件会完蛋吗?先完蛋的,是“藏起来就安全”
REA爆火之后,最刺激的说法是:既然Agent可以研究任何软件,所有软件都会在效果上变成开源。
这个判断抓住了一半真相。
只要逻辑必须在客户端运行,就一定会留下可以观察的痕迹。混淆、加壳、反调试从来没有让逆向变成不可能,它们只是让逆向变得更贵。
Agent正在压低的,恰好就是这部分价格。
过去需要熟练掌握汇编、调试器、系统接口和多种专用工具的人,才能完成一段复杂调查。现在,一个懂目标、会追问证据的人,也可能指挥Agent把许多步骤跑完。
这会让三类产品最早感到压力:
- 核心价值主要放在客户端算法里的产品。 一旦关键逻辑被定位,复制成本会明显下降。
- 主要依赖界面和功能组合形成差异的工具。 可见体验更容易被拆解,功能领先期会缩短。
- 依靠信息不透明维持优势的旧软件。 文档缺失和实现隐蔽,不再天然等于长期壁垒。
但“能理解代码”和“能替代一家公司”之间,仍然隔着很远。
Red Hat经营的是开源软件,却持续让客户为订阅付费。它在官方说明里列出的价值包括生产可用的代码、生命周期管理、兼容性、安全更新、认证、专家支持和知识体系。
源码公开,并没有自动复制这些能力。
同样,一个SaaS产品真正难搬走的,往往是服务端系统、长期数据、反馈回路、客户关系、行业知识、运营网络,以及出了问题以后能不能持续履约。
代码决定一个产品能不能被做出来。
这些东西决定它能不能长期被人使用。
这也是为什么“可复制”和“可替代”必须分开看。
一个团队可以在几天内复现某个界面,甚至还原一段客户端算法;但它很难同时复制原产品积累多年的脏数据处理、异常兜底、权限体系、渠道关系和客户信任。越靠近可见界面,复制速度越快;越靠近长期运营,时间仍然是最难压缩的成本。
因此,REA带来的变化并不是“软件失去价值”,而是价值的位置继续移动:
- 从实现不可见,移向业务知识;
- 从功能数量,移向迭代速度;
- 从一次性交付,移向持续服务;
- 从用户看不懂,移向用户即使看懂也仍愿意信任。
对于小团队,这是一次难得的降维。
他们可以更快理解旧系统、迁移没有文档的遗留软件、研究兼容方案,也能在合法授权范围内,把原本只有大公司承担得起的调查工作交给Agent。
对于软件公司,这同样是一记提醒。
如果产品最重要的优势,只是别人还不知道你怎么实现,那么这个优势的半衰期正在缩短。
05|以后,复杂性必须真实存在于业务里
REA当然不是一台“复制所有软件”的魔法机器。
它仍然会走错路,会消耗大量Token,会把推断说得像事实,也受目标权限、工具能力和法律边界约束。
可它已经让一个趋势变得很难忽略:软件的可读性,正在从少数专家的手艺,变成Agent能够规模化执行的流程。
这堵墙一旦变薄,行业不会停止写软件。
行业只会被迫重新回答一个更难的问题:当别人更容易看懂并复现你的实现,用户为什么仍然选择你?
答案可能是数据,是服务,是社区,是可信度,是对某个行业十年积累下来的判断,也是每次变化发生时,你比别人更快把它变成可靠产品的能力。
过去,软件公司可以把复杂性藏在二进制里。
以后,复杂性必须真实地存在于业务里。
软件真正的护城河,也不再是别人看不见你怎么做。
而是即使看见,也无法在短时间内成为你。
---
资料来源
- REA GitHub仓库及README:https://github.com/morluto/rea
- REA官方Showcases:https://rea.tools/showcase/
- GitHub REST API仓库记录(2026年10月17日):https://api.github.com/repos/morluto/rea
- 《Pop Quiz! Can a Large Language Model Help With Reverse Engineering?》:https://arxiv.org/abs/2202.01142
- Huli,《从逆向工程重新认识AI的强大》:https://blog.huli.tw/2026/04/18/ai-reverse-engineering-op/
- Red Hat Subscription Model FAQ:https://www.redhat.com/en/about/subscription-model-faq
- 10月12日12万Star记录:用户提供的InfoQ参考稿PDF《软件完蛋了吗?REA三天狂揽12万星》
说明:本文实测仅针对公开网页与本地保存的证据,用于说明技术原理。分析软件时,应确保拥有相关软件及工具的合法授权,并遵守许可与适用法律。