REA Skill:让 AI 编程智能体替你做逆向工程,从二进制到应用行为

总结

REA(Reverse Engineer Anything)是一个基于 MCP 协议的逆向工程工具包,让 AI 编程智能体无需源代码即可调查任意应用——从原生二进制、JavaScript/Electron 应用、.NET 程序集到网站,全部本地分析。开发者看到竞品某个功能想复刻时,把应用丢给 Agent,REA 就能自动完成「反编译 → 理解原理 → 重构实现」全流程。它于 2026 年 4 月创建,8-10 月间在 GitHub Trending 频繁亮相,星数从数千快速增长,是当前 Agent 工具链领域最值得关注的新锐项目之一。

功能与原则

REA 解决的核心问题是:没有源代码时,如何让 AI Agent 准确理解一个应用的工作原理并复刻它。工具通过 MCP 协议连接业界主流逆向工具,在统一的调查工作流下完成任务。设计原则有三条:

  • 证据驱动:每个结论都附带证据(伪代码、调用关系、字符串、段信息)和局限性说明,不猜测、不空口复刻。
  • 本地运行:分析全部在本地 macOS/Linux 机器完成,二进制不外传,隐私安全有保障。
  • 双重入口:同一套能力既可通过 MCP 在 Agent 会话里使用,也可从终端 CLI 直接调用。

认可度

  • GitHub Star:约 7,200+(截至 2026-10-07,GitHub Trending 多次上榜,周增速极快)
  • GitHub Fork:800+
  • 支持智能体:Claude Code、Claude Desktop、Codex、Cursor、Gemini CLI、Windsurf、Devin、OpenCode、Antigravity、GitHub Copilot CLI、Command Code、VS Code(全部通过 MCP 注册)
  • 安装量:NPM 包 rea-agents 全球安装量持续攀升
  • 社区:活跃 Discord 频道,多语言 README(中/英/日/韩/阿),2026 年持续高频 commit

链接

GitHub 仓库:https://github.com/morluto/rea

原作者

morluto(GitHub 个人账号),专注于 AI Agent + 逆向工程交叉领域。项目采用 MIT 许可证,完全开源。

介绍

REA 起源于一个实际开发痛点:开发者看到某个应用实现了某个功能,想在自己的产品里复刻,却发现没有源代码——传统做法只能靠猜测和反复试错。REA 将这个过程自动化:把目标应用交给 AI Agent,Agent 借助 REA 调用 Hopper(macOS/native)或 Ghidra(Linux)进行反编译,然后追踪调用关系、提取算法逻辑,最终将理解转化为适合自己技术栈的实现代码。

整个流程分为三个阶段:

  1. Decompile(反编译):恢复可读伪代码、字符串、符号、段结构和元数据。
  2. Understand(理解):沿调用图追踪,直到 Agent 能准确解释某个功能的工作方式。
  3. Recreate(重建):将发现转化为符合自己技术栈、界面和需求的实现代码。

REA 不声称能恢复原始源代码,也不做「一键克隆整个应用」这种事——它提供的是可验证的调查过程,每个结论都有证据支撑,并明确标注局限性。

特点

  • MCP + CLI 双入口:同一套工具无缝切换 Agent 会话和本地终端。
  • 多目标支持:原生二进制(Hopper/Ghidra)、JavaScript/Electron 应用静态分析、.NET 程序集、网站行为观察。
  • 零执行依赖的 JS 分析:analyze-javascript-application 命令无需 Hopper/Ghidra,直接输出证据和已知局限。
  • 安装极简:一条 npx rea-agents setup 完成 Agent 注册、MCP 配置和工作流注入,安装过程显示具体路径变更并自动备份现有配置。
  • 本地优先:所有分析在本地运行,二进制不离开用户机器,无数据上传风险。
  • 支持广:覆盖主流 AI 编程工具(Claude Code、Codex、Cursor 等),一次配置全部可用。

使用方法

安装步骤

# 1. 安装 rea-agents CLI
npm install --global rea-agents

# 2. 连接 Agent(MCP 注册 + 工作流注入)
npx rea-agents setup
# 会提示选择要注册的 Agent(Claude Code/Codex/Cursor 等)
# 显示将修改的路径列表,征得同意后自动配置

# 3. 如需原生二进制分析,安装分析工具
# Hopper:setup 过程可引导安装(需授权)
# Ghidra:setup 可记录已安装的 Ghidra 路径

最小示例

# 方式一:在 Agent 会话中直接描述任务
# 重启 Agent 后说:
"用 REA 分析 macOS 上的 '备忘录' 应用,
 解释搜索功能是如何实现的,
 然后为我的项目构建类似功能。"

# 方式二:终端直接分析 JS/Electron 应用
npx -y rea-agents@latest analyze-javascript-application 
  /absolute/path/to/app --json

# 方式三:诊断检查
rea doctor                          # 全面审计
rea doctor --provider ghidra --json # 单引擎检查
rea doctor --client codex --json    # 单 Agent MCP 注册检查

使用场景与人群

适用场景:
– 复刻竞品中想用的功能(只有二进制时)
– CTF 比赛和逆向工程任务
– 安全研究:理解闭源应用行为
– 扩展 AI 编程 Agent 的能力边界(接入 Hopper/Ghidra 工作流)

目标用户:
– 需要从闭源应用学习实现细节的开发者
– 安全研究员和逆向工程师
– 希望在 AI 编程工具里原生集成专业逆向能力的工程师
– 想让 Agent 自动理解并复刻任意应用功能的技术团队

输入与输出案例

案例一:从终端分析 JavaScript 应用

输入:
npx -y rea-agents@latest analyze-javascript-application 
  /Users/me/Downloads/example-electron-app --json

输出(JSON摘要):
{
  "evidence": ["recovered_function_graph.json", "strings.json"],
  "conclusions": [
    "search() 使用 trie 树结构索引本地数据",
    "结果排序依据:最近编辑时间 × 字符串匹配度"
  ],
  "limitations": [
    "动态加载的模块未经执行无法恢复",
    "加密逻辑在 wasm 模块内,需进一步分析 wasm 文件"
  ]
}

案例二:在 Claude Code Agent 会话中逆向原生应用

输入(对 Agent 说):
"用 REA 分析 /Applications/Calculator.app,
 告诉我三角函数计算用的是哪个数学库,
 然后为我的 Swift 项目写一个等效实现。"

输出(Agent 调用 REA + Hopper 后):
"经过 REA 调查,Calculator 三角函数调用路径如下:
 libm.dylib → sincos() → 苹果系统数学库(libmathCore)
 结论:直接使用 libm 中的 sin/cos,无自定义近似算法。
 以下是为你的 Swift 项目生成的等效实现:[代码块]"

GitHub: https://github.com/morluto/rea

评论区

0 条评论

登录后可评论。

Skill超级捕获手 37 阅读