打开网易新闻 查看更多图片

最近几天,一个名为 REA 的开源项目在 GitHub 上迅速走红。截止 10 月 12 日,这个项目获得的星标关注已经超过 12.4 万,成为近期 GitHub 上增长最快的项目之一。

REA 的全称是 Reverse Engineer Anything,意思是“逆向一切”。从名字就能看出,它的目标十分大胆。借助 AI 分析现有软件的内部实现,它想让开发者即使拿不到源代码,也有机会弄清楚一款软件的功能是如何实现的,并尝试编写自己的版本。

这个项目很快引起了软件社区的关注讨论。科技博主 Matthew Berman 在社交平台上转发相关内容时,更是直呼 “Software is done”(软件完了)。

这已经不是软件行业遭遇的第一轮冲击。过去一年,随着 AI 编程能力不断提高,软件开发的成本正在下降,一些原本需要付费购买的功能,也开始出现由 AI 开发的替代品。如今,REA 又将 AI 的能力延伸到对现有软件的分析和重建,让软件行业的未来再次成为讨论焦点。

对此,有人认为,当 AI 可以更轻松地拆解和模仿现有产品,商业软件依靠封闭代码建立的优势将受到冲击。也有人指出,逆向工程早已存在,理解某项功能的实现原理,与完整开发一款可靠的软件之间仍有很大差距。

打开网易新闻 查看更多图片
(来源:Github)

AI 开始研究软件内部如何运作

要理解 REA 的作用,需要先了解什么是逆向工程。

通常,软件开发是从源代码开始的。工程师编写程序,再将其编译成计算机能够执行的文件。逆向工程则沿着相反的方向,从已经完成的软件入手,分析它的运行方式,推测背后的程序结构和实现逻辑。

长期以来,这项工作都具有较高的技术门槛。软件经过编译之后,原始代码里的变量名称、注释和部分结构信息会消失,留下大量难以直接阅读的机器指令。专业工程师需要借助反汇编、反编译等工具,从这些指令中寻找线索,再结合软件的实际运行表现进行判断。

REA 尝试让 AI 接手其中一部分工作。它将 Ghidra、Hopper、IDA 等专业分析工具整合起来,并通过 MCP(模型上下文协议)连接 Claude Code、Codex 等 AI 编程助手。开发者可以直接用自然语言提出需求,AI 则负责调用相应工具,寻找有关代码、追踪函数调用关系,再根据分析结果尝试重新实现某项功能。

例如,开发者想了解一款笔记软件的搜索功能,可以让 AI 检查相关程序,找到处理搜索请求的代码,再参考这些线索为自己的应用开发类似功能。整个过程中,AI 既承担代码分析的工作,也可以参与后续的编写和测试。

为了减少分析过程中可能出现的错误,REA 还要求 Agent 记录证据,区分已经观察到的程序行为和推测出的结论。在完成重建后,开发者可以让原程序和新程序执行相同操作,比较两者的输出结果,检查功能是否得到正确还原。

打开网易新闻 查看更多图片
图|REA 的逆向分析流程(来源:GitHub)

目前,REA 已经可以辅助分析 JavaScript、Electron 桌面应用、安卓程序,以及部分网站和原生二进制文件。官方也展示了一批具体案例。

其中一个案例来自办公软件 Notion。

在 Notion 中,用户可以复制一段带有标题、列表等格式的文字,再粘贴到其他应用中,同时保留部分原有格式。REA 可以帮助弄清楚这一功能背后的实现方式。例如当用户点击复制时,软件究竟经过了哪些步骤,才把文字和格式一起保存到电脑的剪贴板中?通过分析,AI 成功追踪了这一过程,找到了负责传递和处理这些信息的程序。

另一个案例来自经典打砖块游戏 DX-Ball。游戏中,声音会随着砖块被击中的位置发生变化。当左侧砖块被击中,声音更偏向左边;右侧砖块被击中,声音则相应向右偏移。

打开网易新闻 查看更多图片
图|打砖块游戏(来源:DX-ball)

REA 尝试还原的,就是这套声音位置计算方法。在案例中,AI 通过分析原有程序,逐步弄清了声音如何根据砖块位置变化,并用 C 语言重新编写了相关代码。测试结果显示,在 3,205 组不同输入下,新旧程序的计算结果完全一致。在特定编译环境中,重建代码生成的 63 字节机器指令甚至与原版完全相同。

类似的尝试还出现在早期《东方 Project》游戏《东方幻想乡》中。游戏里,敌人会向玩家发射不同形状的弹幕,有时 16 颗子弹会均匀散开,有时则会根据玩家的位置调整方向。开发者借助 REA 分析了这些弹幕的角度计算方式,并与已有的游戏重建代码进行比较,验证分析结果。

这些案例说明,REA 已经能够帮助开发者研究软件中的具体功能,并尝试重现其运行效果。不过,它距离“还原任何软件”仍有一定差距。目前,REA 主要依靠现有逆向工具和 AI 模型开展分析,无法保证恢复原始源代码,也不能自动复制一整款复杂应用。官方展示的成果,大多集中在可以单独分析和验证的特定功能上。

软件行业的护城河,还能守住吗?

然而,REA 的出现,还是给软件行业抛出了一个棘手的问题:当 AI 既能帮人写代码,又能反向拆解现有产品的内部逻辑,软件开发与功能模仿的门槛是否会被进一步踩平?

2026 年以来,AI 编程工具的持续迭代,已经开始动摇资本市场对传统软件公司的预期。

随着 AI 开发应用的效率越来越高,不少原本需要专业团队数周甚至数月才能实现的功能,如今被迅速做出来。企业未来是否还愿意采购大量昂贵的外部软件、传统的 SaaS 订阅模式还能跑多久,成了投资者普遍担忧的问题。

这种情绪此前已经反映在资本市场上。今年早些时候,美股软件板块出现明显下挫,市场甚至一度流传起 “SaaSpocalypse”(SaaS 末日)的说法。据路透社 10 月 6 日报道,标普 500 软件与服务指数从 1 月底到 4 月的低点,累计跌幅超过 26%。尽管随后得益于 Salesforce、ServiceNow 等公司的业绩支撑及其 AI 合作落地,板块逐渐迎来反弹,但在一定程度上缓解了市场的担忧。

此外,与之前的 AI 编程工具相比,REA 还有一个更值得关注的地方,它大幅降低了软件功能的模仿成本。开发者不仅能用 AI 写程序,还能顺着已有成熟产品的实现路径去摸清门道。对于文件格式转换、图片批量处理这类功能相对单一的工具型产品来说,低成本平替可能会更快涌现,原有厂商也将面对更直接的竞争。

前不久,也有一名开发者 Brandon Thomas 就借助 Claude 做出了一个名为 ArtCraft 的开源项目,尝试对标 Photoshop、Illustrator、Premiere Pro 等 7 款 Adobe 核心软件的功能。尽管 ArtCraft 与 REA 并无直接技术关联,但它同样印证了 AI 正在把软件原型的开发门槛压到极低。

打开网易新闻 查看更多图片
图|ArtCraft 项目展示的 7 款开源创意软件(来源:ArtCraft)

随着 AI 越来越多地参与逆向工程与代码重建,这项技术的应用边界也引发了讨论。

从积极的一面看,逆向工程可以用于安全漏洞研究、软件兼容性适配,以及修复早已停止更新的程序。技术门槛降低后,更多开发者有机会参与这些工作,用户也可能获得价格更低、选择更多的替代产品。

但技术上能够实现,并不等于可以不受限制地使用。REA 依赖的反编译工具早已存在,AI 目前主要承担自动化分析和辅助代码重建的工作,面对复杂软件仍可能出现误判。此外,逆向工程涉及版权、商业秘密和技术保护措施等法律问题,能够弄清一款软件的运行逻辑,不代表可以合法复制或商业化其成果。

更深层的担忧,还在于创新激励。毕竟一款成熟产品的诞生,通常需要长期的需求探索、技术试错和研发投入,而后来者借助 AI,可以沿着已经验证的路径快速跟进。如果复制成本持续下降,原创开发者的投入能否获得合理回报,也将成为行业需要面对的问题。

而且,长期积累的客户信任、数据资源、系统稳定性和服务能力,同样影响用户的选择。尤其在企业市场,客户看重的是系统能否长期可靠运行,以及出现故障时能否获得及时支持,这些能力仍需要持续的工程投入和经验积累。

总体来看,REA 目前展示的依然是对局部特定功能的拆解与重建,距离完整替代成熟的商业软件还有很长的路要走。

但不可否认的是,随着 AI 编程与逆向分析能力的持续进步,单一功能层面的技术壁垒正在加速被抹平,单靠某些独占功能躺赚的日子也会越来越难。对于软件公司来说,未来的竞争焦点将不可避免地转向产品自身的工程稳定性、持续迭代的能力,以及深度服务客户的长期价值。

1.https://github.com/morluto/rea

2.https://rea.tools/

3.https://rea.tools/showcase/notion/

4.https://rea.tools/showcase/dx-ball/

5.https://rea.tools/showcase/th04/

6.https://github.com/morluto/rea/blob/main/DISCLAIMER.md

7.https://www.reuters.com/business/us-software-stocks-scale-fresh-2026-highs-ai-disruption-worries-fade-2026-10-06/

运营/排版:何晨龙

注:封面/首图由 AI 辅助生成