夜雨聆风学习资料网

ARTICLE · 1191670

AI 学会「逆向」了,你手机里的 App 正在变成一本翻开的说明书

AI 学会「逆向」了,你手机里的 App 正在变成一本翻开的说明书

一个我们都遇到过的场景

你有没有过这种时刻——看到一个 App 里的小功能,做得刚刚好:一键抠图的边缘干净得离谱,或者某个工具的电量优化方案特别聪明。你想在自己项目里也来一个,于是开始翻文档、找 SDK、扒开源实现,折腾一个礼拜,做出来还是不像。

过去,这种想法通常止步于一句自我安慰:「人家是闭源的,看不懂就算了。」因为「看懂一个软件」这件事,需要一个人同时会汇编、会用调试器、还得能写 Ghidra 或 IDA 的脚本。这是一项要练好几年的手艺。

现在,有人告诉你:把那个安装包丢给 AI,用中文问它「这个一键抠图是怎么实现的」,几分钟后,它会回你一份伪代码,外加它为什么这么判断的依据。

这不是段子。2026 年 10 月初,一个叫 REA 的开源项目在 GitHub 上炸了——一周之内星标数从几千冲到 11 万以上,10 月 6 日到 12 日那一周里,有 5 天霸占 GitHub Trending 榜首。

第一件事:它把「专家手艺」翻译成了「一句话」

REA 全称 Reverse Engineer Anything,MIT 协议开源,核心形态是一个 MCP 服务器加一个命令行工具。

MCP 这个词你可能在别的文章里见过,它干的其实就是一件事:让 AI 助手能稳定地调用外部专业工具。REA 把 Hopper、Ghidra、IDA、Apktool 这些逆向工具封装成了四十多个标准接口,于是 Claude Code、Cursor、Codex、Gemini CLI 这类 AI 编程助手,都可以直接调用它们。

它的覆盖面比想象中宽:原生二进制(ELF、PE、Mach-O)、JavaScript 和 Electron 应用(连 ASAR 解包都做了)、.NET 程序集、安卓 APK、网站、固件、WASM、EVM 字节码、SQLite 数据库,甚至抓包记录(HAR、mitmproxy)。

但真正让它跟「让大模型瞎猜」区分开的,是一个设计细节:证据模型。它给出的每个结论都带来源——文件偏移量、字节范围、置信度,而且会明确列出「哪些部分我没能确定」。这一点很关键,它把「AI 一本正经地胡说」的概率压了下去。

第二件事:它没做你以为的那件事

这是今天最该讲清楚的一条,也是很多标题党没说明白的地方。

  REA 不还原原始源代码,它重建的是逻辑和行为。

这两句话的差别有多大?它能告诉你「这个功能的算法是这么走的」,但给不了你一份能直接编译、跟原厂一模一样的工程文件。想做「一键复制别人的 App」,它做不到。想做「看懂别人怎么解决问题,然后自己用另一种方式实现」,它正好。

那真正的变化在哪里?护城河的位置变了。过去大家默认:我编译成二进制、我做了混淆,你就看不懂。现在这个默认正在失效——只要你的逻辑被发到了用户机器上,它就是「可读」的。所以真正要紧的东西得往服务端挪:核心算法放在 API 后面,密钥不要下发到客户端,把竞争重点放回体验本身。

它的官方演示里有两个特别典型的例子:为什么 Windows 计算器输入「200 + 10%」会算出 220;Notion 复制富文本时,是怎么把块结构塞进剪贴板的。都是那种「看着不起眼、自己想半天」的细节——这恰好是这类工具最好用的地方。

顺便说一句诚实的提醒:那个被广泛传播的案例,说它复刻的 DX-Ball 通过了 3205 个原始 x86 测试用例、复现了 63 个编译函数的字节,这是项目作者自己的说法,没有第三方验证过。看到这类数字,先打个问号。

第三件事:变化不只发生在软件公司

REA 不是孤例。IDA Pro 9.2 自己就提供了 MCP 接口;Ghidra 生态里长出了 GhidraMCP(一万多星)和 ReVa;Radare2 有 r2ai,Binary Ninja 也支持 MCP;学术圈还有专门做反编译的 LLM4Decompile。REA 是这条趋势上最响的一声,不是全部。

两个方向的变化值得留意。

一是攻防在加速。漏洞挖掘的周期正从「按周算」往「按小时算」走,安全测评的产能被普遍预期能提到原来的 5 到 10 倍。对做安全的人来说,这是效率红利,也是压力——防守方如果还按老节奏走,就会明显吃力。

二是「本地运行」不等于「不出门」。REA 的分析确实在你本机跑,但 AI 助手读到的内容,仍然会按模型服务商自己的数据政策上传。所以企业拿它去分析内部的老系统之前,得先把这条边界画清楚:哪些代码可以给模型看,哪些一个字都不能给。

写在最后:3 条你现在就能做的事

第一,如果你只是好奇。找一台上不重要的旧电脑或开个虚拟机,装好 Node 22 以上版本,一条 npx rea-agents setup 就能跑起来。建议先拿自己的小工具练手,别一上来就对着别人的商业软件——技术上能做,不代表这么做合适。

第二,如果你是开发者或产品经理。花半小时认真想一个问题:我有哪些逻辑是发给客户端的?能挪到服务端的挪走;挪不走的(离线功能、嵌入式场景)就别再把它当护城河,早点用体验和迭代速度去竞争。

第三,如果你在企业里负责安全或合规。把 REA、GhidraMCP、IDA MCP 这几个名字加进你的评估清单,明确一条红线:哪些代码允许被上传到模型服务商,哪些绝对不行。这件事现在做,成本最低。

工具本身没有立场,它只是把一件原本很贵的事变便宜了。真正需要重新算一遍的,是我们每个人心里那本「什么东西别人抄不走」的账。

相关学习资料