
开发者Brandon Thomas宣称,「Software is over」,软件完了。前不久,他用AI做出了七款Adobe替代工具。在他看来,其他开发者也可以重建现有软件的功能,再把代码开源。如果这条路走得通,我们一直在续费的软件,还有多少功能非得向原厂买?同样受到关注的,还有GitHub上的开源项目REA……
本文来自微信公众号: 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,再通过对照测试检查结果。如果这些方法更加可靠,后来者追赶的时间就可能缩短,原厂也会更早面对价格竞争。
用途单一的小工具,可能更早感受到压力。用户购买它,通常只为完成某项任务,替代产品一旦足够可靠,价格更低或使用更方便,就有机会吸引用户转移。
企业软件的竞争则复杂得多。旧文件需要兼容,团队需要协作,出了问题需要有人负责。替代产品还要承担迁移、维护和支持工作,才能让客户放心更换。
目前,这些项目还不足以证明哪家软件公司的收入会因此下降,但它们已经提出了一个值得软件厂商重新考虑的问题。当用户需要的功能更容易被重建,产品整体领先,还能在多大程度上支撑原来的价格?
你的软件仍然领先,用户却可能已经找不到续费的理由。