☰
让 AI 编码助手读懂二进制:reverse-engineer-anything 安装与验证完全教程
2026/11/4 2:10:26 网站建设 项目流程

让 AI 编码助手读懂二进制:reverse-engineer-anything 安装与验证完全教程

【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea

产品经理丢给你一个 APK,只说了一句:"竞品这个功能是怎么做的?"没有源码、没有文档,只有发布产物。这种场景正是 REA(reverse-engineer-anything)的主场:它是一个开源逆向工程技能,把反编译、交叉引用追踪、版本行为对比这一整套调查流程接到 Claude Code、Codex、Cursor 等 AI 编码助手里,由助手自己选工具、自己往下追,最后给出带证据链的结论。本文带你从一条安装命令走到装完即验证,全程可审、可回退。

适用边界:先分清该用与不该用

一句话结论:只有"手里只剩产物"时才启动 REA,源码在手时别碰它。

技能文件 SKILL.md 里写死了这条路由原则。判断标准很简单:

  • ✅该用:目标是发布产物且没有一行源码——原生二进制、打包应用(ASAR / Electron)、Android APK、.NET 程序集、固件镜像,或你需要运行时证据、要对比两个版本的行为差异。
  • ❌不该用:目标是完整源码仓库。架构梳理、代码走读用普通仓库工具就够了,启动逆向流程反而是绕路。

装好之后,助手相当于一本能自动选路的调查手册。你只描述目标,路由规则替它决定调哪个工具:

目标类型走哪个工具产出
ASAR / Electron / JavaScript 应用analyze_javascript_application模块图 + 行为证据
原生二进制open_binary+ Hopper 或 Ghidra 引擎伪代码、字符串、调用链与交叉引用
Android APKinspect_android_package包结构,可下钻到 smali 与资源

它不只停在"这个功能怎么工作",还会沿调用者与交叉引用一路追到底,把结论转成你能落地的实现方案。

动手前的唯一前置检查:Node.js 版本

跑任何安装命令前,先确认运行时:

node -v

当前要求是Node.js 22.x(≥22.23.4)、24.x(≥24.22.1)或 26.12.1+,并且需要 npm。23、25 版本、更早的 26.x 以及所有预发布版不在支持范围,安装文档里有完整说明。

两点安心保证:REA 只用你已有的运行时,不会顺手升级 Node.js、npm 或 Homebrew;写入操作全部走备份 + 原子写入,失败自动回滚。

另外如果你在 Linux 上分析原生目标或静态 JavaScript,REA 需要PATH里有 procps 兼容的ps做进程归属检查,装好发行版自带的procps包即可。

最短安装路径:按你的现状选命令

不用背流程,对号入座:

你的现状该跑的命令它会做什么
第一次接触,MCP 还没配npx rea-agents setup技能文件 + MCP 注册一次配齐
MCP 已配好,只想刷新技能说明书npx skills add morluto/rea --skill reverse-engineer-anything只写技能指令,不碰注册和引擎
装完想确认环境没断链rea doctor --client codex --json只读体检,输出结构化 JSON

路径一:首次完整安装

npx rea-agents setup

这条命令是引导式的,每一步都留给你确认权:

  1. 勾选客户端:从列表里选择要接入的助手,如 Claude Code(claude_code)、Codex(codex)、Cursor(cursor)、Gemini CLI、Windsurf、OpenCode、VS Code 等,完整 client ID 对照见安装文档的 Supported agents 一节。
  2. 审变更计划:REA 先逐项列出要改的配置文件、备份位置、技能的落盘路径,你确认后才真正写文件。中途按 Ctrl-C 不会留下半写状态。
  3. (可选)接分析引擎:分析原生二进制需要 Hopper 或 Ghidra。setup 可以代装 Hopper,但没有你的明确点头,它绝不自己装;已有 Ghidra 则记录已验证的安装路径。
  4. 重启客户端:按完成提示重启对应助手,注册即刻生效。

全部顺利的话,收尾会给你一份汇总:哪些客户端、哪些分析工具、哪些工作流文件通过了最终检查。

路径二:只刷新技能指令

npx skills add morluto/rea --skill reverse-engineer-anything

它只写入技能说明书和 7 份按需加载的参考指南——references 目录覆盖原生二进制与产物、JavaScript 应用、Android 应用、证据工作流、运行时观察、连接与恢复、环境等主题。**不注册 MCP、不装引擎、也不会给正在运行的会话添加工具。**已注册好的工具可以立刻用;若发现某工具缺席,走路径三的 doctor 查对应客户端的注册情况。

路径三:只读体检

rea doctor --client codex --json

把codex换成你的 client ID,输出结构化 JSON,逐项列出依赖与注册状态。rea doctor严格只读,不改任何配置。只关心技能文件本身时,换个视角查:

rea doctor --skill --json

装完立刻验证:先确认工具真出现,再抛第一个问题

doctor 通过、客户端重启之后,先做一步省不掉的人工确认:直接问助手"你有哪些 REA 工具"。能看到open_binary、analyze_javascript_application这类工具名,才算注册真正生效。原因很直接——doctor 检查的是文件和前置条件,证明不了当前会话已连上 MCP。

然后就可以抛第一个真实问题,比如:

解释目标 App 的搜索功能是怎么实现的,展示证据,然后在我的项目里实现类似功能。

助手按路由规则自己选工具往下追,你不需要记任何命令。

如果 MCP 没连上、或客户端不支持,还有一条不依赖任何逆向引擎的 CLI 回退通道——静态 JavaScript 分析直接走命令行,把完整 Evidence 记录打到终端:

npx -y rea-agents@latest analyze-javascript-application /绝对路径/应用目录 --json

跑完直接拿到 Evidence 记录、模块图(含 imports 与 Electron 边界)和局限说明,可照常用于分析。但记住它的定位:这是回退通道,不代表 MCP 已经配好。

日常维护与排障:更新、卸载和排查顺序

两条日常命令,各管一摊:

  • 更新:rea update——只更新当前 CLI 所属的那个安装(npm 或 Bun 全局),建议隔三差五跑一次。
  • 卸载:rea uninstall——只移除 REA 自己写入的注册项和技能文件,不碰你本地的 Hopper、Node.js、npm;加--purge-data会连 REA 的缓存和状态路径一起清掉。

真卡住时,按这个顺序排,别一上来就重装:

  1. 先跑rea doctor --json(全量)或rea doctor --client <id> --json(单客户端),从结构化报告里定位断在哪一环——缺 provider、注册过期,还是会话没重连;
  2. 只查某个引擎时用rea doctor --provider ghidra --json(或hopper、ida、kuna);
  3. 需要修配置时,先跑只读计划rea setup --client codex --dry-run --json,看清它提议改哪些路径再批准;
  4. 更细的手动注册与故障排查,看安装文档;MCP 契约与工具行为见 MCP contracts;中文语境可对照README 中文版。

装完这一套,你的 AI 编码助手就多了一项硬能力:顺着证据链读懂二进制、追调用、重建行为,从搞懂一个功能到把它搬进自己的项目,全程在本地完成。

【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询