**GitHub开源项目REA利用AI对现有软件实施逆向工程并重建功能,已获超11万Star,多个重建案例通过对照测试。该趋势可能削弱软件厂商依靠独有功能收费的能力,尤其令功能单一的小工具和办公软件更早面临免费替代品竞争。** **要点** **1. REA实现“万物皆可逆向”** 开发者可让AI借助REA分析目标软件的安装包、代码或运行结果,理解功能实现方式后重写同类功能,即使没有原始源代码也能完成。 **2. 重建结果通过对照测试验证** Aegis验证器重建算法经133组测试全部一致;DX-Ball函数重建经3205组测试返回值全部匹配,并生成与原版相同的63字节机器码。 **3. AI显著缩短逆向工程工期** 开发者Chris Lewis逆向《Snowboard Kids》用时84天,此前处理《Snowboard Kids 2》耗时596天,但工期差异不能全部归功于AI,也受个人经验和社区专家影响。 **4. 经典游戏与办公软件涌入网页** 《光环》《GTA:罪恶都市》等游戏已出现在浏览器移植合集中,部分运行流畅;VibeOffice将Office 2003界面搬进浏览器,可编辑docx等文件,但保存兼容性问题仍有待解决。 **5. 功能单一软件最先承压** 替代工具只需做好用户需要的那部分功能,即可吸引用户转移,尤其在“打开网页就能用”的便利下;企业软件则因兼容性、维护和支持需求,竞争压力相对较小。
AI“逆向一切”,软件的天真要塌了?
2026-10-12 15:51

AI“逆向一切”,软件的天真要塌了?

本文来自微信公众号: APPSO ,作者:发现明日产品的,原文标题:《AI「逆向一切」,软件的天真要塌了?》


开发者Brandon Thomas宣称,「Software is over」,软件完了。


前不久,他用AI做出了七款Adobe替代工具。在他看来,其他开发者也可以重建现有软件的功能,再把代码开源。如果这条路走得通,我们一直在续费的软件,还有多少功能非得向原厂买?


同样受到关注的,还有GitHub上的开源项目REA。


图|🔗https://github.com/morluto/rea


截至10月12日,它的Star数已突破11万。它的全称是Reverse Engineer Anything,意思是「逆向一切」。



开发者看中一款软件的功能,可以让AI借助REA研究它的实现方式,再编写类似功能。即使拿不到原始源代码,也可以从安装包、运行结果或网页请求中寻找线索。


一时间,万物皆可逆向。


REA怎么「逆向一切」


REA的使用说明给出了一种用法。开发者想给自己的应用增加搜索功能,可以让AI分析Notes笔记应用如何实现搜索,再参考分析结果编写自己的版本。


为此,REA可以接入Ghidra、Hopper、IDA等软件分析工具,也支持分析JavaScript、Electron应用和网站。配合Claude Code、Codex等Agent,AI能调用工具查找线索,继续调查,再编写代码、检验结果。



官网展示的一个案例,研究的是开源验证器Aegis。


它会显示一组六位登录验证码,每隔30秒更新一次。Agent分析了Aegis的安卓安装包,找到计算验证码的方法。项目方据此重建算法,做成一个可以手动调整时间的网页。



将时间停在第59秒,页面显示一组数字;调到第60秒,数字随之变化。同一个30秒区间内,验证码保持不变。项目方使用公开测试数据,比较重建算法与原应用方法的输出。报告称,133组测试结果全部一致。


Notion的案例则研究了复制功能。复制一段带格式的文字时,程序需要把文字和相关格式交给系统剪贴板。Agent沿着桌面客户端的代码,追踪文本和HTML如何经过不同进程,最终写入剪贴板。


老游戏DX-Ball的案例,关注声音如何跟随画面位置变化。砖块在画面左侧被击中,声音也应偏向左侧,程序中的一个函数负责完成这类换算。


由于反编译结果不完整,Agent继续检查底层指令、函数调用关系和计算所需的固定数值。项目根据这些线索,用C语言重写了这个函数。



项目将屏幕从左到右的整数位置与五种参数设置组合,共进行了3,205组测试,报告称新旧函数的返回值全部一致。在指定的旧版编译器环境下,新函数还生成了与原版匹配的63字节机器码,整款游戏则仍在重建中。


《东方幻想乡》的案例关注弹幕的角度计算,包括一圈16颗子弹如何排列、如何朝向玩家。项目借助REA检查原DOS程序,再与已有的C++重建代码对照。


为了让AI有章可循,仓库中的`SKILL.md`规定了一套调查方法。AI需要找到负责某项功能的代码,追踪数据流向,并区分实际观察与推断。任务过大时,就缩小范围,保存已有证据,供后续继续分析。



重建完成后,还要让原程序和新版本执行相同操作,比较输出、交互表现及相关文件的变化。只测过一个函数,就不能据此判断整款软件是否重建成功。REA也提供了版本比较和崩溃调查流程,用于追踪软件更新与运行故障。


APPSO认为,AI逆向值得关注的一点,是它有一个现成产品可以对照。开发者能够比较新旧版本的运行结果,让AI围绕差异继续修改,部分重建工作因此有了明确的检验依据。


当然,「万物皆可逆向」不等于「万物皆可随意复制」。逆向工程本身并不必然违法,但未经授权破解软件保护措施、直接复制受版权保护的代码,或将他人的商业秘密用于竞争,都可能引发法律纠纷。


尤其当AI把软件逆向的门槛进一步降低,技术上能够重建某项功能,也不意味着开发者就有权将重建成果公开发布或商业化。具体是否合法,仍取决于使用方式、授权条件及适用法律。


点开网页,连《光环》都能玩了


REA之外,AI参与逆向与移植的讨论,已经延伸到更多经典游戏。


《光环》《GTA:罪恶都市》《辛普森一家:横冲直撞》等熟悉的名字,陆续出现在浏览器游戏移植合集中。原本需要主机或本地客户端的作品,如今在网页里有了入口。


Kotaku记者Lewis Parker体验了其中多个版本,称部分游戏运行流畅。《辛普森一家:横冲直撞》的一个版本以240帧为目标,他试玩的一个《光环》版本也能连接在线服务器,延迟不高。


Halo CE Mobile的项目页面介绍,玩家准备好自己的游戏数据后,就能通过浏览器运行基于反编译成果的《光环:战斗进化》,使用手机触控、手柄和联机功能。添加到手机主屏幕后,游戏可以全屏运行,存档也支持导出和恢复。



不过,网上这些版本采用的方法不同,涉及反编译、模拟运行和移植,也依赖前人积累的成果。仅凭演示,很难判断AI完成了多少工作,用「一夜完成」概括并不准确。


Lewis Parker还担心,某个版本被下架后,新的版本可能很快出现。只要已有成果能被继续使用,发行商就可能需要反复处理。


AI如何参与开发,任天堂64游戏《Snowboard Kids》的记录提供了更具体的例子。


Chris Lewis在今年8月的复盘中提到,这次逆向用了84天,而他此前处理《Snowboard Kids 2》时,花了596天。他让多个Agent分别处理不同函数,并记录已经发现的编译器规律,供后续任务参考。



他也提醒,个人经验、游戏规模和社区专家的帮助都会影响进度,不能把工期差异全部归功于AI。项目虽然实现了重建代码与原游戏机器码的匹配,但许多函数的用途和数据结构,仍需继续整理。


除了经典游戏,日常办公工具也出现在了网页里。


VibeOffice将Office 2003的菜单和工具栏搬进浏览器,提供文字、表格和幻灯片编辑功能。按照项目介绍,用户无需注册账号,就能打开、编辑和保存docx、xlsx、pptx文件,文件在本机处理。


图|🔗https://github.com/tcchen2026/VibeOffice


在V2EX,一位用户提到,公司的云机不允许安装本地应用,浏览器工具恰好能帮上忙。有人反馈表格滚动出现问题,作者随后回复称已经修复。作者表示,代码都是国庆假期才开始编写的,目前还在尝试新主题,并考虑让AI助手通过应用内部接口编写文档。


不过,熟悉的界面背后,还有大量兼容性问题需要解决。用户只修改了一个数字,自然不希望保存后丢失旁边的图表。


VibeOffice因此以原文件为依据,尽量只修改用户编辑过的部分,但待办事项中仍有保存后丢失图形、图片的记录。


项目介绍称,它使用了来自LibreOffice、Apache POI等公开测试集的4,697份文件,检查打开、保存、编辑和恢复等操作。暂时无法编辑的宏和嵌入对象,会尝试保留原始数据,但保留下来,不代表已经支持相应功能。


作者披露的投入也反映了这项工作的难度。完成界面和基础功能所消耗的模型用量,按正价计算约为1000美元;随后,为了完善自动化测试、Office兼容性和无损编辑,又消耗了数倍token,到他回复时仍未完成。


你的软件,用户非买不可吗?


围绕这股热潮,Matthew Berman在视频中谈到,如果一家公司的竞争优势仅来自软件本身,未来可能面临压力,培训、客户支持和持续维护等服务会变得更加重要。


软件厂商当然有理由反驳。游戏能否稳定通关,办公文件会不会丢失内容,都需要检验,REA也没有证明任意软件都能被完整重建。


但用户选择替代工具时,未必需要等到对方做齐所有功能。


因为AI逆向的替代工具只要做好用户需要的那部分功能,就有机会争取到用户,进而间接缩短软件公司依靠独有功能赚钱的时间。


临时修改表格的人,需要顺利打开文件、准确修改内容,再把文件发出去。原版多出来的高级功能,未必能促使他继续付费。无法在公司云机上安装应用的人,还可能因为「打开网页就能用」,开始尝试替代工具。


成熟软件也替后来者完成了部分探索。哪些功能有人需要,界面如何安排,操作后应当出现什么反馈,都有现成产品可供参考。



过去,即使知道一项功能应该是什么样,理解并重建它仍需要大量人力。REA将部分分析工作交给Agent,再通过对照测试检查结果。如果这些方法更加可靠,后来者追赶的时间就可能缩短,原厂也会更早面对价格竞争。


用途单一的小工具,可能更早感受到压力。用户购买它,通常只为完成某项任务,替代产品一旦足够可靠,价格更低或使用更方便,就有机会吸引用户转移。


企业软件的竞争则复杂得多。旧文件需要兼容,团队需要协作,出了问题需要有人负责。替代产品还要承担迁移、维护和支持工作,才能让客户放心更换。


目前,这些项目还不足以证明哪家软件公司的收入会因此下降,但它们已经提出了一个值得软件厂商重新考虑的问题。当用户需要的功能更容易被重建,产品整体领先,还能在多大程度上支撑原来的价格?


你的软件仍然领先,用户却可能已经找不到续费的理由。

AI创投日报频道: 前沿科技
本内容来源于网络 原文链接,观点仅代表作者本人,不代表虎嗅立场。
如涉及版权问题请联系 hezuo@huxiu.com,我们将及时核实并处理。
正在改变与想要改变世界的人,都在 虎嗅APP