news 2026/10/21 5:25:11

REA 逆向分析教程:一条命令让 AI 编码助手跑通无源码二进制分析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
REA 逆向分析教程:一条命令让 AI 编码助手跑通无源码二进制分析

REA 逆向分析教程:一条命令让 AI 编码助手跑通无源码二进制分析

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

手里是一个编译好的二进制或 APK,没有源码,想知道某功能到底怎么实现。REA(reverse-engineer-anything)给 AI 编码助手装上逆向调查技能与 172 个 MCP 工具,让助手在无源码条件下读二进制、追调用、给证据。

它到底是什么

REA 是给 AI 编码助手(Claude Code、Codex、Cursor 这类)接入逆向调查能力的一组技能 + 本地 MCP 服务:setup 往助手注册一个本地 MCP 服务(main 分支的工具目录为 172 个工具),再装一份配套的操作指令(skill)和 6 份按需加载的参考指南——相当于给助手配了反汇编工作台和一本操作手册。助手按指令调用工具检查目标、追踪相关代码,REA 返回的发现自带证据和局限说明:结论分观察、推断、未知三类,每条都能回溯到 Evidence ID,分析全程在本地跑。

完整的调查指令写在 SKILL.md,参考指南挂在 references/ 下(原生与工件、JavaScript 应用、Android、运行时观察、证据工作流、连接与恢复六份)。

动手前的两分钟检查

检查项要求
Node.js22.x(≥22.19)、24.x(≥24.11)或 26+;Node 23、25 及预发布版不受支持
npm与该 Node 运行时配套的那一个

REA 复用你已有的 Node.js 和 npm,不会替你升级运行时,也不装无关软件(Homebrew、Java、Ghidra 都包含在内)。

🚀 安装:一条命令四步走完

主路径直接跑:

npx rea-agents setup

四步,不用记任何参数:

  1. 选客户端:多选列表,已有的 REA 注册默认被选中。setup 能直接配置 24 种客户端:Claude Code、Claude Desktop、Codex、Cursor、Gemini CLI、Windsurf、Devin、OpenCode、Antigravity、GitHub Copilot CLI、Command Code、Qwen Code、Kimi Code、VS Code、Grok Build、OMP、Pi、Hermes、Qoder、Factory Droid、Trae、WorkBuddy、ZCode、DeepSeek Harness。
  2. 审计划:逐个列出检测到的配置路径、技能安装位置、外部软件与网络来源,你逐项批准后才写文件。
  3. (可选)连引擎:深入原生分析需要 Hopper、Ghidra 或 IDA。Hopper 是独立商业软件,只有在你明确批准后才安装;已有 Ghidra 则只登记验证过的路径。这步可跳过——静态 JavaScript 和 .NET 分析不需要任何引擎。
  4. 重启生效:完成后按提示重启被点名的助手,工具在新会话里生效。

整个过程会备份现有配置、原子写入、失败可回滚;拒绝或按 Ctrl-C 不会留下任何改动。

轻量路径适合"MCP 已经配好、只想刷一份最新技能指令"的场景:

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

它只安装技能说明文档和配套参考,不注册 MCP 服务、不装分析引擎。

完整命令选项、手动注册 MCP 的写法和各客户端配置路径,见 docs/installation.md。

🩺 装完怎么验证

按客户端查注册状态(例子里的codex是占位,换成你的实际客户端 ID,对照安装文档支持列表替换):

rea doctor --client codex --json

只查逆向技能文件本身:

rea doctor --skill --json

看返回里的三个字段:

  • healthy:该范围检查是否全部通过
  • installed_version:装上的技能指令版本
  • installed_tool_count:工具目录里的工具数

三项正常,就可以开干。

💬 跑通第一次分析

装好之后直接用自然语言提问:

解释"备忘录"应用的搜索功能是如何工作的,展示证据,然后为我的项目实现一个类似功能。

把"备忘录"换成你的目标应用。助手按 SKILL.md 的路由规则自己挑工具,你不需要记任何命令:

  • ASAR 或已解包的 JavaScript/Electron 树 →analyze_javascript_application
  • 原生可执行文件、库 →open_binary
  • Android APK 的类与方法 →inspect_android_package
  • .NET 程序集 →inspect_managed_artifact
  • 固件镜像 →inspect_firmware_regions
  • 已打开的网页 →list_browser_targets

手上没有 MCP、想先静态看一个 JS 应用,直接走 CLI 回退,不依赖注册和引擎:

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

返回的是模块、导入、Electron 边界和完整的 Evidence 记录。

中文 README 里挂了三个公开案例:把某游戏的声像位置计算重建为 C、沿引用把 Electron 剪贴板桥从渲染进程追到主进程、恢复 DOS 游戏的 16 位弹道角度计算——每一步都拿伪代码、交叉引用和 Evidence 做依据,而不是"看起来像"。

🧭 能力边界

它管的是"打包后的成品":

  • 原生二进制:伪代码、汇编、字符串、符号、调用与交叉引用
  • JavaScript / Electron / ASAR 包
  • Android APK
  • .NET 程序集
  • 固件镜像
  • 已打开的网页与保存的网络捕获

它不管:

  • 完整源码仓库——SKILL.md 明确说直接用普通仓库工具,不要跑 REA 的就绪检查或引擎命令
  • 任何需要凭感觉下结论的场景——REA 的产出必须区分观察、推断与未知,静态分析不宣称观察到过执行

🔄 更新与卸载

REA 迭代快,保持更新:

rea update

不再需要时卸载:

rea uninstall

卸载只移除 REA 自己写入的注册项和技能文件,Hopper、Node.js、Evidence 记录、捕获、无关技能和其他 MCP 服务都不碰。

🚧 卡点速查

  • 助手会话里看不到 REA 工具→ 注册对齐但会话是旧的,重启助手重连即可;doctor 查的是文件和前置条件,不证明当前会话已连上。
  • 没有 MCP 又急着看 JS→ 直接跑 CLI 的analyze-javascript-application,不依赖注册和引擎。
  • 要深入反编译二进制但没有引擎→ 先在本地备好 Hopper、Ghidra 或 IDA;setup 只在批准后安装 Hopper,Ghidra 和 IDA 复用你已有的安装。
  • 碰到疑似 bug→ 先rea update,近期版本经常已经修好;还不行再按安装文档的故障排查章节走。

调查结束时用close_binary关掉打开的原生会话(交给助手做就行)。等你哪天不想用了,rea uninstall只带走 REA 自己的注册项和技能文件——Hopper、Node 环境和所有 Evidence 记录原样留在本地,下次想再接上,一条npx rea-agents setup的事。

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/21 5:25:07

深入理解Containerd:容器运行时架构、实操与Kubernetes实践

1. 为什么Containerd值得单独拎出来讲很多刚接触云原生的人,一上来就被Kubernetes、Docker、Containerd、CRI-O这一堆名词绕晕。我见过不少项目里的同事,明明宿主机上装着Docker,结果发现Kubernetes集群用的运行时根本不是它,而是…

作者头像 李华
网站建设 2026/10/21 5:24:55

A2A协议实战:从最小示例到多Agent协作避坑指南

上篇我们把 A2A 协议的基本定位、AgentCard 的作用、Task 状态机的雏形都过了一遍。今天这篇换一个角度,不再停留在“A2A 是什么、为什么需要它”,而是直接聊“怎么把它跑起来”。我会用一个最小可运行的示例把整个通信链路打通,再拆解任务状…

作者头像 李华
网站建设 2026/10/21 5:24:54

SSM+Vue社团管理系统实战:验证码防刷与部署全流程解析

做这类大学生社团管理系统的人真的太多了,每年课程设计、毕业设计里都能见到。很多人交上来的东西功能列表看着挺全,但一问细节就露馅,尤其是登录页那个验证码——大多数人是直接从别的项目复制过来的,问它怎么生成、怎么校验、为…

作者头像 李华
网站建设 2026/10/21 5:24:42

知识工作插件化架构设计与实现:从转换到编排的完整指南

1. 从“知识工作插件”这个命名说起第一次看到 knowledge-work-plugins 这个项目名,我的直觉是:这大概率不是一个单一工具,而是一套面向知识工作者的能力扩展集合。所谓“知识工作”,说白了就是那些以信息处理为核心的活儿——写文…

作者头像 李华
网站建设 2026/10/21 5:24:13

knowledge-work-plugins:插件化架构如何解决知识工作工具链碎片化

1. 这个插件体系到底在解决什么问题第一次看到 knowledge-work-plugins 这个命名,我脑子里蹦出来的不是某个具体功能,而是一类很典型的工程困境:知识型工作者的工具链太碎了。写文档的、管任务的、查资料的、做归档的、跑分析的,每…

作者头像 李华