ARTICLE · 1166734
当 AI 开始「逆向一切」,软件的天要塌了吗
AI「逆向一切」正在发生:你的软件,用户还非买不可吗?
一个叫 REA 的开源项目 6 天涨了 10 万颗星;有人用 AI 一口气重写了 7 款 Adobe 替代品。当「看懂一款软件」的成本被 AI 拉低,软件行业的生意逻辑还稳得住吗?
“Software is over.”——软件完了。
这句话来自开发者 Brandon Thomas。前不久,他用 AI 做出了七款 Adobe 替代工具,对标 Photoshop、Illustrator、Premiere 等产品线,然后全部开源。在他看来,其他开发者同样可以重建现有软件的功能,再把代码开源。
如果这条路走得通,一个现实的问题就摆在每个软件用户面前:我们一直在续费的软件,还有多少功能是非得向原厂买的?
几乎同一时间,GitHub 上一个叫 REA 的开源项目彻底火了。截至 10 月 12 日,它的 Star 数已突破 11 万——而就在 6 天前,它还不到 1 万星。REA 的全称是 Reverse Engineer Anything,翻译过来就是「逆向一切」。
01 🚀 REA 是什么:一个让 AI 学会拆解软件的 MCP 服务
REA 是一个 MCP(模型上下文协议)服务。一句话概括:它把 AI 智能体接到逆向工程工具链上,让 AI 可以像工程师一样拆解软件。
开发者看中一款软件的功能,可以让 AI 借助 REA 研究它的实现方式,再编写类似功能。即使拿不到原始源代码,也能从安装包、运行结果或网页请求中寻找线索。
使用门槛并不高。安装 Node.js 和 npm 后,一行命令即可完成设置:
npx rea-agents setup
它支持 Claude Code、Codex、Cursor、Gemini CLI、Grok Build 等主流编码智能体。设置完成后,你可以直接对智能体说:弄清楚 Notes 应用的搜索功能如何工作,展示证据,并为我的项目实现类似功能。
分析在本机运行,结果不仅包含结论,还附带支撑各项结论的证据和相关限制。

图1REA 的 GitHub 首页:截至 10 月 12 日 Star 已突破 11 万,登上当日 GitHub Trending 榜首(来源:GitHub)
02 🔬 它怎么「逆向一切」:不是魔法,是证据链
REA 的工作原理可以拆成三步:第一,智能体通过 MCP 调用 REA,指定要调查的本地目标;第二,REA 驱动 Hopper、Ghidra、IDA 等分析引擎(或对 JavaScript、Electron、.NET 做静态分析),返回伪代码、汇编、模块关系、引用等证据;第三,智能体基于证据继续追问、解释行为,最后编写并测试实现。
为了让 AI 有章可循,仓库里的 SKILL.md 规定了一套调查方法:先找到负责某项功能的代码,追踪数据流向,并区分「实际观察」与「推断」;任务过大时,就缩小范围、保存已有证据,供后续继续分析。重建完成后,还要让原程序和新版本执行相同操作,比较输出、交互表现及相关文件的变化。

图2REA 在 Hopper 中启动分析桥,检查原生二进制文件(来源:REA 官方文档)
一句话总结这套流程:只测过一个函数,不能据此判断整款软件重建成功——每一处重建都要有证据和对照。
它能分析的目标相当广:
分析目标 | 能返回什么(依赖的工具) |
原生二进制 | 伪代码、汇编、符号、调用与引用(Hopper / Ghidra / IDA) |
JavaScript / Electron 应用 | 模块、导入、路由、IPC 与原生扩展(静态分析) |
.NET 程序集 | 元数据、CIL 指令、声明的原生依赖(静态检查) |
Android APK / 设备 | 清单、类、反编译方法、进程、日志与截图(JADX / adb) |
网站 | 页面结构、脚本、网络观察结果与截图(Chrome 系浏览器) |
固件 / EVM / 网络捕获 / 崩溃记录等 | 区域提取、字节码接口、请求与载荷、寄存器快照(各专项指南) |
03 🧩 从验证码到老游戏:AI 真实重建了什么
说几个官网展示的真实案例。
Aegis 是一款开源验证器,会显示一组六位登录验证码,每 30 秒更新一次。Agent 分析了它的安卓安装包,找到计算验证码的方法,项目方据此重建算法,做成一个可以手动调整时间的网页——时间停在第 59 秒,页面显示一组数字;调到第 60 秒,数字随之变化。用公开测试数据比较,133 组测试结果全部一致。
老游戏 DX-Ball 的案例更有说服力。砖块在画面左侧被击中,声音也应偏向左侧,程序中的一个函数负责这类换算。由于反编译结果不完整,Agent 继续检查底层指令、函数调用关系和计算所需的固定数值,最终用 C 语言重写这个函数。屏幕从左到右的整数位置与五种参数设置组合,共 3,205 组测试,新旧函数返回值全部一致;在指定的旧版编译器环境下,新函数还生成了与原版匹配的 63 字节机器码。
Notion 的案例聚焦复制功能:复制一段带格式的文字时,程序需要把文字和相关格式交给系统剪贴板。Agent 沿着桌面客户端的代码,追踪文本和 HTML 如何经过不同进程,最终写入剪贴板。《东方幻想乡》的案例关注弹幕的角度计算——一圈 16 颗子弹如何排列、如何朝向玩家,项目借助 REA 检查原 DOS 程序,再与已有的 C++ 重建代码对照。

图3DX-Ball 声音平移、Notion 剪贴板桥与 TH04 弹幕环案例插图(来源:REA 官方文档)
REA 之外,AI 参与逆向与移植的讨论已经延伸到更多经典游戏。《光环》《GTA:罪恶都市》等作品陆续出现在网页浏览器里;任天堂 64 游戏《Snowboard Kids》的逆向,今年用了 84 天,而此前处理续作花了 596 天——不过当事人也提醒,个人经验、游戏规模和社区专家的帮助都会影响进度,不能把工期差异全部归功于 AI。
日常办公工具也被搬进了网页。VibeOffice 将 Office 2003 的菜单和工具栏搬进浏览器,无需注册即可打开、编辑、保存 docx、xlsx、pptx 文件,文件在本机处理。项目使用来自 LibreOffice、Apache POI 等公开测试集的 4,697 份文件检查兼容性;作者披露,完成界面和基础功能所消耗的模型用量,按正价计算约为 1,000 美元。
当然,仅凭演示,很难判断 AI 在这些项目里完成了多少工作。熟悉的老界面背后,还有大量兼容性问题需要解决。
04 ⚖️ 「万物皆可逆向」,不等于「万物皆可随意复制」
需要先说明:逆向工程本身并不必然违法。但未经授权破解软件保护措施、直接复制受版权保护的代码,或将他人的商业秘密用于竞争,都可能引发法律纠纷。
尤其当 AI 把逆向门槛进一步降低,技术上能够重建某项功能,也不意味着开发者就有权将重建成果公开发布或商业化。是否合法,取决于使用方式、授权条件及适用法律。REA 在免责声明里也划了线:它用于合法的研究、教育、互操作性、软件保存,以及分析你拥有或获准检查的软件;商用分析工具需要自行合法取得。
「万物皆可逆向」也不代表「万物都能被完整重建」。REA 并没有证明任意软件都能被完整重建,游戏能否稳定通关、办公文件会不会丢失内容,都需要检验。
05 🏢 影响谁:软件公司的护城河还稳吗
如果一家公司的竞争优势仅来自软件本身,未来可能面临压力——这是 YouTuber Matthew Berman 的判断。培训、客户支持和持续维护等服务,会变得更加重要。
哪种软件最先承压?很可能是用途单一的小工具。用户购买它,通常只为完成某项任务,替代产品一旦足够可靠、价格更低或使用更方便,就有机会吸引用户转移。
企业软件的竞争则复杂得多:旧文件需要兼容,团队需要协作,出了问题需要有人负责。替代产品还要承担迁移、维护和支持工作,才能让客户放心更换。
用户的逻辑也很朴素:临时修改表格的人,需要顺利打开文件、准确修改内容、把文件发出去。原版多出来的高级功能,未必能促使他继续付费。无法在公司云机上安装应用的人,还可能因为「打开网页就能用」,开始尝试替代工具。
成熟软件也替后来者完成了部分探索:哪些功能有人需要,界面如何安排,操作后应当出现什么反馈,都有现成产品可以参考。过去,理解并重建这些仍需要大量人力;REA 把部分分析工作交给 Agent,再用对照测试检查结果。如果这些方法更可靠,后来者追赶的时间就可能缩短。
💬 接下来该看什么
这些项目目前还不足以证明哪家软件公司的收入会因此下降,但它们已经提出了一个值得重新考虑的问题:当用户需要的功能更容易被重建,产品整体领先,还能在多大程度上支撑原来的价格?
接下来值得观察的是:这些重建项目能否通过更多对照测试、软件厂商会如何回应、逆向与重建的法律边界如何在判例中落定。
你的软件仍然领先,用户却可能已经找不到续费的理由。这句话,是说给软件厂商的,也是说给每个软件用户的。
💬 你怎么看?如果常用软件都有了可靠的开源替代,你还会继续付费吗?欢迎在评论区聊聊。