<!-- title: REA的八层取证术：别把逆向当黑盒 -->
<!-- domain: tips-tricks -->

现在中文技术圈谈 AI 编程，谈的是「补全」「一键重构」「让 Agent 跑测试」。但海外有一类工具正在安静地改写另一条更硬的路——**让 AI Agent 去逆向现成的软件**。GitHub 热榜上那个叫 morluto/rea 的仓库，10 月 18 日还是 312,550 Star，10 月 19 日 324,353，10 月 21 日已经 355,207——**三天涨了 42,657 个星，涨幅 13.6%**。它的自我描述只有一句：

> Reverse engineer anything with agents, from app behavior down to native binaries.

用 Agent 从「应用行为」一路拆到「原生二进制」。这句话背后的东西，中文圈几乎没有一篇正经拆解过。这篇文章给你八个可以直接抄的操作姿势——不是介绍 REA 有多神，而是告诉你**怎么问，才能问出能落地的东西**。

---

## 一、先说清楚 REA 是什么形态，别搞错姿势

REA 的定位不是「又一个 AI 编程助手」，而是**面向逆向工程的 Agent 框架**。它的卖点是把原本属于资深逆向工程师的流水线拆成 Agent 能执行的动作：跑起来 → 观察行为 → 抓接口 → 摸数据 → 拆二进制。

这里有一个关键信息差，很多人到现在还没意识到：**REA 走的路子偏重**。同一时间冒出来的 aicodeking/leanrea（10 月 21 日 1,256 Star，10 月 19 日才 655，两天涨 92%）在仓库描述里第一句就写着：「One 8 KB skill that replaces REA (Reverse Engineer Anything): plain CLI tools, no MCP.」——**"no MCP" 三个字，等于官方承认 REA 是走 MCP 路的重型框架**。

这条对国内用户尤其关键：

- 想要**全功能**，上 REA，但它需要 MCP 客户端生态配合，装环境是成本；
- 想要**能穿透网络与权限限制**，leanrea 那种 8 KB 纯 CLI 路线反而更轻，两者不是替代关系而是场景分工。

再补一个生态信号：10 月 21 日 GitHub 新星榜第 13 位是 JoasASantos/REA-Prompts（1,278 Star），描述写着「REAP - Prompts for you to use REA (Reverse Engineer Anything), get the most out of it, and clone or ...」。**一个专门卖「怎么问」的提示词包，在一周内做到 1,278 星**——这说明 REA 真正的瓶颈不是能力，而是提问方式。而提问方式，恰恰是本文要给你的东西。

---

## 二、八个技巧：把 REA 从「能跑」逼到「能用」

### 技巧 1：先划边界，再让它动手

**操作步骤**：在会话第一句就把四件事钉死，缺一件就别开问。

```
目标应用：<名称 + 精确版本号>
运行平台：<macOS 15 / Windows 11 / Linux>
输入动作：<用户操作序列，例如：登录 → 上传文件 → 导出>
期望产物：<可复刻的界面 / 接口文档 / 二进制补丁>
```

**预期效果**：输出从「泛泛而谈这个应用怎么实现的」变成带版本、带平台、带产物形态的具体结论。版本号尤其重要——逆向结论一旦跨版本就是错的。

**适用场景**：所有第一次接触一个陌生目标软件的时候。

---

### 技巧 2：分层取证，一次只打一层

REA 的价值在于「from app behavior down to native binaries」这条纵深，但新手最常见的错误是一上来就问「把这个软件完全还原」。正确姿势是按四层推进，每层单独取一次证：

| 层级 | 该问什么 | 产出物 |
|---|---|---|
| 行为层 | 记录我完成 X 操作后的全部状态变化，输出时序表 | 交互状态机 |
| 接口层 | 列出该应用发起的网络请求：URL、方法、请求头、请求体结构 | 接口清单 |
| 数据层 | 指出本地存储位置与数据结构（SQLite 表、plist、prefs） | 数据字典 |
| 二进制层 | 列出主可执行文件的关键导入符号与函数 | 符号表切片 |

**预期效果**：每层都有独立可验证的交付物，任何一层拿不出证据就说明该层还没拆完。

**适用场景**：需要产出「可交接的逆向文档」而不是「一段听起来很懂的解释」。

---

### 技巧 3：每条结论必须挂证据

**操作步骤**：在提示词末尾固定加一句——

```
每条结论后附证据来源（日志行 / 抓包 / 符号名 / 截图）。
无法验证的结论显式标注为「推测」。
```

**预期效果**：把「模型猜的」和「模型验的」彻底分开。这一条看似啰嗦，实际上是逆向工作里唯一能防止返工的习惯。

**适用场景**：所有需要把逆向结果交付给别人、或者要拿去做补丁的场合。

---

### 技巧 4：以「能复刻」为验收标准

**操作步骤**：把最终验收写成一句可执行的命题——「给出从零复刻 X 功能的最小步骤序列，每步含输入与期望输出」。

**预期效果**：逆向从「我好像懂了」变成「别人照着能重做一遍」。这正是 REA-Prompts 描述里 "clone or rebuild" 那个后半句的含金量所在。

**适用场景**：目标是把某个竞品功能搬进自己产品的团队。

---

### 技巧 5：UI 层是性价比最高的入口

**操作步骤**：如果目标是「学交互」而不是「拿协议」，直接从界面层切入，产出物要求写成：还原了哪些独立组件、覆盖了哪些交互物理算法、附带多少行分析手册。

**预期效果**：这一路的产出物最完整、可读性最强，社区已有一个跑通的样板可对照。

**适用场景**：做 AI 客户端、桌面端产品的团队，以及做交互动效复盘的人。

**一个真实样本**：Caho1/open-claude-ui（10 月 19 日约 1,215 Star）自述「基于 REA 深度拆解并高保真还原 Claude 官方桌面端 UI」，产出包含 **30 个独立 React 组件**、**8 项硬核交互物理算法**，以及一份 **3000+ 行的逆向分析手册**。这份手册的价值可能超过组件本身——顶级 AI 客户端的动效实现官方从不公开，现在被逐行摊开了。

---

### 技巧 6：安卓应用别用通用框架硬啃

**操作步骤**：目标若是 APK，直接走专用技能，例如 newliver666/apk-reverse（10 月 2 日新上架时已 3,139 Star），而不是用通用逆向框架从零搭流程。

**预期效果**：跳过 APK 特有的那堆前置工作（解包、清单解析、native 库定位），直接进入业务逻辑层。

**适用场景**：安全测试人员、外挂分析、兼容性研究。

---

### 技巧 7：改二进制别硬写脚本，交给 ACP 生态

**操作步骤**：需要修改二进制本身（打补丁、改资源、注入逻辑）时，优先找支持 **ACP（Agent Client Protocol）** 的工具，让任意 agent 直接读、改、重命名目标二进制，而不是自己写 patch 脚本。

**预期效果**：把「逆向」和「修改」接成一条流水线，中间不用手工搬运文件。

**适用场景**：安全研究、桌面端软件开发、老旧软件修复。

**参考样本**：Zfinix/eleven（10 月 19 日约 761 Star），描述为覆盖 macOS / Windows / Linux 的 Agent 优先逆向工程工具。

---

### 技巧 8：没有 MCP 环境，走 8 KB 纯 CLI 路线

**操作步骤**：网络受限、权限受管、或不想折腾 MCP 客户端时，装轻量替代：

```bash
# 通用做法，具体以仓库 README 为准
npx skills add aicodeking/leanrea
# 或手动放置
git clone --depth 1 https://github.com/aicodeking/leanrea ~/.claude/skills/leanrea
```

**预期效果**：安装成本接近于零（一个文本文件 + 现成命令行工具），能力由底层 CLI 工具决定。

**适用场景**：企业内网、权限审批严格的环境；以及「先验证这个方向值不值得投入」的低成本试水阶段。

**一个必须说清的短板**：它只靠命令行工具，天花板由底层工具决定。真正做二进制逆向的重度场景，它大概率要和重框架一起用，而不是取代重框架。

---

### 整套流程串起来

```mermaid
flowchart TD
    A["拿到想拆的应用"] --> B["技巧1 划清边界"]
    B --> C["技巧2 四层取证"]
    C --> C1["行为层"]
    C --> C2["接口层"]
    C --> C3["数据层"]
    C --> C4["二进制层"]
    C1 --> D["技巧3 结论挂证据"]
    C2 --> D
    C3 --> D
    C4 --> D
    D --> E["技巧4 以可复刻验收"]
    E --> F{"你的真实目标"}
    F -->|界面与动效| G["技巧5 从UI层切入"]
    F -->|安卓应用| H["技巧6 走APK专用技能"]
    F -->|修改二进制| I["技巧7 交给ACP工具"]
    F -->|环境受限| J["技巧8 走纯CLI轻量路线"]
```

---

## 三、为什么说这是「方法差」，不是「工具差」

信息差里最值钱的一档，从来不是「这个工具你不知道」，而是「人家已经跑通的那条路你不知道」。

看两个硬数据：

- **REA 的增速**：10 月 18 日 312,550 → 10 月 19 日 324,353 → 10 月 21 日 355,207。三天 42,657 星。这种涨幅在工具榜上通常意味着「它解决了一个大家刚刚才发现自己需要的问题」。
- **提示词包的热度**：REA-Prompts 建仓不到一周 1,278 Star。一个「教你怎么问」的仓库能这么快起来，说明社区已经踩够了「问得不对」的坑。

同时，这波热度不是孤例。10 月 21 日 HN 首页上，「PHP2Shell: AI uncovers critical RCE in PHP」拿到 303 分，同一天「Upcoming critical PHP security release（CVE-2026-109618 / -109619）」以 1,440 分排在前面——**Agent 逆向从「好玩」进入「产出真实 CVE」的阶段**。这条线的完整逻辑是：Agent 负责执行逆向流程 → 逆向流程产出接口与行为图谱 → 图谱喂给模型找逻辑漏洞 → 漏洞变成 CVE。国内做安全研究的团队，这条链目前还基本靠手工。

**和国内对比**：国内的「逆向」商业形态主要落在移动 App 加固与脱壳（几维安全、梆梆、爱加密这一类），面向的是 App 合规与保护；而 REA 面向的是**通用软件、从桌面应用到原生二进制**这一整片地带，方法论是「用 Agent 编排」。中文圈几乎没有把「Agent + 逆向」讲透的教程——这正是机会窗口。

---

## 四、信息差总结

| 场景 | 大多数人以为的 | 实际可以做到的 |
|---|---|---|
| 逆向一个陌生软件 | 得是资深逆向工程师，IDA/Ghidra 手工啃 | REA 把行为→接口→数据→二进制拆成可提问的四层 |
| 用 AI 做逆向的卡点 | 模型不够聪明 | 是提问方式，REA-Prompts 一周破千星就是证据 |
| REA 装不上 / 环境受限 | 只能放弃 | leanrea 8 KB 纯 CLI、无 MCP，轻量试水 |
| 学顶级 AI 客户端动效 | 官方不公开，只能猜 | open-claude-ui 拆出 30 组件 + 8 交互算法 + 3000 行手册 |
| 安卓 App 逆向 | 从零搭流程 | apk-reverse 这类专用技能直接进业务逻辑层 |
| 二进制补丁 | 自己写 patch 脚本 | ACP 生态工具让 agent 直接读改二进制 |

---

## 五、行动指南

1. **今天**：把技巧 1 的四行边界模板存进自己的笔记，作为以后所有 Agent 逆向会话的开场白；这条是投入产出比最高的。
2. **本周**：挑一个你天天用但从没见过源码的桌面小工具，用 REA（或 leanrea）跑一轮「行为层 + 接口层」，只问两层，不要贪多。目标不是拿结论，是跑通一遍提问节奏。
3. **本周**：下载 Caho1/open-claude-ui 的分析手册，挑三个交互细节对照自己产品的交互短板，列进下个迭代清单。
4. **持续**：盯住 REA 的 Star 增速和 leanrea 的迭代。两者一个在扩边界、一个在压成本，**同时押注两边的打法**（重框架做深度、纯 CLI 做广度）比押一边更稳。

---

## 参考来源

1. [morluto/rea](https://github.com/morluto/rea) — 用 Agent 从应用行为逆向到原生二进制的框架（10 月 21 日快照 355,207 Star）
2. [JoasASantos/REA-Prompts](https://github.com/JoasASantos/REA-Prompts) — REA 的提示词包，1,278 Star
3. [aicodeking/leanrea](https://github.com/aicodeking/leanrea) — 8 KB、纯 CLI、无 MCP 的轻量替代路线，1,256 Star
4. [Caho1/open-claude-ui](https://github.com/Caho1/open-claude-ui) — 基于 REA 深度拆解 Claude 桌面端 UI 的还原项目
5. [newliver666/apk-reverse](https://github.com/newliver666/apk-reverse) — Android APK 逆向分析专用技能
6. [PHP2Shell: AI uncovers critical RCE in PHP（HN 讨论）](https://news.ycombinator.com/item?id=50180836) — Agent 逆向产出真实漏洞的公开案例

---
> 本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵**爱卫生**（微信ID: gprshome201101）维护。
> 聚焦5G/6G核心网、3GPP标准、AI工具实战。知识星球「51学通信」提供深度技术答疑和行业洞察。

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
