☰
一周暴涨11万星,这个开源项目让AI自己拆软件:REA到底在干什么
2026/10/15 19:29:29 网站建设 项目流程

morluto/rea GitHub仓库卡片,10月9日已经24K star,之后三天又涨到了11万以上

你有没有过这种时刻:用着某个App,发现某个功能做得特别好——离线搜索秒出结果,同步机制丝滑得不像话。你想在自己的产品里也搞一个,但没源码、没文档,连它怎么实现的都不知道。

以前遇到这种事,你只能去学逆向工程。找一款反汇编器,啃它的API,在一堆机器码和符号里翻来翻去,手动追调用链。这是一门硬功夫,绝大多数开发者根本没时间学。

最近GitHub上有个叫REA的项目,把这件事换了个思路:把逆向工程这活儿交给你的AI编程助手。截至10月12日,这个项目已经超过11.5万Star,其中最后三天涨了约9万,直接冲上GitHub Trending第一名。


REA到底是什么

一句话:它给AI编程Agent装了一套"逆向工程工具箱",让AI能自己分析没有源码的软件。

打个比方。你家水管漏了,以前你得自己买扳手、买管子、学怎么接。REA干的事不是替你修水管,而是把扳手、管子、胶水都打包成一个工具箱递给你,然后你的AI助手(比如Claude Code、Cursor)拿着这个工具箱去帮你修。

REA官网首页,一句话定位:Find out how software works

项目地址是 github.com/morluto/rea,全称Reverse Engineer Anything(逆向一切),作者是个叫morluto的开发者,用TypeScript写的,MIT开源协议。


它解决了什么问题

先搞懂一个前提:软件编译完之后,源码就变成了一堆机器码。你拿到的是一个.exe或.app文件,里面全是0和1,人根本读不懂。

逆向工程(Reverse Engineering)是一个大概念——在没有源码的情况下,通过各种手段搞清楚一个软件是怎么工作的。其中最核心的一步叫反编译:把编译后的机器码"翻译"回人类能看懂的伪代码。你可以理解成:把一篇英文论文自动翻译成中文,虽然翻译得不一定完美,但至少能看懂大意。

但逆向工程有个大问题:太难了。你得学会用专业工具,在几万行反编译出来的伪代码里大海捞针,找到你关心的那个功能到底在哪、怎么实现的。

REA做的事,就是把这个"大海捞针"的过程交给AI。你不用自己翻代码了,你直接对AI说:“帮我看看这个软件的离线搜索是怎么实现的”,AI就自己去调工具、分析、给你结果。


它是怎么工作的

这里要解释几个名词,不然你会看懵。

MCP就是AI和外部工具之间的一座桥

MCP(Model Context Protocol,模型上下文协议):你可以把它理解成一个"万能插座标准"。AI Agent本来只能聊天,通过MCP这个协议,它就能调用外部工具了——就像手机有了Type-C接口,能插充电器、插U盘、插显示器。

REA本身不是AI,也不是反编译器。它是一个MCP服务器,一头连着你的AI Agent,另一头连着一堆专业的逆向工具。AI说"我要分析这个二进制文件",REA就去调对应的逆向工具,把结果拿回来给AI。

它接的逆向工具都是业界老牌选手:

  • Ghidra:美国国家安全局(NSA)开源的逆向工程框架,2019年公开,免费
  • Hopper:macOS上很流行的反汇编器,2011年出的,商业软件
  • IDA Pro:逆向工程领域的"行业标准",从上世纪90年代用到现在,商业付费软件
  • JADX:专门反编译Android APK的工具

IDA Pro的界面,逆向工程师的日常就是对着这些汇编代码发呆

这些工具以前各自有各自的接口、各自的命令行,逆向工程师得自己学着用。REA把它们统一包成一套工具,AI想用谁就调谁,不用学怎么操作这些软件。


它能分析什么

覆盖面比你想象的广:

目标类型它能给你什么
原生二进制文件(.exe、.app等)反编译伪代码、汇编指令、字符串、函数调用关系
Electron/JS应用(比如VS Code桌面版)模块结构、路由、IPC通信通道,不用运行应用就能看
Android APK反编译Java方法、AndroidManifest配置、日志
.NET程序元数据、类成员、原生代码边界
网站页面结构、脚本、网络请求
网络抓包文件请求列表、响应内容、API接口清单

REA的分析界面,AI在帮你解读反编译出来的结果

有个细节值得说:REA每个分析结果都会附带"证据"——这个结论是从哪个文件的哪个字节范围推出来的,哪些事实它确认不了。这比AI直接"猜"要靠谱得多。


实际用起来是什么样

根据官方文档和案例,典型流程是这样的:

  1. 你装好REA,把它接入你的AI编程工具(Claude Code、Cursor、Codex都行)
  2. 你对着AI说:“帮我分析Notes这个App的离线搜索功能,解释它怎么实现的,然后用TypeScript给我的项目写一个类似的”
  3. AI自己去调REA的工具,REA再调Ghidra或Hopper反编译目标程序
  4. AI拿到反编译结果,顺着调用链一步步追,找到离线搜索相关的函数
  5. AI给你解释原理,甚至直接写出参考实现

官方给的案例里,有一个DX-Ball(经典打砖块游戏)的分析:AI顺着声音调用追到了一个视角辅助函数,把不完整的伪代码转成了C代码,通过了3205个原始测试用例,复现了全部63个函数字节。


怎么上手

门槛不算高,但也不是零:

  • 你需要有一个AI编程工具:Claude Code、Cursor、Codex CLI、Gemini CLI这些,REA支持主流的
  • 装Node.js 22.19以上版本
  • 运行一行命令:npx rea-agents setup,然后选你用的AI工具,重启就行
npx rea-agents setup

如果你只是分析JavaScript应用、.NET程序、网站抓包这些,不用额外装什么。但如果你要深度分析原生二进制文件(.exe、.app),你还得装一个反编译引擎——Ghidra免费,Hopper和IDA是商业软件。


说点实话:它没那么神

别被"一周11万星"和"软件完蛋了"的标题带偏了。我看完文档和几个实测案例,说几个真实的问题:

第一,它是个连接器,不是魔法。REA本身不会反编译任何东西,它只是把Ghidra、Hopper这些已有工具包装成AI能调用的接口。真正干活的还是那些跑了十几年的老引擎。它的价值在于"让AI会用这些工具",而不是"AI突然会逆向了"。

第二,版本迭代极快,API可能随时变。从10月3号到10月11号,9天发了7个版本,中间还有过breaking change(不向下兼容的改动)。你要是写脚本自动化调用它的输出格式,建议先锁定版本号。

第三,平台限制不少。Hopper只有macOS版;固件分析、WASM分析这些功能只支持Linux x64;mitmproxy抓包分析也只支持Linux。Windows用户很多功能用不了完整版。

第四,安全和法律责任都是你自己的。REA不是沙箱,你分析一个来路不明的二进制文件,它是以你的用户权限运行的。拿别人的软件反编译完直接克隆拿去卖,法律责任也在你。

第五,"整个App一键克隆"目前还是demo级别的。官方案例都是针对某个具体函数或功能点的分析,不是真的把整个软件1:1复刻出来。那种"一键克隆Photoshop"的视频,看看就好。


它适合谁

我觉得三类人最值得关注:

  • 安全研究员和CTF选手:以前逆向样本要手动操作各种工具,现在能让AI先帮你跑一遍初筛
  • 做API逆向的开发者:抓包文件扔给REA,它能帮你整理出API接口清单
  • 想搞懂"AI Agent怎么和工具协作"的人:REA是个很好的MCP实战案例,能看到AI怎么调用复杂的外部工具完成多步骤任务

REA火的背后,其实是一个更大的趋势:AI Agent正在从"只会聊天写代码",变成"能操作各种专业工具"。以前逆向工程是一门需要学几年的手艺,现在AI帮你把工具链打通了,你只需要提问题就行。

至于是不是"软件完蛋了"——我觉得还早。代码能被复制,但一个软件里的业务逻辑、产品判断、对用户需求的理解,这些不是反编译能拿出来的。护城河没有消失,只是从"你看不到我的代码",挪到了别的地方。

项目地址:github.com/morluto/rea

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询