夜雨聆风学习资料网

ARTICLE · 1167659

一个叫REA的开源工具,正在让“看懂软件”变得人人可做

一个叫REA的开源工具,正在让“看懂软件”变得人人可做

不用源码,不用懂汇编,一行命令,你的AI助手就能拆开任何软件,告诉你它到底是怎么工作的。GitHub上6天涨了10万星,而绝大多数人还不知道这意味着什么。

2026年10月初,一批老游戏突然能在浏览器里直接玩了。

《GTA5》《光环》《半条命》《暗黑破坏神》——这些原本需要完整安装包和高端显卡才能跑起来的游戏,被逆向开发者Maurice Heumann用十几个AI智能体并行“拆解”,把一款射击游戏99%的函数还原成了C++源码,其中83%编译出来和原程序逐字节一致。

而在这场“拆解一切”的浪潮里,名字最响的那一个,叫REA。

全称Reverse Engineer Anything——逆向一切。6天从不到1万星涨到超11万星,平均每天约1.7万。截至10月12日,星标数已逼近13万。

它要做的事情极其简单也极其狂妄:不需要源码,让你的AI编码助手去理解一个已经打包好的软件是怎么实现某个功能的,并给出证据。

REA主页第一屏就是这么写的:“在某个App里看到想加进自己产品的功能?让你的智能体用REA去查一查。”

它的开源地址在 github.com/morluto/rea,采用对商用友好的MIT协议。官网在 rea.tools,上面有完整的安装指南和案例展示。

01
REA到底是什么?给AI装上一双“X光眼”

AI FRONTIER

先说说什么是逆向工程。

你平时用的软件,是程序员先写好源代码,再“编译”成电脑能直接执行的机器码。源代码人能读懂,机器码基本就是一长串数字。逆向工程,就是手里没有源代码,只拿着编译好的程序,往回推它是怎么写出来的。

这有点像拿到一只没有图纸的机械表,想知道它的计时功能怎么实现,只能打开表盖,一个齿轮一个齿轮地看它们怎么咬合。过去这是安全研究员和破解者才具备的手艺,要在反编译器、调试器这些专业工具之间来回切换,拆一个功能花上几天是常事。

REA做的事,是把这些专业工具接到Claude Code、Codex、Cursor这类AI编程智能体上。

你可以这样理解:AI很聪明,但它看不见你硬盘上那个。exe文件。它没法加载二进制、没法读内存字节、没法追汇编指令——除非有人给它递工具。 REA就是递工具的那个人。

你对AI说一句“弄清楚这个App的搜索功能是怎么做的,给我看证据”,AI就会通过REA去调用Ghidra、IDA、Hopper这些反汇编工具,翻机器码、追调用链,最后把结论和证据一起交回来。

它不是什么。 它不是“输入一个软件就自动吐出源码”的魔法。官方明确说明:REA不保证恢复原始源代码,也不能自动克隆任何应用。

它是什么。 它给的是一份带证据的“功能说明书”。每一条结论都附有出处:哪条指令、哪个内存地址、哪几个字节。官方文档要求结果必须包含观察依据、推断和未解决的问题。反编译器说函数没参数?REA会把指令也给你看,告诉你参数其实藏在某个寄存器里。

上手门槛低得离谱。 安装只需要一行命令 npx rea-agents setup,前提是你电脑上有Node.js 22.19以上版本。它支持Claude Code、Cursor、Codex等十多种主流AI编码助手。分析全程在本地完成,目标软件不上传云端。

如果你只是分析JavaScript或Electron应用,零配置直接开跑。但如果你想深入分析原生二进制文件(比如。exe),就需要额外配置Hopper、Ghidra或IDA这些专业工具。

JS/Electron是零门槛入口,原生二进制则有一定配置成本。

02
它真能干出什么?一个1996年的游戏被还原到“字节级一致”

CHAPTER 02

光说原理不够直观。REA官方放出了一个完整的案例,讲的是1996年Windows打砖块游戏DX-Ball。

研究者想搞清楚一件事:砖块被击中时会发声,声音的左右声道是怎么算出来的?

反编译器只给了一句废话般的伪代码:return __ftol();——参数没了,计算过程也没了。

AI拿着REA追了四步:读指令,发现函数其实有个整数入参;追调用者,发现调用方先做了“20 + 30 × 砖块横坐标”的计算,原来传进来的是砖块的屏幕坐标;继续读内存、做交叉验证,最终把不完整的伪代码还原成了完整的C语言。

重建的版本通过了3205个原始x86测试用例,编译后的63个函数字节和原版完全一致。

这不是“差不多能用”的程度,是字节级完全一致。

类似的案例还有几个。有博主用REA拆解了Notion的剪贴板功能,从渲染进程的剪贴板API出发,穿过preload和IPC,一路追到主进程,看清了富文本剪贴板的格式处理。还有人用REA分析了PC-98老游戏《东方封神录》的弹幕角度计算,搞清楚了一圈16颗子弹如何排列、如何朝向玩家。

REA支持分析的对象覆盖面也很广:原生二进制、JavaScript/Electron应用、.NET程序集、安卓APK、网站、固件、网络抓包、EVM字节码。

一句话总结:你想知道一个软件的某个功能是怎么实现的,REA能让你的AI助手帮你查出来,而且给你看证据。

03
但你得冷静一下:它不是什么都能干

CHAPTER 03

它搞不定加壳的程序

安全领域博主轩辕之风的分析很直接:没加壳的程序AI轻松拿下,轻度加壳也行,VMP这类高强度虚拟化保护目前还啃不动。他还批评REA连动态调试都没有。一家做逆向产品的公司也在X上说,碰到加壳样本,模型分析照样会卡住。

而且,公开的成功案例有一个共同特点:问题足够收敛。DX-Ball是一款1996年的游戏,Notion剪贴板功能是一个具体而明确的问题。官方给出的使用建议也是:先问一个宽问题了解整体结构,再从结构中挑出真正关心的那一块,开第二个收敛问题深入下去。

它在专业圈里其实不算“新物种”

逆向工程教材《Practical Reverse Engineering》的合著者Elias Bachaalany在看到REA刷屏时,转了一条推介,开头就一个词:炒作。他的意思是,让AI接上逆向工具这件事,GhidraMCP、IDA Pro MCP这些开源项目去年就在做了。

REA走红前不久,IDA Pro MCP的作者Duncan Ogilvie在X上说,他用IDA的MCP插件,大约一小时解完了当年Flare-On逆向挑战赛的全部题目。Flare-On是谷歌办的年度逆向挑战赛,题目大多取材自真实的恶意软件分析。

所以REA的真正突破不在于“发明了新技术”,而在于把门槛降到了一行命令、一个普通开发者也能上手的程度。

法律边界在哪?

REA官方在GitHub页面写得很清楚:只用于合法的逆向研究,使用者需要自行取得授权并遵守法律。

法律上,出于学习、研究或互操作目的去“理解”一个程序,和把逆向结果直接用于商业复制,是性质完全不同的两件事。

真正的争议在于:传统“洁净室开发”要求一组人看原代码写规格、另一组人根据规格独立写代码,中间有一道“防火墙”用来隔离“读”和“写”。而REA让同一个AI既分析反编译结果、又生成新代码,等于拆掉了这堵墙。

有Hacker News用户把这种做法称为“洗知识产权”。

给普通人的建议很简单:分析自己写的软件、开源软件、有明确授权的东西,没问题。分析别人商业软件然后复刻竞品?风险需要你自己承担。

04
真正值得关注的一件事

CHAPTER 04

抛开法律争议和工具局限,REA背后有一个更深层的信号。

过去四十年,软件的价值逻辑有一部分建立在“源码不可得”这个前提上:我写了代码,编译成二进制,你拿不到,所以你得买我的。REA动摇的正是这个前提——当AI能读懂二进制、能追调用链、能生成重构代码,“拿不到源码”这件事,还能挡住谁?

Replit CEO Ahmad Msad在X上说了一句话:“AI驱动的逆向工程和反编译领域正在发生的事情简直不可思议。很快,所有软件都可能事实上变成开源软件。”

这意味着,产品的功能本身越来越难成为壁垒。品牌、生态、用户体验才是。 那些躺在过去成绩上、不积极迭代产品的公司,问题已经不再是“会不会有人克隆你”,而是“什么时候被克隆,以及克隆你的人会不会跑得更快”。

当然,也别过度兴奋。原型做得快,不代表最终产品就足够成熟、稳定。REA让“理解功能”变简单了,但“做出好产品”仍然很难。

05
工具没有善恶,但选择有

TOOLKIT

回到普通人视角:你不需要成为逆向工程师,但你需要知道,这个世界的软件正在变得“透明”。

对开发者来说,这是学习和致敬的好时代。你可以看到一个好功能,让AI帮你查清楚它是怎么做的,然后用自己的方式重新实现它。但“理解”和“复制”之间的那条线,需要你自己守住。

对普通用户来说,你手机里的App可能正在被更多人“看懂”,但真正保护你安全的,永远是那些你看不见的服务器端防线。

REA的作者morluto在GitHub上的研究方向是Agent和强化学习环境,开发REA的初衷是“给Agent做工具”。工具本身没有立场,但使用工具的人有。

在这个软件越来越透明的时代,真正稀缺的不是“看懂”的能力,而是看懂之后选择不抄的克制。

如果你想自己去看看这个工具,地址是:

● 
GitHub:github.com/morluto/rea
● 
官网:rea.tools

ABOUT · 埃文

如果觉得今天这篇有收获,欢迎点赞、在看、转发三连,我们下篇见

相关学习资料