← 全部文章

演示:让 AI Agent(REA)反编译一个 Hello World

上一篇聊了 REA(让 AI Agent 逆向任何软件)。这篇演示它怎么用——拿最小的目标:一个 Hello World。

全程三步:备好目标 → 接上 REA → 一句话提问。

Step 1:备好"目标"(一个 strip 过的二进制)

#include <stdio.h>
int main(void) { printf("Hello, REA!\n"); return 0; }
gcc -O0 -s hello.c -o hello     # -s:strip 掉符号,模拟"没有源码"

现在 hello 是一个 ELF64、已 strip、没有函数名 的二进制——正是"逆向"的典型起点。

Step 2:把 REA 接到你的 Agent

npx rea-agents setup

按提示选你的 agent(Claude Code / Codex / Cursor…),它会:

  • 给 agent 注册 REA 的 MCP server;
  • 安装对应的工作流指令;
  • 备份你原有的配置。

一个前提:原生二进制(像这个 ELF)需要一个分析引擎——Ghidra(免费)、Hopper 或 IDA。JS / .NET 的静态分析则免引擎。装好引擎、重启 agent,就能用了。

引擎(Ghidra)怎么快速拿到? 用它自己的下载器就行(多镜像并行,GitHub:https://github.com/zishuowang696/gh-download):

```bash scripts/gh-download.sh NationalSecurityAgency/ghidra Ghidra_12.1.4_build --pattern 'PUBLIC.zip' -d ./ghidra ```

—— 543 MB,实测 4.7 MiB/s(详见 国内友好的 GitHub 下载器)。

Step 3:一句自然语言,让它干活

在 agent 里,你只需要说人话:

"反编译 ./hello,说明 main 到底干了什么,并把那个字符串还原出来。"

(也可以走命令行:npx rea-agents@latest 的 analyze 命令,逻辑一样。)

你会拿到什么(我们的真实结果)

我在 Linux + Ghidra 12.1.4 + Node 24 + REA 6.4.0 上真跑了一遍。

带符号版:rea decompile ./hello_sym main →

undefined8 main(void)
{
  puts("Hello, REA!");
  return 0;
}

而且它返回的不只是代码,还带着证据:

  • provider: ghidra 12.1.4、confidence: observed;
  • 一串 limitations(明确说"这是反编译输出、不是源码,也不等同于 Hopper 的输出")。

一个彩蛋:我们写的是 printf("Hello, REA!\n"),但编译器把它优化成了 puts——REA 直接摆出来了。

而在 strip 过的 hello 上:rea decompile ./hello main →

error: Analysis failed
message: "Unknown Ghidra procedure name or address: main"

这就是"没有符号"的现实:函数名被抹了,你(或 AI)得按地址去定位——它不是"一键变源码"的魔法。

这就是 REA 的定位:不说"相信我",而是"结论 + 证据 + 局限"——比"AI 拍脑袋"靠谱得多。

关键:它快,但你得能验证

REA 省的是"读汇编"的时间,不是"理解"的责任。

它给你伪代码,你需要能验证(比如随手 objdump -d 看一眼、strings 对一下)。所以才建议你好歹会看一点底层——不是为了自己手撸,而是为了验收 AI 的结论。

小结

  • REA = AI 版的"逆向助手":你写 server 的工具、它负责接通引擎与 agent;
  • 用法极简:备目标 → 装 REA → 一句话提问 → 看伪代码 + 证据;
  • 别把它当魔法:它是"提速器",判断和验证,还得靠你。

下一步(合法、有护城河):找一个你拥有的设备固件里的一个小函数(CRC / 校验 / 协议打包),用同样的流程反出来,重写成你自己的代码——那才是 REA 真正值钱的地方。

💬 你会先拿它反什么?(学习 / 互操作 / 安全 ✅;抄 / 破 ❌) 🛠️ 需要嵌入式 / 边缘 AI / Agent 定制与咨询?见 关于页。

评论 0

还没有评论,来抢沙发~

登录 登录后即可参与评论