没有源码也能看穿软件?rea 用 MCP 让 AI 替你干逆向的活
没有源码也能看穿软件?rea 用 MCP 让 AI 替你干逆向的活
你在 App 里看到某个功能特别顺手,心里琢磨"这到底是怎么实现的?"——没有源码,只有冷冰冰的编译产物。开源项目 rea(Reverse Engineer Anything,逆向一切)就是干这个的:它通过一个 MCP 服务器把逆向分析工具直接接进你的 AI 助手,让你用大白话提问,AI 就能在你本地把二进制、Electron 应用、.NET 程序甚至网站拆开看个明白,连证据和依据一并给你。
想问一个软件"为什么",过去基本是死胡同
你心里是不是也冒出过这种念头:这个搜索框为什么反应这么快?这个剪贴板是怎么把富文本塞进系统的?这个老游戏的算法为什么是这个手感?
传统答案是:装上 Ghidra 或 IDA,对着汇编一行行啃。不是不行,是太贵了——一次完整分析折腾一两个小时起步,而且你得先是个熟练的逆向工程师。普通程序员看到满屏的汇编头都大,更别提普通人了。
矛盾就在这:问题其实很简单("它是怎么做的"),工具却复杂得像航天器。
一句话定位:给 AI 配一套"拆机工具箱"
说白了,rea 就是给 AI 装上一整套专业的拆机工具:看二进制内部结构的、解析安卓 App 的、追 JavaScript 和 Electron 应用代码的、分析网络抓包的,一应俱全。
这里要解释下 MCP 是什么,你可以把它理解成 AI 的"万能插座"。AI 再聪明,以前也只是个"云脑",摸不到你电脑里的文件,也够不着本地工具。接上 MCP 之后,它长出了"手脚"——Claude Code、Cursor、Codex、Gemini CLI 这些主流编程 AI 都能插上 rea 这根"插头",直接调用你本地的分析引擎动手干活。
它的底层流程其实就三步,你可以想象成请了个师傅上门:你提问 → rea 打开目标、追踪代码、把发现连同证据返回 → AI 据此解释原理,甚至照着给你写一份能跑的替代实现。命令行和 AI 对话走的是同一套分析引擎,结果完全一致。
三个真实案例,看看它能"拆"到什么程度
案例一:把老游戏的声音算法复现到字节级。 有人用 rea 逆向了一款老游戏(DX-Ball)的声像定位算法:跟着声音调用找到"位置转声像"的辅助函数,逐条检查指令,把不完整的伪代码补成 C。最后重建的结果通过了 3205 个原始测试用例,连编译后的 63 个字节都分毫不差。这种精度,以前够专家忙活好几个月。
案例二:顺藤摸瓜追 Notion 的剪贴板。 有人好奇 Notion 里"复制富文本"是怎么从网页传到系统剪贴板的。rea 一路追下来:先找到渲染进程里的剪贴板接口,再穿过 preload 和 IPC 摸到主进程,最后连中间传输的数据格式都扒得清清楚楚。整个过程就像顺着水流找源头。
案例三:给 90 年代的老游戏"续命"。 有一款 PC-98 平台的 DOS 老游戏(TH04),公司没了,源码也没了。rea 直接读它的 16 位指令,把固定角度和瞄准角度的计算逻辑恢复出来,重建的 C++ 还跟当年编译器的输出做了逐字节对比。所谓"考古式编程",真被它做成了现实。
除此之外,它的"拆机范围"广得离谱:原生二进制、Go/Rust 程序、安卓 APK、固件、SQLite 数据库、EVM 字节码、GPU 内核、抓包数据……完整清单可以看 官方分析对象列表。
从零到第一次拆机:一条命令装好,三步跑通
前提只有一个:电脑里装好 Node.js(22.x / 24.x / 26.x 均可)。然后:
第 1 步:一条命令安装。 在终端敲:
npx rea-agents setup
第 2 步:勾选你的 AI 助手并批准改动。 setup 会列出支持的智能体清单(Claude Code、Codex、Cursor、Gemini CLI 等等,完整名单见 安装文档),你勾选要接哪个。它会先把所有配置改动给你过目,等你批准才动手,且自动备份原有配置。
第 3 步:重启 AI,开口问。 重启之后直接对话,比如:
"帮我搞清楚这个 App 的搜索功能是怎么实现的,给我证据,再帮我写个类似的。"
然后你就在旁边看它一步步拆解。如果还想要一个常驻命令,可以补一句 npm install --global rea-agents,之后 rea --help 就是全部家当。
想先试试不需要任何原生分析引擎的部分?静态 JavaScript / Electron 分析开箱即用,直接在终端跑:
npx -y rea-agents@latest analyze-javascript-application /path/to/app --json
返回模块、导入关系、Electron 进程边界和对应证据。要深入分析原生二进制,再配一个 Hopper、Ghidra、IDA 或 Kuna 即可,工具选型指南里有各家差异和配置方法。
这几个窍门和坑,能帮你省不少事
结果太大?先落盘再翻页。 分析一个大型应用,完整结果可能有几百兆(官方文档里举了个 334 MB 的 Obsidian 例子)。rea 的思路是:完整结果存成本地文件,你只取一页摘要——那个 334 MB 的文件投影成摘要视图后只有约 10 KB。像查字典先看目录,需要哪页翻哪页,详见 CLI 与证据指南。
干大活用命令行,搞研究用对话。 两者背后是同一套引擎,结论一致。批量处理、跑脚本走终端,不占 AI 的对话额度;想边看边问、追问细节,走对话体验更顺。
本地分析,但数据要心里有数。 所有分析都在你自己电脑上完成,目标软件不会上传到任何服务器。不过注意:分析结果会交给 AI 助手解读,这部分会经过你所用 AI 的服务商——敏感项目建议用本地模型或自建服务。
它更新很快,遇到 bug 先升级。 版本迭代频繁,修复密集,所以踩到问题先跑 rea update(npx 方式则重新跑一次 npx rea-agents@latest setup)再试,多半就好了。
合规红线别碰。 项目方的态度写得很明确(DISCLAIMER.md):rea 只用于合法的研究、教育、软件互操作和保存——也就是分析你自己拥有、或明确获准检查的软件。破解、窃取商业机密,既是红线也是法律的雷区。另外,Ghidra 免费,IDA / Hopper / JEB 这类商业工具你得自己有合法授权,rea 不提供也不负责任何授权。
门槛真不高,最适合谁?
回过头看整个门槛:普通电脑就行,不用配显卡;不用会逆向,全程说人话;只要装了 Node.js,三分钟就能把 AI 接上。
它最适合这几类人:独立开发者(看到好功能想借鉴)、安全研究者(分析可疑软件)、游戏怀旧党(给老软件续命)、以及纯粹满足好奇心的技术爱好者——哪怕你完全不懂编程,看 AI 一步步拆软件本身就是一场精彩的"科技侦探直播"。
如果让你用 rea 拆一个软件,你最想扒开哪个 App 看看?
更多推荐

所有评论(0)