首页 › tips-tricks › REA的八层取证术:别把逆向当黑盒

现在中文技术圈谈 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 路的重型框架。

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

再补一个生态信号: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 客户端时,装轻量替代:

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

预期效果:安装成本接近于零(一个文本文件 + 现成命令行工具),能力由底层 CLI 工具决定。

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

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


整套流程串起来

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轻量路线"]

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

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

看两个硬数据:

同时,这波热度不是孤例。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 — 用 Agent 从应用行为逆向到原生二进制的框架(10 月 21 日快照 355,207 Star)
  2. JoasASantos/REA-Prompts — REA 的提示词包,1,278 Star
  3. aicodeking/leanrea — 8 KB、纯 CLI、无 MCP 的轻量替代路线,1,256 Star
  4. Caho1/open-claude-ui — 基于 REA 深度拆解 Claude 桌面端 UI 的还原项目
  5. newliver666/apk-reverse — Android APK 逆向分析专用技能
  6. PHP2Shell: AI uncovers critical RCE in PHP(HN 讨论) — 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学通信知识星球海报-扫码加入