rea逆向工程实战:本地把二进制拆到字节级

痛点直击:AI 只会写代码,不会读二进制

手里攥着个没源码的 .exe、.apk 或签名掉了的 Electron 包,想让 Claude Code 帮你把业务逻辑还原成伪代码?别做梦了——大模型上下文塞不进 IDA Pro 的数据库,也跑不通 Ghidra 的分析流程。morluto/rea 这项目,GitHub 狂揽 超 34 万 star、fork 8.6 万,MIT 协议彻底开源,给的答案是:别让大模型去猜汇编,把现成的逆向工具包成 MCP 服务器 扔给 Agent 直接调。

rea逆向工程实战:本地把二进制拆到字节级

前置条件:别上来就 npx

先确认三样东西在机器上:

  • Node.js 环境(跑 npx rea-agents setup 用)
  • 至少一个反编译器:Ghidra 免费开箱即用;IDA Pro / Hopper 属商业软件,必须自行合法获取授权
  • 目标二进制文件:原生 ELF/PE/Mach-O、Electron/JS 打包应用、.NET 程序集、Android APK,甚至网站

npm 包叫 rea-agents(当前稳定版 6.7.0),README 还列了官网 rea.tools——三个渠道对上号再动手,市面上有同名仿冒仓库。

三步把 Agent 接进反编译器

  • 跑初始化命令:
    npx rea-agents setup

    按交互提示选你的 Agent(Claude Code / Codex / Cursor / Gemini CLI / Grok Build)和后端分析工具(Ghidra / IDA Pro / Hopper),配置会自动写入 Agent 的 MCP 设置。

  • 直接提自然语言需求:比如「把这个 APK 里的登录校验逻辑还原成伪代码,重点看加密部分」。Agent 通过 MCP 调用你本机的反编译器,自动走完反汇编、函数识别、交叉引用整套流程。
  • 拿结果继续干活:伪代码、字符串表、函数调用链直接塞回对话上下文,接着让 Agent 写 PoC 或补测试,中间不用你手动开 GUI 点半天。

原理不神秘:rea 是 TypeScript 写的 MCP 服务器 + CLI,它不自己反编译,而是把 Ghidra / IDA Pro / Hopper 这些老牌工具的能力封装成 Agent 能调用的接口。详细参数去 仓库 README 对着看,别信二手转述。

README 里那三个官方 showcase

以下三个案例出自官方 README 展示区,是真实挂出来的,不是社区段子:

  • DX-Ball 声场重建:老 DOS 游戏的音频调用链被 Agent 扒出来,还原成可跑的复刻逻辑。
  • Notion Electron 剪贴板桥:对着 Notion 的 Electron 包做分析,定位剪贴板相关逻辑,做桥接改造。
  • TH04 DOS 弹幕计算:东方系列老游戏的弹幕定点数运算,被还原成可读的数学公式。

注意:邮件里流传的「空调遥控器做成 Mac 菜单栏」「Linux 跑 AirDrop」等案例,在 README 展示区里没找到,别当官方背书到处转。

避坑指南:别让授权和仿冒毁了周末

⚠ 商业反编译器不是送的
Ghidra 免费,但 IDA Pro 和 Hopper 是商业软件,授权自己搞定。rea 只是把它们的现有能力封成 MCP 接口,不附带任何授权。

⚠ 认准三个官方渠道
GitHub 只认 morluto/rea、官网只认 rea.tools、npm 只认 rea-agents。同名仓库、同名 npm 包一律是蹭热度的仿冒。

⚠ 大二进制别硬塞
上百 MB 的文件先确认后端分析工具的内存和超时配置,MCP 调用超时了先调大后端限制,别反复重试把进程卡死。

别再手动点 IDA 了,把逆向变成 Agent 的一条工具调用

以前逆向是「打开 IDA → 等自动分析 → F5 看伪代码 → 手抄关键函数 → 回编辑器写 PoC」,现在是「npx rea-agents setup → 扔句自然语言 → 拿回可读的还原结果」。工具本质没变,但把「点鼠标、记偏移、查交叉引用」全交给 MCP 服务器自动化了。下次遇到没源码的遗留系统、要绕过的校验逻辑,直接把二进制丢给接好 rea 的 Agent。MIT 协议、本地跑、数据不出门,这才是给程序员用的逆向基建。

————社媒版本 使用后删除————