ARTICLE · 1290204
AI 开始逆向软件了 — REA 技术原理与单机软件的处境
2026 年 10 月上旬,一个叫 REA 的项目在 GitHub 上火了。十天时间,星标从一万多涨到二十万往上(各家报道的数字从十万到四十万都有,口径差得离谱,这个数不用较真)。
它干的事说起来不复杂:把 Ghidra、IDA、Hopper、JADX 这几个逆向工具包成一组统一接口,交给 Claude Code、Codex、Cursor 这类 AI 编程助手去调用。装法是一条命令,npx rea-agents setup,装完重启,助手就会自己翻二进制、追调用链、给你一份带证据的分析报告。
REA 是 Reverse Engineer Anything 的缩写。口号很大。这篇想讲清楚三件事:它到底怎么工作,普通人拿它能干什么,以及它会不会把单机软件的生意掀翻。
这篇写给对技术好奇、但没亲手做过逆向的读者,技术细节尽量往白里说,拿不准的地方我会标出来。
一、逆向难在哪一步
你手机上有个 App,某个功能做得不错,你想在自己产品里做一个类似的。人家不给源码,你手里只有一个安装包,或者一个 exe。从这个编译好的东西里把实现逻辑反推出来,这件事叫逆向工程。
它跟"破解软件"是两回事。正经用途是恶意软件分析、漏洞研究、协议理解、旧系统兼容、找回丢了的源码。当然,两件事用的工具是同一套,这条线不好划干净,后面还会碰到。
过去这件事全靠人肉。工程师打开 IDA 或者 Ghidra,先看看程序里有哪些字符串,找到感兴趣的那条,追谁引用了它(XRef),再看调用关系,进到具体函数,读反编译出来的伪代码,最后在自己脑子里把逻辑拼回去。
工具很专业,流程很原始。难的地方也不在工具。IDA 的快捷键啃两个月总能记住,难在"下一步该看哪儿"。先搜哪个字符串、追哪条引用、什么时候该回汇编确认一眼,这些都没有标准答案,判断装在十年经验里,写不进文档。
于是三个后果跟着来:
工具散。IDA、Ghidra、Hopper 各有各的操作方式,换个目标就得换一套手感。 过程黑盒。一次逆向做完,为什么追这个函数,没留档,别人没法复核。 经验带不走。换个目标、换个人,从头再来。
REA 押的就是这三条能不能一起解决。
二、不造引擎,只造插口
REA 有一个很克制的决定,不自研反编译引擎。
这件事 Ghidra 免费开源做了二十年,IDA 商业版做了三十年,新项目从零开始做不过。REA 改做另一件:把这些图形界面的桌面工具包成一个 MCP 服务器。
MCP 是 Model Context Protocol,2024 年底推出来的一个协议,作用是给"工具"定一套统一的调用方式。以前每个工具是一台独立的机器,各有各的插头;MCP 定的是一套标准插座,Agent 拿一个插头就能插遍所有机器。
(这个比方只在"接口统一"这一层成立。MCP 还规定工具怎么描述自己、参数怎么传、结果怎么回,比插座复杂得多。)
逆向的调查链,从人手搓变成 Agent 自己跑
接上之后,分析流程就固定成一条链:打开文件 → 搜字符串 → 追 XRef → 看调用关系 → 反编译 → 重建功能。Agent 自己决定下一步搜什么、追哪条引用,工程师只负责提问和验收。
桥接这一层还有个设计值得说。Hopper、Ghidra、IDA 三家的接口和启动方式完全不同,REA 用一个 bridge 目录统一封装,加一个引擎就是加一份桥接实现,上层接口不动。它按静态和运行时也切了一刀:JavaScript、.NET、APK 这类目标不用跑起来,直接读文件;原生二进制交给 Ghidra;进程行为、动态验证才跟目标交互。不是所有分析都得把程序跑一遍。
还有安装那一步。一条 npx rea-agents setup 做三件事:把 MCP 服务器注册进你选的客户端、装一份配套的工作流说明、备份原有配置。那份工作流说明是关键,它把"先搜字符串、再追引用、可疑处回汇编"这套调查方法写成了指令。装完重启,Agent 就按这个套路走,不用你在提问里每次重复交代。
经验从人脑子里搬到了一个可复制的文件里,这一处我个人看得比较重。
四块设计里,后两块决定了它能不能用在正经活上
三、结论要能通过真人核验
能逆向一个二进制不算什么,能让人相信自己对上了才算。
AI 做逆向有个天然毛病:它会编。你问它"这个函数干什么的",它能给你一段读起来很像那么回事的解释,地址随手糊一个。
REA 的做法是给每条结论绑定证据和局限。Agent 拿到的是完整一条:这个函数在地址 0x4A2C,被 0x4B10 和 0x4C88 两处调用,反编译伪代码是这一段,结论可信到这一步为止。只给一句"这个函数是算碰撞检测的",你没法核。
有了地址,人就能自己去看一眼。这一步决定了它能不能用在正经工作上。
我在云上做方案的时候有个类似的习惯:给客户的每个数字,都要能追到公告的第几页。追不到的,宁可写"厂商自报,未复测"。AI 给结论这件事,道理一样。
四、社区逆向出来的几个案例
原文列的那些里,有三个值得看。
第一个是 1996 年的弹球游戏 DX-Ball。有人从 x86 二进制里把声音左右声道定位那个函数抠出来,用 C 重写,跑了 3205 个原始测试用例全部通过,编译后有 63 个字节和原版完全一样。63 个字节这个数才是重点,说明它是逐字节对上了,看着像的东西对不到这个程度。
第二个是 Notion 的剪贴板。从 Electron 渲染进程的剪贴板 API 出发,穿过 preload 脚本、IPC 通道,一路追到主进程,把富文本剪贴板的数据格式和消息内容全扒了出来。三层架构,一层层穿过去,没跳步。
第三个案例离日常近一些。有人用三星 S24 Ultra 连着 Codex,让 REA 分析索尼官方的耳机 App,把"风噪降低"这个功能的实现链路搞清楚,然后写了个独立 App,打开就能直接开降噪,不用装官方那一套。
另外还有几个零散的。有人逆向自家的小米体脂秤,把数据协议弄明白,做了个开源看板;有人逆向自家电视;有人逆向自家那套家居 IoT 软件,改到电脑上控制。
这些案例有个共同点:发布者大多是会提问的开发者,职业逆向工程师反倒少。
还有一个案例要说一句。有个报道把射击游戏 99% 的函数还原成 C++、83% 编译后逐字节一致当成 REA 的战果,实际那个案例用的是另一套 MCP 工具。这类混着说的情况在这一波传播里不少,看案例的时候得对一下工具名。
五、普通人拿它能干什么
先说门槛。REA 降的是"读得懂汇编"这道门槛,没降"动手"这道门槛。你要装 Node.js 22 以上,装一个支持 MCP 的编程助手,还得有模型的调用额度。这些事对程序员是半小时,对完全不动手的人是道墙。
所以下面这些场景,更准确的说法是"你能找到一个会装的人帮你做",不是"你自己点两下就行"。
家里那台设备,官方软件难用。
体重秤的 App 塞满广告,电视的遥控 App 三天两头更新,空调要装三个 App 才能调。这类设备的通信协议本身不难,难的是以前没人愿意为一个几十块的设备去学逆向。现在让 Agent 把协议理出来,剩下的就是写个小页面。前面提到的小米体脂秤和自家电视,走的就是这条路。
想知道一个软件到底在往外发什么。
某个 App 特别耗电,某个功能关掉网络就不能用,或者你怀疑它在你不知情的时候上报了什么。REA 接得住抓包文件(pcap、HAR)和进程行为分析,能把这个软件在什么时候连了哪儿讲清楚。这类用途对普通人的实际价值,可能比对开发者还大。
老软件在新系统上跑不动。
1996 年的游戏、十几年前的行业软件、只认 Windows XP 的内部工具,这类东西的共同问题是源码没了。社区里有人从 PC-98 的 16 位汇编里把老游戏的弹幕角度计算恢复出来,还跟当年的编译器输出做了交叉验证。对做 Mod 的人和做软件保存的人来说,这是刚需。
数据搬不出来。
一个用了好几年的笔记软件,导出功能只给你一个残缺的格式。想把自己的东西完整搬到别处,就得先搞懂它内部存在哪儿、怎么存。Notion 剪贴板那个案例讲的就是这个路子,只是方向反过来用。
小团队想弄清竞品的某个功能。
这个场景很常见,也是原文开篇那个场景。看到别人家有个功能做得不错,想知道它大概怎么实现的、成本在哪个量级,再决定自己做不做。这里面有法律边界,下面单独说。
六、逆向面临的法律问题
REA 自己写得很明确:只用于合法研究、教育、互操作性、软件保存,分析你拥有或被授权检查的软件。社区案例也都守着这条线。逆向自家的电视、自家的体脂秤、自己买的耳机,都是这个路数。
分界线大致这么看:
你自己买的设备和软件,为了自己用、为了跟别的软件互通去搞清楚它怎么工作,多数地方是允许的,欧盟对互操作性的口子开得更大。 绕过技术保护措施、去掉授权校验、把逆向出来的代码用到自己产品里,这三件事性质完全不同,多数地方明确违法。 逆向出来的东西公开发布,尤其涉及别人的算法和私有协议,风险还要再上一层。
我不是学法律的,上面这三条只是给个粗线。真要做,找律师比找我靠谱。
七、大规模破解没那么容易
问题摆在这儿,REA 会不会让单机软件被大规模破解。
我的判断是,不会因为一个工具就大规模发生,但"破解这件事的性价比"确实在下移,而且下移的幅度被讨论高估了。
先看一组对照。2025 年底,破解社区拿出了基于 hypervisor 的绕过方案,在操作系统底下加一层,拦截并伪造加密组件的验证响应。到 2026 年 4 月,所有受 Denuvo 保护的单机游戏,未破解清单清零。这套加密方案问世十来年,这是头一回全线失守。
接着看反制。厂商加的是 14 天强制联网验证,每两周必须连服务器做一次请求响应。这一招 hypervisor 层模拟不了,因为它要的是服务器那头真的回话。
攻守两边的节奏,本地守不住就往服务端挪
这条新闻说明的事,比"破解变容易了"复杂。本地这道墙守不住的时候,防线会往服务端挪。
影响"会不会大规模"的,我列几个因素。
加固这一侧也没闲着。一项 2025 年的研究统计了 50 多万款安卓应用,Google Play 排名前 1000 的应用里 92.5% 用了代码混淆,排名靠后的只有 61.9%。混淆还只是加固里比较浅的一层,商业壳比它狠得多。
第二行值得多说一句。现在那套绕过方案,用之前要关掉 Windows 的内存完整性保护,还要临时关掉驱动签名强制,装一个内核级驱动。这些步骤对折腾党是五分钟,对普通玩家是"我为什么要为了省 200 块钱把系统安全关掉"。技术可行和大规模发生之间,隔着这道心理门槛。
看清楚和绕过去,中间隔着一层东西。
REA 这类工具让"看懂一个软件怎么工作"变便宜了。但看懂和绕过去是两件事。你读懂一个校验函数在算什么,不等于能让它返回 true。REA 自己写明了做不到的部分:遇到商业加固、反调试、虚拟机壳,Agent 会卡住,这是反编译引擎自身的天花板,桥接层解决不了;内核驱动那一层,它的静态优先路线也覆盖不全。
所以压力集中在克隆那一头,破解倒在其次。
索尼那个降噪 App 就是例子。它的价值几乎全在"那个算法怎么调的",一旦链路被看懂,壁垒就没了,整个过程不涉及破解任何加密。这一类对工具软件的压力,比破解本身大得多。
把这条推到单机游戏上,结论会不一样。一款游戏的战斗数值被全看明白,也只能省掉设计那一步,美术、叙事、关卡量、打磨,一样都省不掉。
八、单机还在做,卖的东西变了
判断:单机游戏会继续有人做,做的人还更多;单机 App 会更少,但原因跟破解关系不大。
游戏这边,供给和需求两头都在涨。
供给端,2025 年 Steam 新上架游戏接近两万款,其中独立游戏八千多款。统计口径各家用得不一样,一万三、一万八、两万的数都有人报,但"逐年翻着涨"这个趋势是一致的。
需求端,2025 年国内主机游戏市场实际销售收入 83.62 亿元,同比增长 86.33%,连续三年高速增长;客户端游戏 781.6 亿元,增长 14.97%。
但收入分布极端。另一个统计口径下,2025 年新游里 40% 的收入不足 100 美元,65.9% 不足 1000 美元。100 美元正好是上架费。
这两组数放一起,说明"有人做"和"能活"是两件事。做的人越来越多,能活的还是那一小撮。
破解在这里起什么作用?它影响首发窗口,不影响长尾。北卡大学 2024 年有一份研究,结论是被破解的游戏在发布后 12 周内总收入少约 20%,三个月之后,破没破对收入基本没影响(这份研究我是从二手报道看到的,没读到原文,百分比可能有一两个点的出入)。
20% 不少,但也不足以把一个能卖的游戏变成不能卖。
改单机游戏商业模式的是另一件事,钱从"卖拷贝"往"卖服务"挪。订阅库的保底、DLC、抢先体验、联机、云存档,这些东西破解不了,因为它们不在你的机器上。
所以我的判断是,单机游戏会继续有人做,但"体量小、卖一次性内容、玩法一眼能看懂"那一档会更难。反过来,"内容量大、美术和叙事占比高"那一档,抗逆向能力强得多。你可以把一个人的战斗数值全看明白,也画不出他那批原画。
单机 App 要分开说。
移动端的主流一直是内购加广告。2025 年国内移动游戏收入 2570.76 亿元,小程序游戏 535.35 亿元,绝大部分来自内购和广告。买断制在手机上一直是少数派,跟破解没多大关系,是渠道和付费习惯决定的。
脆弱的是"纯本地、一次性买断、功能就是全部卖点"那一类工具 App。这一档会被两头挤:一头是功能被看懂就能抄,一头是系统自带功能顺手就做了。
能活的工具 App 靠的是别的:持续更新、跨设备同步、团队协作、社群,还有那个挺土的,做得比自带的好用。这些东西都不在安装包里。
参考
腾讯技术工程《把逆向工程交给 Agent:一文拆解爆火的 REA 技术原理》,2026 年 10 月 15 日
《2025 年中国游戏产业报告》,中国音像与数字出版协会,2025 年 12 月 19 日
Gamalytic 2025 年 Steam 新游收入统计,2025 年 10 月
Tom's Hardware 关于 Denuvo 全线被绕过与 14 天联网验证的报道,2026 年 4 月
北卡大学关于 DRM 与破解对游戏销售收入影响的研究,2024 年
一项针对 50 万款安卓应用的混淆使用情况研究,2025 年,经 ProtectT 公开材料转述















































































