Token导航 LogoToken导航

REA开源项目GitHub获30万Star 可逆向分析软件

更新时间 2026-10-17来源 DeepTech深科技正文 5374字阅读约 17分钟5 张图片

图片

近日,名为 REA(Reverse Engineer Anything)的开源项目在 GitHub 上迅速走红。它声称能够让 AI 在没有源代码的情况下分析软件的内部实现,并尝试重新编写其中的功能。

从办公软件 Notion 的剪贴板机制,到经典游戏 DX-Ball 的声音算法,再到《东方幻想乡》的弹幕计算方式,一系列演示引发了广泛关注。截至 10 月 17 日,GitHub 页面显示,其 Star 数已超过 29 万。科技博主 Matthew Berman 甚至在社交平台上感叹:“Software is done”(软件完了)。

热潮之下,各种 AI 逆向软件的案例也开始传播。有人尝试重建 Claude 的幻灯片编辑器,有人用它给家里的智能马桶开发新的控制工具,还有开发者借助 AI 推出了对标 Adobe、微软多款核心软件的开源应用。

但随着越来越多开发者亲自尝试 REA,一些问题也逐渐浮现。在 GitHub 的公开测试中,有人发现 AI 会遗漏实际存在的函数调用,却仍将分析结果标记为“完整”;有时甚至根本没有调用 REA,而是直接给出未经验证的答案。REA 的作者也参与了讨论,回应了工具调用方式和项目设计上的问题。

与此同时,另一个疑问也开始被提起:那些号称被 AI“逆向”出来的 Adobe 软件,真的经过了反编译吗?

逆向工程早就存在,REA 为什么突然爆火?

要理解 REA 的作用,首先需要弄清楚它与传统逆向工具有什么区别。

软件逆向工程并不是新技术。长期以来,工程师一直在使用 Ghidra、IDA、Hopper 等专业工具分析程序。即使拿不到源代码,他们仍然可以通过反汇编、反编译等方式,研究程序内部的指令、函数及调用关系,再推测某项功能是如何实现的。

不过,这项工作通常需要较强的专业经验。软件经过编译后,原始代码中的变量名称、注释和部分结构信息会消失,工程师需要在大量难以直接阅读的指令中寻找线索,并不断验证自己的判断。

REA 并没有发明一种全新的反编译技术。它主要通过 MCP(模型上下文协议),将已有的逆向分析工具连接到 Claude Code、Codex 等 AI 编程智能体,让 AI 能够根据开发者提出的问题调用工具、分析结果,并尝试编写相应代码。

图片图|REA 的逆向分析工作流程(来源:REA GitHub)

以分析某款软件的搜索功能为例。过去,工程师需要自己打开 Ghidra,查找函数、梳理调用关系,再逐步整理分析结果。现在,开发者可以直接向 AI 提问,由 AI 借助 REA 调用专业工具,寻找相关代码和线索。

这并不意味着专业工具可以被替代。REA 官方文档明确说明,使用 Ghidra 等工具时,开发者仍需要准备相应的运行环境。REA 本身也不能保证恢复一款软件原来的源代码。

但这种让 AI 自动调用专业工具的工作方式,恰好遇上了 AI 编程智能体快速发展的阶段。

Reddit 社区出现的一篇 REA 推荐帖,获得约 1.47 万次赞同。随着相关演示不断传播,甚至有人专门发帖询问,最近突然出现的大量 AI 逆向视频究竟是怎么回事。

不过,很快有开发者指出 REA 的实际能力可能被外界高估了:真正承担反编译工作的仍然是 Ghidra 等专业工具,REA 主要让 AI 智能体能够使用它们。而且,IDA、Binary Ninja 等工具此前也已经出现过类似的接口。

与此同时,开发者陆续展示的实际成果,还是让更多人看到了这种工作方式的吸引力。

一位开发者尝试重建 Claude Slides 幻灯片编辑器。他先下载了编辑器的部分程序文件,再让 Codex 借助 REA 分析其中经过混淆的代码。由于第一轮处理后的代码仍然比较混乱,他又使用 Claude Code 继续整理和重写,最终展示了一个能够实现部分编辑功能的版本。

另一位开发者则把 REA 用在了家里的智能马桶上。他利用 Codex 和 REA 分析厂商微信小程序的蓝牙通信协议,再根据分析结果,开发了一个电脑菜单栏遥控器。在公开演示中,他直接通过电脑让马桶盖打开。据其介绍,从分析协议到完成工具,整个过程只用了约半小时。

类似的尝试还有 GitHub 上的 open-claude-ui 项目。开发者利用 REA 研究 Claude 桌面应用的界面和交互方式,整理出 30 个界面组件、8 项交互功能及 3,000 多行设计说明,并公开了相关代码。

这些案例让 REA 的用途变得更加具体:它既能辅助研究网页应用,也能帮助分析智能设备的通信方式。不过,公开成果主要集中在特定功能和界面模块,尚不是对完整商业软件的还原。

而当一些开发者开始用更严格的方式测试 REA 时,也发现了演示视频中不容易看到的问题。

开发者亲测后,发现了什么?

一位开发者在 REA 官方 GitHub Discussions 中发布了一份使用指南。与社交平台上直接展示重建结果的视频不同,他选择了一个更容易检验的办法:找来有公开源代码的程序,让 REA 分析,再将结果与原程序进行比较。

他首先选择了 Linux 上的压缩工具 bzip2。为了增加难度,他使用了一个删除调试符号的版本,程序中原本便于识别函数的信息已被移除。随后,他要求 REA 找出负责输出某条提示信息的函数,并分析其调用关系。

结果比较顺利。REA 找到了目标函数,以及一个调用它的函数和 24 个被它调用的函数。开发者再与原始源代码核对,发现结果一致。

但换成另一个程序,情况就不一样了。

这次,他选择了开源游戏引擎 OpenMW 项目中的 esmtool 程序,让 REA 分析其中 50 个函数的调用关系,再使用传统工具 objdump 进行核对。

结果显示,其中 22 个函数的分析遗漏了实际存在的调用关系。更值得注意的是,REA 当时仍将这些结果标记为“完整”,并没有提示存在遗漏。

测试中,他还遇到了另一个有些出人意料的问题:AI 有时候根本不会使用 REA。

他尝试让本地 AI 模型调用 REA 分析程序,但在最初四次测试中,模型始终没有主动使用这个工具,而是不断尝试其他办法,甚至把二进制程序当成普通文本文件读取。

调整工作流程后,模型虽然开始给出答案,却仍然出现猜测性回答。直到他改为先通过脚本运行 REA,再让 AI 阅读已经取得的分析结果,三次测试才都得到了符合预期的答案。

这组测试也引起了 REA 作者 Morluto 的注意。他在 GitHub 讨论中回应称,REA 最初采用的是一种原型式的 MCP 工具调用设计,但随着 AI 客户端逐渐支持按需加载工具,这种方式已经不一定适合多数智能体。他认为,让 AI 通过程序化方式使用专业工具,仍是值得探索的方向。

如果说这些测试主要关注 AI 能否正确分析代码,那么另一些用户已经开始尝试更加复杂的任务,比如将一款经典游戏重新移植到新平台。

一名 Reddit 用户就想借助 Claude Opus,将经典游戏《神偷 3:致命阴影》移植到 MacBook Pro 上。

图片图 | Claude 尝试逆向《神偷 3》,却只处理了一个函数(来源:Reddit)

起初,Claude 告诉他,这项工作可能需要数年。随后,他将 REA 仓库提供给 Claude。AI 下载了 Ghidra,并在约一分钟内反编译了一个函数。但当它发现整个游戏程序包含约 3.2 万个函数后,并没有继续完成整款游戏的重建。

评论区有人认为,AI 是不愿继续执行复杂任务;也有人指出,即使能够快速反编译一个函数,要将数万个函数重新整理成可以运行的游戏,仍然需要大量工作。

从这些使用记录来看,REA 已经能够在部分任务中提供准确的分析结果,但面对大型程序、复杂调用关系以及 AI 工具调度时,仍然可能出现遗漏或错误。而在更广泛的 AI 软件重建热潮中,还有一些受到关注的项目,甚至没有直接使用 REA。

Adobe 真的被逆向了吗?

REA 爆火的同时,软件工程师 Brandon Thomas 也因为一套开源软件受到关注。

Thomas 拥有约 15 年的软件工程经验,曾在支付公司 Square 工作。由于不满 Adobe 等商业软件的订阅收费模式,他借助 Claude 开发了 ArtCraft,一套包含七款应用的开源软件,分别对标 Photoshop、Illustrator、Premiere Pro 等产品。不久后,他又推出 WordCraft、GridCraft 和 DeckCraft,将目标扩大到微软的 Word、Excel 和 PowerPoint。

图片图|ArtCraft 提供多款对标 Adobe 产品的开源软件(来源:ArtCraft)

这些项目很快被纳入“AI 逆向软件”的讨论。但实际上,Thomas 并没有使用 REA,也没有公开展示反编译 Adobe 或微软内部代码的过程。他将自己的开发方式称为“洁净室重实现”,即不直接复制原软件代码,而是从头开发具有类似功能的应用。

那么,这些看起来与 Adobe 产品相似的软件,实际效果如何?设计媒体《Creative Bloq》的编辑 Joe Foley 亲自进行了测试。

为了体验照片编辑工具 LightCraft,他专门拍摄了自己的猫,却发现软件的自动选区无法准确识别主体。Photoshop 替代品 PhotoCraft 虽然支持 PSD 等常见格式,但部分图像处理功能仍不完善;视频剪辑工具 FilmCraft 则无法直接处理部分 4K 素材,即使转换格式后,运行依然缓慢。

Foley 认为,这些软件目前还无法替代 Adobe 的成熟产品,但作为早期开发项目,已经具备一定的可用性。

图片图 | 实际测试中,自动蒙版未能准确选中猫(来源:Joe Foley)

除了功能上的不足,ArtCraft 的开发方式也引发了争论。

在 Reddit 社区,有人质疑 ArtCraft 等项目为何将自己描述为“洁净室重实现”。传统洁净室开发通常强调不直接复制原软件受保护的代码,有时还会将分析原程序与编写新代码的人员分开。部分评论者因此提出,当 AI 同时参与软件分析和代码生成时,如何证明开发过程的独立性?

也有人认为,软件是否属于开源项目,主要取决于代码开放情况和许可证,不应与原创性问题混为一谈。目前,这些讨论并不能证明 ArtCraft 存在侵权行为,但代码来源和成果归属已经成为关注焦点。

类似的问题也影响到了游戏逆向社区。10 月中旬,反编译项目平台 decomp.dev 宣布停止公开项目索引和新项目收录功能。创建者 Luke Street 表示,AI 虽然提高了反编译效率,但一些人开始利用它快速生成未经充分验证的代码,甚至借用其他团队多年积累的成果,抢先发布所谓的完成版本。原本用于展示研究进度的排行榜,也逐渐让部分参与者过于关注完成百分比,而忽视代码质量。

此外,REA 的热度还被人用于传播可疑程序。有 GitHub 用户举报了一个仿冒 REA 的仓库,其中提供的所谓 Windows 安装包被 Microsoft Defender 标记为木马,VirusTotal 也有 8 个检测引擎发出警报。相关压缩包当时显示已有 172 次下载,但尚无法确认实际感染人数。

这些争议背后,是 AI 正在以不同方式参与软件开发与重建。有人借助 REA 分析现有程序,有人利用 Claude 从头开发功能相似的替代产品。虽然不少项目已经展示了实际成果,但随着更多人开始使用,功能不完善、代码质量参差不齐以及知识产权等问题也陆续浮现。

回到最初引发讨论的 REA,它没有发明全新的反编译技术,也尚未实现让 AI 自动还原任意软件。它所做的,是将已有的专业逆向工具接入 AI 智能体,让过去需要工程师手动完成的部分分析工作,可以交给 AI 协助处理。

在短短十几天里,REA 获得了近 30 万颗 GitHub Star,也让原本相对小众的逆向工程受到更多关注。从开发者重建编辑器、控制智能设备,到 GitHub 上不断出现的实际测试,这套工具已经展示了具体用途,也暴露了当前的局限。

至于社交平台上流行的“软件已死”,现有案例还不足以支持这样的结论。如今,AI 已经能够使用专业工具参与软件逆向,也能够帮助开发者快速制作功能相似的应用。但弄清一款软件如何运行、重新写出相关代码,以及让新程序可靠地完成原有工作,仍然是不同的事情。

参考链接:

https://github.com/morluto/rea

https://rea.tools/

https://www.reddit.com/r/BestGitHubRepos/comments/1x0s6lv/

https://www.reddit.com/r/OutOfTheLoop/comments/1x4h70o/

https://www.creativebloq.com/news/i-tried-those-free-ai-coded-adobe-creative-cloud-clones-and-they-have-some-big-problems

https://www.reddit.com/r/opensource/comments/1x78lqh/

https://listedarticles.com/articles/sunsetting-decomp-dev

https://www.gamesradar.com/games/the-community-aspect-of-decompilation-has-been-broken-by-a-wave-of-low-effort-ai-slop-and-now-a-major-community-tool-is-shutting-down/

https://github.com/morluto/rea/issues/2424

排版:胡莉花

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

文章标签智能体
资讯来源:由AI资讯编辑整理自互联网公开内容,版权归原作者所有,未经许可,不得转载。

继续浏览更多资讯

返回资讯目录

相关资讯

更多