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

开发者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,再通过对照测试检查结果。如果这些方法更加可靠,后来者追赶的时间就可能缩短,原厂也会更早面对价格竞争。

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

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

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

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

  • Related Posts

    一位55岁应届生,带着AI进入秋招季

    刚结束不久的福州茶交会上,55岁的肖朝虎和几名二十出头的学生…

    AI存储困局:良率天花板为何卡住了HBM供给?

    根据TrendForce集邦咨询最新研究显示,AI服务器需求…

    发表回复

    您的邮箱地址不会被公开。 必填项已用 * 标注

    bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak bokep anak
    xnxx porn xnxx porn xnxx porn xnxx porn xnxx porn xnxx porn xnxx porn xnxx porn xnxx porn xnxx porn xnxx porn