夜雨聆风学习资料网

ARTICLE · 1163673

当AI可以逆向一些,软件还有未来吗?

当AI可以逆向一些,软件还有未来吗?

科技观察 · AI 与软件

一个让 AI 读懂闭源软件的工具冲上了 GitHub 榜首,"所有商业软件都会变成事实上的开源"的说法传得很凶。

这两天我的信息流里反复出现同一个工具。它的名字很直白,叫 REA,Reverse Engineer Anything,直译过来是"逆向工程任何东西"。10 月 7 日上线,几天之内冲到四万多颗星,到周末已经逼近五万,把 GitHub 趋势榜顶了下来。

比工具本身传得更快的,是围着它长出来的那套说法。我看到的中文转述里,最响的几句是:代码混淆和动态加密"直接成了皇帝的新衣";"不久之后,市面上所有商业软件本质上都会变成事实上的开源";"花几千万研发的闭源壁垒,转头就被人用 AI 无损扒光了"。

这类话我通常先放一放,不是因为它们一定错,而是因为技术热点在传播中会被套上一个固定模板:真实的事件,一层一层加码,最后拼成一个"行业要完了"的完整故事。这个故事读起来很过瘾,但它和事实之间的差距,往往正好落在你需要做判断的那一小块地方。

所以这篇文章做两件事:先把 REA 这件事本身说清楚,再把那些加码的说法逐条校准。然后在后半段,我想接着聊一个更远的预言——有人说软件本身要消失了,以后有需求随时写一个就行。

先把工具本身说清楚

REA 的作者署名 morluto,MIT 协议开源。它的形态是 MCP 服务器加命令行工具——MCP 是让 AI 助手调用外部工具的一套接口标准,所以它本质上不是一个逆向工具,而是一层适配器:把 Ghidra、IDA Pro、Hopper、JADX、Binwalk 这些专业逆向软件,包装成 AI 能自己调用的接口。

Ghidra 是这些工具里最有意思的一个——它由美国国家安全局开发并开源,二十年来一直是安全从业者的标配。也就是说,这件事里的"能力"一点都不新。新的是谁在用。

它的工作循环也是三步:反编译出接近可读的代码,追踪执行把某个功能解释清楚,然后在你自己的技术栈里重建这套逻辑。官方说明写得挺克制:分析在本地跑,二进制文件不上传;每条结论都附带证据,同时附上"哪些部分没能解析";明确声明不还原原始源码,也不做整站克隆。最漂亮的官方案例是把一个老游戏里的音效函数还原成 C 语言,通过了 3205 个原始测试用例,63 个编译出来的函数字节完全一致。

注意一下这个案例的规模:是一个函数,不是一个游戏。这一点在后面会很关键。

它当然也不是免费的午餐。原生二进制分析必须自备 Ghidra、Hopper 或 IDA,其中两个是要花钱的;大文件上 Ghidra 冷启动可能要好几分钟;有公开测评统计,一次十二个文件的测试就产生了 20.6MB 的证据包,很容易把 AI 的上下文撑爆;运行时抓取会用你自己的权限去跑目标程序,稳妥做法是放进虚拟机。测评里还列着几个未修的缺陷,其中一个会让 JavaScript 分析卡住 MCP 的响应。

这些细节不性感,但它们决定了这个工具现在能干什么、不能干什么。

那几句说法,逐条校准

"一键还原成逻辑清晰的高级代码"——夸大。前面说过,官方自己就不这么声称。它产出的是伪代码,不是原源码;可执行字节也不被修改。一个有说服力的案例不能外推成"整个软件被还原出来了"。

"混淆和加密成了皇帝的新衣"——方向对,程度过头。这一条有真实的进展做支撑,而且出自官方信源:加拿大网络安全中心做过一个试点,用前沿模型处理恶意样本,把一段 217KB 的重度混淆 PowerShell 攻击链压缩到 15KB 可读代码,静态还原了传统沙箱会漏掉的后续阶段。混淆这层雾确实变薄了。但那个试点自己给出的结论同样是重点——整个流程里最重要的组成部分,是经验丰富的分析师设计的安全护栏。反混淆依然误报率高,依然需要人逐条验证。

"所有商业软件会变成事实上的开源"——这是叙事,不是事实。这个说法把三件不同的事压成了一件:能分析,能复刻,能替代。而这三件事的成本曲线完全不一样——能读懂一个功能,和"客户的文件下个月还打得开、出了问题有人负责",中间隔着的成本几乎没有下降。英文圈已经有专门的文章拆过这个压缩,指出支撑"软件完了"这种说法的推理链条,恰恰建立在测评方无法验证的那部分能力上。

"法律界反应过来就来不及了"——这条事实说反了。逆向工程在多数司法辖区为互操作和研究目的本来就是合法的,Ghidra 这种工具是政府机构自己开源出来的。法律从来没有管"能不能逆向",它管的是"拿逆向的结果干什么"——商业复制、漏洞攻击、未授权入侵,早就有法可依。REA 的说明里也写得很清楚:仅限合法的研究用途,获取授权是使用者自己的责任。真正滞后的不是立法,是企业的安全假设。

至于那些传闻里的个例——某款热门国产游戏"已经被破解出来了"之类——我没有找到可核实的一手来源。单方说法,不进这篇文章。

真正塌掉的是门槛,不是墙

把加码的部分去掉之后,剩下的东西其实很清楚,而且它比"软件完了"更值得注意。

能力没有变——反汇编和反编译的工具链二十年没动过。变的是使用这项能力所需要的训练量。过去要读懂一个中等复杂度的二进制,需要懂汇编、懂架构、还得有耐心,这构成了一道天然的门槛;现在一个不会读汇编的人,在会话里问几轮,就能拿到一份可用的解释。塌掉的不是墙,是台阶。

武器化这一周才发生,但工具已经二十年了。

THE THRESHOLD, NOT THE WALL

这也是为什么安全行业的反应比技术圈更紧张。能力扩散和技能门槛是两件事:一项专业能力的门槛从"十年训练"降到"一次安装"之后,危险的不是多了一批高手,而是多了一批本来没有能力、现在有了工具的人。同期就有 agentic 的渗透测试工具被用于攻击真实的金融机构,造成数万人的数据外泄——工具本身不是新的,用法也不是新的,只是用的人换了。

但这里必须补上另一半,也是中文转述里最容易被忽略的一句。REA 碰不到服务端。微信、支付宝、抖音这些应用的核心——风控模型、推荐算法、支付清算体系——全部运行在云端服务器上。工具能拿到的是本地安装包,以及客户端与服务端之间的请求响应。它能做的是在客户端和接口层面找到校验绕过、本地数据未加密、参数信任这类问题,从而给灰产留出批量薅羊毛的口子。但核心资产不在那儿。

这跟我在上一篇里写过的一句话是同一个意思:能被本地看到的,都不值钱。真正的护城河在别人摸不到的地方——这一条今天依然成立,而且它比"所有软件变成事实上的开源"要值钱得多。

然后是下一个预言:软件会消失吗

顺着这股热度,我看到一个更远的说法:软件这个东西本身要消失了,以后有什么需求,随时让 AI 写一个就行。

这个说法有一半是真的,而且这一半已经在发生。写代码的边际成本确实在趋零。以前"为一个小需求写个程序"在经济上根本不划算——要学、要调、要维护,收益还不如手工凑合。现在这个门槛塌了。这是真变化,不需要等未来。

但它把一个词挑错了。因为在软件的账本上,写代码从来不是最贵的那一段,而且它是唯一大幅降价的那一段。

成本 · 一份软件要付的账

↓ 写代码

— 需求澄清

— 数据接入与系统集成

— 可靠性验证与边界情况

— 安全与合规

— 跨时间的变更与维护

— 出问题时,谁来负责

— 分发,以及"能被找到"

只有第一项降了。所以"随时写一个"解决的,是账本上最小的一笔。

而这份账本里最不能省的一项,是最后那几行的另一种说法:软件的本质是承诺,不是代码。一个软件存在,意味着有人承诺它在特定条件下会工作,出了问题有人来修。临时生成的东西没有主体——它不是"谁"。你孩子升学报名的系统出了故障,你打电话找谁?这个"找谁"不是技术问题,是软件的定义问题。它不能被算力解决。

软件的本质是承诺,不是代码。

SOFTWARE IS A PROMISE

不是消失,是两极分化

那到底什么在消失?我的判断是:消失的只有中间那一层。软件的价值会往两头跑。

结构 · 两头在长,中间在薄

一头:公共基础设施,越来越集中

协议、云、支付清算、身份体系。它的全部价值来自"所有人用同一个",网络效应只会让它更集中。

↑ 挤压

中间:通用商业软件,正在变薄

没强到成为基础设施,也没碎到值得一次性生成。这一层是真在缩的地方。

↓ 挤压

另一头:一次性工具,越来越碎

低风险、个人化、结果你自己看得懂对不对。这一类确实会被"随时写一个"接管。

这个分法还解释了一个现象:为什么这一周被逆向的偏偏是大厂的客户端软件?因为它是公共的、分发出去的、存在于每台设备上的。能被看见的东西,才会成为目标。而它真正的核心恰恰放在看不见的地方。

一个老规律,和一个真差异

"软件会消失、程序员会消失"这类预言,我们已经听过好几轮了。无代码工具、第四代语言、CASE 工具、最终用户计算——每一轮都宣称业务人员从此能自己造软件,每一轮的结果都是软件总量的爆炸。原因不复杂:东西变便宜了,需求反而变多了,多出来的需求里又长出了新的复杂度和新的专业分工。

但这一轮有一个真的不一样的地方,我不想把它和前面的预言混为一谈:过去的工具仍然要求你自己把意图表述清楚,而这一次,是模型替你补全意图。你不用再说清"我要什么",你说个大概,它把剩下的猜出来。这是新的东西,不是旧炒冷饭。它让门槛下降的幅度比过去任何一轮都大。

也正因为是"替你补全意图",它带来两个不太被提起的代价。

一个是你不再需要理解你用的是什么。"有需求随时写一个"这句话里藏着一个默认前提:需求是既定的、从外面来的。但大部分需求其实是被既有软件的界面塑造的——你能想到的,都是你见过的。当"临时写一个"成为默认路径,需求本身会被更少的模板塑形。我前面写过的两篇文章谈的是同一个机制:一次讲 AI 锁住的是"使用智力的理由",一次讲它可能锁住"偏好"。这一次被锁住的,是需求。

另一个是可发现性。软件作为产品,有一个很不显眼的隐藏功能:它存在于某处,能被找到,能被分享。一次性生成的软件没有这个属性,它是会话的副产品,用完就散。三年之后,你怎么知道"我当时写过这个东西"?这和 AI 对话缺少长期记忆是同一个毛病,只不过这次弄丢的是你自己的工具。

一条可以拿去用的判据

说了这么多,落到能用的地方,其实只有一句话:

能被你自己验证的,会变成一次性;需要别人为你背书的,不会。

WHO VERIFIES IT?

会变一次性的:低风险、个人使用、结果你自己看得懂对不对。

不会的:需要网络效应(协议、标准)、需要承担责任(钱、健康、身份)、需要长期承诺(合规、审计)、需要被找到和分享。

这条判据也顺带回答了开头那个问题。为什么"所有商业软件变成事实上的开源"这个说法站不住?因为一个软件一旦需要向用户承诺什么——不出错、可追溯、有人负责——它就不能由一次会话临时生成,也不能由一次逆向临时拼出来。逆向拿到的是"它是怎么做的",拿不到的是"它承诺了什么"。

写这一篇的过程中,我最大的感受是:技术新闻最容易误导人的地方,不是夸大能力,而是把"某件事变容易了"直接等同于"某样东西要没了"。门槛塌了,墙还在;写代码变便宜了,软件反而更多了。真正被改变的,是站在门槛上的那批人——他们脚下的台阶没了,而墙还站在原地。

ONE QUESTION · 留个问题

想一个你每天都在用的软件。如果明天有人把它原样复刻一份、免费送给你,你敢换过去吗?

如果不敢,你真正在买的,其实是哪一样东西?

SOURCES · 参考来源

REA 官方仓库 morluto/rea 及其 README、v6.0–6.3 发布说明(2026-10,github.com);

公开测评《REA Review: Reverse Engineer Any App With AI Agents》(andrew.ooo,2026-10-10 前后,含 12 文件测试与证据包体量、未修缺陷清单);

加拿大网络安全中心《How the Canadian Centre for Cyber Security uses frontier AI to accelerate malware reverse engineering》(cyber.gc.ca,2026-10);

虎嗅/字母AI《号称"逆向分析一切",微信、支付宝、抖音等国民App都"惨遭毒手"》(2026-10);kingy.ai《AI Reverse Engineering Is Getting Easier. Can It Really Replace Adobe?》(2026-10-10);

Kotaku 关于 AI 反编译游戏浏览器移植的报道(2026-10-09);今日头条关于 REA 的中文技术解读与使用说明(2026-10)。

相关学习资料