REA 解剖:逆向工程坍缩成一句 prompt——62k star 的门面桥,和「不传云」的精确口径

看中某个 App 里的功能,想要,但没有源码。传统解法是一条专业职业线:装好 Ghidra 或 Hopper,读懂汇编,追调用链,几周起步。上周火起来的开源项目 REA 给的解法是对你的 coding agent 说一句「这个功能怎么写的」——GitHub 上的 morluto/rea,MIT 协议,四月中创建,六个…

REA 解剖:逆向工程坍缩成一句 prompt——62k star 的门面桥,和「不传云」的精确口径

看中某个 App 里的功能,想要,但没有源码。传统解法是一条专业职业线:装好 Ghidra 或 Hopper,读懂汇编,追调用链,几周起步。上周火起来的开源项目 REA 给的解法是对你的 coding agent 说一句「这个功能怎么写的」——GitHub 上的 morluto/rea,MIT 协议,四月中创建,六个月攒到六十二万关注者中的六万两千(写稿当刻 API 实测 62,202 star)。这里先修素材里的一笔账:文案说「已破 1.2 万星」,那是几周前的旧快照,实际已经五倍于此。项目火到 README 里专门挂了一条免责声明:我们没有发过也不会背书任何代币——已经有蹭名字的假币了。

先把 REA 的真实身份说准,这决定后面所有判断。它不是一个反编译引擎——反编译这件事,Ghidra、Hopper、IDA 干了二十年,JADX 吃了十年 Android,pwntools 吃了十年二进制。REA 干的是把这套现成军火库统一装到 agent 手边:仓库里的 bridge 目录有七个桥,native 桥后面接 Hopper/Ghidra/IDA 三家引擎,android 桥接 JADX,还有 pwntools、pwndbg、mitmproxy 和进程行为捕获。你问「离线搜索怎么实现的」,agent 经 MCP 调工具,工具把伪代码、汇编、字符串、符号、调用引用端回来,每个结论自带证据和局限——不是「它大概是这么干的」,是「这一行汇编、这个字符串、这个引用链」。MCP、命令行、agent skill 三种入口跑同一套工作流,十五种语言的 README,一条 npx rea-agents setup 把服务注册进你的 agent。

覆盖面文案没吹过头。原生二进制(Mach-O、ELF、PE)、JavaScript/Electron、.NET 程序集、APK、固件、网页、抓包文件、进程行为、甚至 EVM 字节码和 16 位 DOS 游戏,目标清单有十二类。两个前提要交代:深度原生分析需要你装 Hopper/Ghidra/IDA 之一(setup 可以经你批准代装 Hopper),APK 分析要求自带 JADX 和 JDK。工具全在本地跑,REA 自身不上传你的目标文件——但注意精确口径,README 的 FAQ 自己写了:结果会进 agent 的上下文,而「你的模型供应商有自己的数据政策」。工具层不传云,会话层走不走云取决于你接的模型。把这两层混成一句「纯本机不传云」,是把 REA 的干净记到了整个链路头上。

复刻能力有实案背书,三个 showcase 一个比一个硬。DX-Ball,1997 年的游戏:从一次声音调用追进音量-声像换算函数,把不完整的伪代码补成 C,重建的代码通过了 3,205 个原始 x86 用例,63 个编译函数的字节与原版完全一致。TH04 更狠:从 90 年代 PC-98 游戏的 16 位指令里恢复固定角和瞄准角的计算,再拿自己的重建版和历史编译器的输出逐字节对比。Notion 案是 Electron 活解剖:从渲染进程的剪贴板 API 一路穿过 preload、IPC 到主进程。注意这三个案例的共同点——复刻的终点不是「看懂了」,是可验证:用例通过、字节对齐。断言要拿执行来收尾,这个老原则在逆向场景里落到了位级。

agent 侧的工程密度是第二个看点。官方 skill 已经迭代到 version 35,里面有几处少见的老实话:装 skill 只提供工作流指令、不注册 MCP 服务也不装引擎;「从仓库主干装的 skill 可能描述了旧版 npm 包还没有的能力」——版本漂移自己写在指令里;诊断树把「连不上」拆成注册缺失、注册过期、会话未连三种原因,并且承认 rea doctor 「无法证明当前 agent 已经连上」。还有一个好笑又实用的细节:Kimi 的 API 对单个工具的 schema 大小有上限,社区实测 13.7 KB 能过、15 KB 被拒,REA 为此做了个压缩档环境变量,把每个工具的声明塞进 13,312 字节预算——MCP 生态的脏细节,工具层替 agent 消化了。

接支持的 agent 清单:Claude Code、Claude Desktop、Codex、Cursor、Gemini CLI、Windsurf、OpenCode、Antigravity、Devin、Copilot CLI、Qwen Code、Grok Build、Grok Bot……skill 诊断清单里列了 18 个客户端,文案说「十来个」还是保守了。

回到那句「想抄作业」。这份作业的交法值得看清楚:REA 给的是证据链支撑的理解,复刻由 agent 重新实现再测试,不是二进制到二进制的搬运——DX-Ball 重建的是数学,不是原字节码。功能思路本身不受版权保护,代码受,商标和授权协议也各有各的线;README 的免责声明把授权责任明确留给使用者。工具把「看懂别人怎么做」的成本从几周压到一个下午,这条成本曲线怎么用,账还是记在使用者头上。十六个月前 NSA 开源 Ghidra,把反编译器从军火库搬进了每个人的下载目录;现在 agent 桥接把它搬进了对话窗口——逆向这门手艺的门槛,正在从「会读汇编」滑向「会提问题」。

暂无表态

想参与讨论或点赞?登录后使用完整功能

讨论回复(0)

暂无回复,登录后可参与讨论
合作

智谱 GLM-5 已上线

在智谱开放平台 BigModel.cn 打造 AI 应用。新一代旗舰模型 GLM-5 在推理、代码、智能体综合能力达到开源模型 SOTA。

领取 2000万 Tokens