REA 从零上手:81K Star 逆向工具,5 步接进 AI 编程 Agent

先说个真事。上个月我在一个竞品 App 里看到一个滚动触发的懒加载,做得又快又准,我想把它摸清楚再复刻到自己项目里。可对方闭源,打包好的二进制里只剩一个 .so 文件。搁以前,这种活得开 Ghidra、一层层点反汇编、追调用栈,一晚上都不一定摸到门道。现在不一样了:我把一个叫 REA 的开源工具接进 AI 编程工具,先让它去拆,再把带证据的结论拿回来给我核对,半小时就有了头绪。

REA 全称 Reverse Engineer Anything,直译过来就是"逆向一切"。它的本质,是把专业逆向分析工具打包成一个 MCP 服务,喂给 AI 编程 Agent 用。卖点一句话能说清:没有源码,也能让 Agent 讲明白某个功能是怎么实现的,而且每条结论都贴着证据。

这项目最近在 GitHub 上势头很猛:81.3K Star、17.6K Fork,MIT 协议纯开源。npm 包去年 7 月首发,最新的 6.3.0 就是这几天刚发的。配套的官网 rea.tools 上连分步教程都备齐了。

注意看这个时间线------去年 7 月包就发了,为什么这半个月突然就火了?因为"Software is done"(软件做完了)这波讨论起来了:既然 Agent 能读文档、写代码、跑测试,那"看懂一个没源码的软件是怎么工作的"这件事,是不是也能交给 Agent?REA 正好卡在这个叙事上,把"逆向"这个原本需要多年功底的手艺,降维成了一条 npx 命令。再加上它挂了 MCP 这个通用协议,Claude Code、Codex、Cursor 都能直接接,扩散速度自然就快。

今天这篇,我从安装到跑通头一个带证据的分析任务,完整走一遍,前后 5 步。

环境准备

先看 Node 版本。REA 要求 Node.js 22.19+、24.11+ 或 26+。查一下:

bash 复制代码
node -v
# v24.11.0

低于这几个版本就先去升级,不然 npx 会直接报引擎不支持。别的依赖几乎没有,浏览器、反汇编后端这些 REA 会按需自行处理,不用你手动配。平台方面 Linux、macOS、Windows 都能跑,原生二进制分析那条链路在 Windows 下走的是它自己的 native 模块,装的时候留意一下终端的输出就行。

第 1 步:安装

安装一条命令,走 npx:

bash 复制代码
npx rea-agents setup

这条命令做两件事:往你的 Agent 里注册一个 MCP 服务器,再写入一套工作流提示词。跑完它会问想接哪个 Agent(交给下一步说)。不想用 npx 的话,也可以 npm 全局装:

bash 复制代码
npm i -g rea-agents
rea --version

装完 rea 就进 PATH 了,CLI 用法和 Agent 模式共用同一套工作流。

想了解其他几款的实测数据吗?第二部分有完整的对比表格------【关注后查看完整对比】

第 2 步:接到 Agent

REA 是个 MCP server,你不直接跟它对话,而是把它接进 AI 编程工具,让 Agent 在对话里直接调它的分析能力。官方主要支持这几个宿主:

  • Claude Code
  • Codex
  • Cursor
  • DSH(DeepSeek Harness,走插件)

以 Claude Code 为例,rea-agents setup 会在本地配置里写入类似这样一段:

json 复制代码
{
  "mcpServers": {
    "rea": {
      "command": "rea-agents",
      "args": ["mcp"]
    }
  }
}

改完重启 Agent,它就能识别 rea 这个工具了。Codex、Cursor 的写法跟上面 JSON 结构基本一致,只是落到各自不同的本地配置文件而已。DSH 那条路线更省事,直接在插件市场搜 ds-bot 或 rea 装就行,走的是 dsh-plugin 生态。

接完之后还有个隐藏前提:Agent 背后得有一个会用工具、能读长上下文的模型。REA 返回的是大段证据链,模型上下文短了会读不完整,选模型时最好挑 100K 上下文起步的。

第 3 步:验证

接好之后先别急着拆东西,跑一下自检,确认 Agent 真能调到:

bash 复制代码
rea readiness

这条命令会逐个检查 Agent 注册、分析引擎(浏览器 / 反汇编后端)是否就绪,有问题直接提示缺哪一块。或者你直接在 Agent 里问一句"rea 现在能拆哪些目标",它应该回你一串支持的类型。这一步能提前暴露两类问题:一是 Node 版本不对,二是 Agent 压根没识别到 MCP server,都比分析到一半才发现要强。

第 4 步:跑头一个分析任务

验证过了,来点真的。挑一个你手上有权限分析的目标------我建议先用普通网页练手,别一上来就拆别人闭源商业软件。假设你想搞清楚某个网页的某个交互是怎么触发的,直接在 Agent 里说:

用 rea 看一下 example.com 首页滚动触发的懒加载是怎么实现的,把脚本证据给出来。

Agent 收到之后,会先调 REA 打开目标页面,抓页面结构、跑脚本、记网络请求、截屏,再把这几类原始材料拼成一份分析:哪段脚本负责监听滚动事件、触发条件是什么、懒加载的资源从哪个接口拉。关键点是,这份分析的每一句结论,都能回溯到具体的文件、具体的网络请求。你拿到的不是"大概是这样",而是一条能自己点开验证的证据链。

这里有个实操细节:REA 跑网页分析需要浏览器渲染,遇到带登录墙或验证码的页面会卡住。正确姿势是先在你的浏览器里手动登录、保持会话,再让 REA 复用这个会话来分析,它比自己硬闯验证码靠谱得多。

跑完你会拿到类似这样的结构:先是"结论"------这个懒加载由 scroll 事件监听器驱动,阈值是距底部 200px;接着是"证据"------news.js 第 42 行到 57 行的 addEventListener、两条 network 记录里拉到 /api/feed 的 XHR、以及触发瞬间的一张截图。结论可以商榷,证据不能嘴硬,这一段就是你能复核的底。

第 5 步:读证据链

REA 结果里最值钱的是那串"证据",具体分三类:

  • snapshot:关键位置的截图与状态快照,告诉你"那一刻长这样"
  • 文件引用:具体脚本 / 方法的行号引用,能直接点过去看
  • 网络记录:请求和响应的对应关系,接口怎么调的看得一清二楚

别急着全盘信它。REA 的定位是"让 Agent 先追,人再来核对它给出的证据"。所以我自己的习惯是:结论只当线索,证据链才当事实;拿不准的地方,就让 Agent 顺着证据再深挖一层,别让它自由发挥。这跟用 AI 写代码是一个道理------产出越具体、越可验证,才越敢用。

CLI 模式也能跑

除开接进 Agent,REA 也提供独立的命令行入口。装好后直接敲:

bash 复制代码
rea analyze --target https://example.com

CLI 和 Agent 走的是同一套工作流,只是把交互从"对话"换成了"命令 + 参数"。好处是能写进脚本、做批量分析,也不用牵挂 Agent 的上下文够不够长。对我这种偶尔才拆一次的人来说,平时留着 MCP 静默待命,需要时 CLI 出一条命令,是最省事的组合。

支持哪些目标

REA 支持的目标比"拆 App"宽得多,我把官方列的类型整理成一张表:

目标类型 分析方式 能拿到什么
网站 页面结构 + 脚本 + 网络 + 截图 交互实现、请求链路
JS / Electron 应用 解包 + 静态分析 源码结构、调用关系
Android APK / 设备 反编译 + 运行分析 组件、权限、行为
.NET 程序集 静态查看 IL 结构、方法列表
HAR / mitmproxy 记录 回放网络流 请求 / 响应时序
原生二进制 接 Hopper / Ghidra / IDA 伪代码、汇编、字符串、符号

这张表里藏着 REA 的真实边界:越靠近"网页 / 脚本"这类高层目标,它分析得越顺;越靠近原生二进制,它就越依赖你本地装好了 Ghidra、Hopper 或 IDA。原生二进制那行要单独说------REA 自己不做反汇编,它把这三款工具当后端来调。所以拆真正的二进制时,你本地得先有其中之一,否则会提示找不到后端。

跟手动开 IDA 差在哪

说到这,肯定有人问:那它跟直接开 IDA 手动拆,有什么不一样?我列个对比表:

维度 REA(Agent 驱动) 手动 IDA / Ghidra / Hopper
上手门槛 一条 npx 命令 要懂反汇编、调用约定
产出形式 带证据的自然语言报告 伪代码 + 你自己读
追踪深度 按 Agent 上下文自动追 手动一层层点
结果可信度 证据链可回溯,仍需人工核对 依赖操作者水平
用在哪 快速摸清"怎么实现的" 精确到指令级的深挖

一句话:REA 帮你把"从 0 摸到 1"的时间压下来,但"从 1 精确到 10"那段,还是得靠你对 IDA 那套的底子。它不是替代品,是个前置加速器。真要拆壳、脱混淆、逐条对指令,还是得乖乖回到 IDA 前面去。

合规边界

这块必须写清楚,因为逆向这行的水不浅。REA 官方声明:只用于合法的逆向研究、分析与重建,授权和合规由使用者自己负责,项目不认可非法或未授权使用。它还专门强调:从没发行过任何加密货币,打着 REA 名义的代币都跟它无关------这轮热度起来后,蹭名字的币已经在冒头了。

实务上记三条。一是只拆你被授权分析的目标:自己的软件、拿到许可的、明确开源的,这三类之外先停下来想想。二是拆之前先看对方的服务条款和版权声明,很多商业软件的授权里直接写死了"禁止反汇编",那就不碰。三是企业场景先问法务,因为反向工程在不同地区、不同授权下的边界差别很大,同一个动作在 A 国合规、在 B 国可能就踩线,这不是"免责声明"四个字能盖过去的。

常见问题

最后补几个我实际撞到的坑:

  1. npx 报 Node 版本不支持------就是版本问题,升到 22.19+ 即可。
  2. Agent 里 rea 工具不出现------八成是 setup 没跑完或 Agent 没重启,重跑一次 setup。
  3. 拆二进制提示找不到后端------本地没装 Ghidra / Hopper / IDA,装一个再重试。
  4. 抓不到的网站------带登录墙或验证码的页面,先手动登录会话再让 REA 分析。

到这里,从安装到跑通头一个带证据的分析任务,5 步就齐了。REA 这一波的火,本质是"逆向工程"这个高门槛技能头一次被 MCP 打包成了 Agent 能直接调的工具------门槛从"你得会反汇编"降到了"你有一条 npx 命令"。至于它能不能把你项目里那个"想抄又抄不了"的功能拆明白,装一个试试就知道了。

延伸阅读:Codex Harness 从零上手:3 层接口 + 5 步搭出自己的 Agent 应用

DeepSeek Harness 从零上手:1 条命令启动开源 Agent 框架

AI 沙箱逃逸 4 连发:5 步给本地 Agent 装围栏

📌 系列文章

看完有收获?点个关注 👆 我会持续分享更多AI编程实战教程。

相关推荐
java_logo1 小时前
Docker 部署 Halo:轻松搭建开源个人博客
docker·容器·开源·博客·开源博客·halo·轩辕镜像
一次旅行1 小时前
2026.10.13 AI产业深度解读|硬件互联标准更新;Agent工程启示;开源社区AI政策转向;游戏与科研AI双线突破
人工智能·游戏·开源
SL_staff1 小时前
OKR落地难?技术团队如何用五层联动链打通执行断层
java·开源·全栈
用户117910488332 小时前
每个会话一个子进程:多会话真并行的架构取舍
开源·harmonyos
TTATTC2 小时前
定时增量每 5 秒全表扫一遍?我用 DBSyncer 跑了三组对照实验才找到原因
docker·开源
shandianchengzi2 小时前
【开源自制工具】为演唱会做了一个取景器:提前算清放大倍数、裁切像素和手机镜头选择
智能手机·开源·手机·摄影·镜头·增距镜·望远镜
TTATTC2 小时前
42 个 OpenClaw 落地案例按权限分五档:先从哪一档搭起最不容易翻车
docker·开源
william_yangshun2 小时前
【AI实战】rakazo中文版使用教程:3869星开源AI agent,Docker一条命令跑起来
人工智能·docker·开源
IvorySQL2 小时前
PostgreSQL 日报| pg_vectorsearch 开源向量搜索发布(10 月 14 日)
数据库·人工智能·postgresql·开源·区块链