开发与工程

REA:万物逆向工程技能

把 Claude Code 等代理接入 REA MCP 服务器,在无源码的情况下解释应用功能、反编译代码并对比版本,一直分析到二进制层面。

59/ 100
推荐

整体可靠,存在已披露的局限;按说明试用并保留回滚路径。

查看评分依据 ↓
可直接使用于
ChatGPT · Codex · Claude Code
Star 数
★ 71k
最近更新
今天
License
MIT
reverse-engineeringbinary-analysisdecompilerghidra
+6idamcp-serverandroid-apkelectron-appsfirmware-analysisstatic-analysis

这个 Skill 能做什么,适合哪些场景?

REA(Reverse Engineer Anything)是一个 MCP 服务器加配套技能,让编码代理检查原生二进制、JavaScript/Electron 应用、.NET 程序集、Android APK、固件、网站和保存的网络抓包。分析在本地运行,每条结论都附带证据、证据类型(观察/推断/未知)和覆盖限制。原生深度分析可复用你已有的 Hopper、Ghidra 或 IDA 安装;静态 JavaScript 和 .NET 分析无需任何原生引擎。技能本身只提供调查指令,不注册 MCP 服务器或安装引擎,真正的工具由 `rea-agents` 包提供。

  • 通过 open_binary 绑定二进制/归档目标,调用 analyze_function、binary_overview 等工具产出伪代码、汇编、符号和调用引用
  • 用 analyze_javascript_application 恢复 Electron/ASAR 应用的模块、导入、路由和 IPC 关系,并用 trace_application_feature 追踪具体功能
  • 用 inspect_android_package 提取 APK 清单声明、类与反编译方法;用 inspect_managed_artifact 检查 .NET 元数据与 CIL 指令
  • 用 inspect_firmware_regions/extract_firmware(Binwalk/Unblob)分析固件,用 inspect_binary_layout、inspect_recorded_crash、inspect_evm_interface 做离线 ELF 布局、崩溃转储和 EVM 字节码分析
  • 对已打开的用户浏览器/Electron 运行时做被动观察(list_browser_targets、list_electron_targets),并离线检查 HAR/mitmproxy 抓包
  • 维护证据账本:每条结论链接证据 ID、置信度与剩余未知项,需要时用 export_evidence_bundle 导出完整会话
适合
  • 想把某应用的功能复刻到自己项目里的开发者:让代理解释该功能(含证据),再用普通编码工具实现类似版本
  • CTF 选手或安全研究员:需要反编译原生二进制、检查 ELF 静态缓解措施或读取 Linux 崩溃转储
  • 做版本对比的维护者:比较同一应用两个打包版本的模块、导入或构建差异
  • 分析 Android APK 的人:读取清单声明、类结构和方法引用,或解码资源与字符串表
  • 研究固件或 EVM 智能合约字节码的人:识别固件区域、提取镜像或解码调度选择器与参数
  • 调试 Electron 应用的工程师:追踪剪贴板、IPC 等功能从渲染进程到主进程的完整链路
不适合
  • 只是想分析一个完整源码仓库的普通架构——SKILL.md 明确说这种情况应使用常规仓库工具,跳过 REA
  • 不愿意安装 Node.js 22+ 及按目标安装额外工具(Hopper/Ghidra/IDA、JADX、pwntools、Binwalk 等)的用户
  • 非 Linux x64 平台上的固件、EVM 字节码、离线 ELF 和崩溃转储分析——文档写明依赖 Linux x64 上的调用方提供工具

如何安装这个 Skill?

使用前请注意
  • SKILL.md 指示使用 npx -y rea-agents@latest,属于未锁定的远程代码获取;在受限或安全敏感环境中建议固定版本号并审查后安装。
  • 运行时观察类操作(observe_native_calls、浏览器/Electron 连接)会以当前用户权限实际运行或接触目标进程,请仅在已授权的目标上使用。
  • REA 自身不对每次工具调用设置审批门槛,仅依赖客户端策略;无人值守场景需预先配置客户端级审批。
  • 文档与依赖均为英文且依赖境外 npm/GitHub/rea.tools 资源,中国大陆网络可达性可能受限。
  • 深度原生/Android/固件分析需要自备 Hopper/Ghidra/IDA/JADX 等引擎,功能可用性因主机和已发布版本而异。
  • skill 仅提供指令,不注册 MCP 服务器;需先运行 rea-agents setup 并重启代理。
开始前你需要
Agent 需要具备
  • Shell / 命令行
  • 网络访问
  • 本地文件系统
  • MCP Server
需要预先安装
  • Node.js 22.x (>=22.19) / 24.x / 26+ and npm
  • rea-agents MCP server (npx rea-agents setup)
  • Optional: Hopper, Ghidra, or IDA for native analysis
  • Optional: pwntools, JADX + JDK, Binwalk/Unblob, adb, Apktool depending on target

REA 的安装分两层:技能文件(可从仓库 .agents/skills/ 路径或 skills.sh 获取)只提供指令;工具本身通过 npm 包 rea-agents 注册。

Claude Code / Codex / Cursor / Gemini CLI / Grok Build 等支持的代理

npx rea-agents setup

选择你的代理、审核变更并批准,重启代理后生效。

终端 CLI(全局安装)

npm install --global rea-agents
rea --help

一次性命令(不安装)

npx -y rea-agents@latest --help

更新已安装的 CLI 用 rea update;npx 用户用 npx rea-agents@latest setup 刷新注册和技能。

如何使用这个 Skill?

试试这样说

安装后,把下面任意一句发给 Agent 即可触发:

  • 理解备忘录应用里搜索功能是怎么实现的,给我看证据,然后为我的项目做一个类似的搜索。
  • 分析 /absolute/path/to/app.asar 这个 Electron 应用的模块和 IPC 边界,列出证据。
  • 反编译这个原生二进制里的关键函数,解释 DX-Ball 的声像(pan)计算并给我一份能编译的 C 版本。
  • 对比这个 APK 两个版本的清单声明和方法引用,指出行为差异和仍不确定的地方。

技能由对话中的任务触发:当结论依赖已交付的二进制/包、反编译、被动运行时证据或版本对比时,代理按目标类型路由到第一个工具(原生目标走 open_binary,APK 走 inspect_android_package,JavaScript/ASAR 走 analyze_javascript_application 等)。默认先返回摘要并利用内联证据(Evidence)和图上下文,大对象用 "detail": "summary" 加 inspect_analysis_view 分页查看,避免重复相同分析。每条结论须区分观察、推断和未知,引用证据 ID。原生分析需先配置 provider(Hopper/Ghidra/IDA,IDA 经 mrexodia/ida-pro-mcp 注册);运行时观察会以你的用户权限执行声明的目标,静态分析则只读文件。调查完成后用 close_binary 关闭打开的原生会话。

这个 Skill 有哪些优点和局限?

优点
  • 覆盖面广:一个 MCP 同时支持原生二进制、JavaScript/Electron、.NET、APK、固件、浏览器、抓包和进程捕获
  • 本地分析:目标应用不上传,结果附带证据、限制与未知项,结论可审计
  • 可复用现有引擎:Hopper、Ghidra、IDA 均可作为原生分析 provider,静态 JavaScript/.NET 分析无需任何引擎
  • 安装/更新简单:`npx rea-agents setup` 一条命令完成注册并备份现有配置,`rea update` 保持最新
局限
  • 要求 Node.js 22.x (>=22.19)、24.x 或 26+,原生深度分析还需已安装的 Hopper/Ghidra/IDA
  • 多个目标类型依赖调用方自行提供的工具(pwntools、JADX+JDK、Binwalk/Unblob、adb、Apktool),且部分仅支持 Linux x64
  • 技能安装只提供指令,不会注册 MCP 服务器或安装引擎——不运行 setup 就无法使用工具
  • 仓库 main 分支的技能可能描述比已发布 npm 版本更多的能力,旧版 CLI 存在能力差异
  • 运行时观察会执行声明的目标,需要用户自行确保获得授权并遵守适用法律(MIT 许可下无使用担保)

这个 Skill 与同类方案有什么区别?

与相关 Skills 并排比较;分数均按同一 FSRS 标准得出。

Skill FS 评分 Star 数 最近更新 License
REA:万物逆向工程技能 本页 59 · 推荐 ★ 71k 今天 MIT
REA 工具设计技能 51 · 谨慎使用 ★ 71k 今天 MIT
Open Code Review — AI 代码质量门禁 46 · 谨慎使用 ★ 40 5 个月前 NOASSERTION
Engram 持久记忆协议 68 · 推荐 ★ 7.1k 4 天前 MIT
LeanCTX 本地上下文智能层 61 · 推荐 ★ 3.9k 3 天前 Apache-2.0

REA 本身整合了 Hopper、Ghidra、IDA 作为可选的原生分析引擎(provider),并复用 mrexodia/ida-pro-mcp 作为 IDA 的安装与注册方式;它不是这些工具的替代品,而是把它们的输出接进代理工作流。纯静态场景下它也提供 pwntools(ELF 布局)、JADX(APK)、Binwalk/Unblob(固件)等上游工具的包装。

FollowSkills 如何评估这个 Skill?

FollowSkills 评估 · FSRS-2.0
推荐
59/ 100 五分制 3.0 / 5
1信任安全18 / 25 · 3.6/5

证据显示最小权限意识强:分析默认本地、被动观察不执行目标、HAR 凭证刻意排除、设置前给出只读计划与备份、不安装无关软件、发现任务要求把观察/推断/未知区分。扣分点:npx -y rea-agents@latest 拉取未锁定版本,运行时捕获会以用户权限实际运行目标(observe_native_calls),且 REA 明确不对每调用设审批门槛,仅依赖客户端策略;发布者身份未经验证。

2可靠稳定10 / 20 · 2.5/5

指令自洽、分层清晰,错误恢复表、部分结果恢复、截断处理、重复调用约束等异常路径描述极详尽。扣分点:静态审读下无法复现关键路径;skill 自述与 npm 发布版本可能漂移('repository main may describe capabilities absent from an older npm release'),JADX 等 BYO 依赖版本敏感;本审读无法验证测试覆盖 skill 关键路径,故不超过 10。

3适用触发9 / 15 · 3.0/5

触发条件明确(当结论依赖已发布二进制/反编译/运行时证据时使用,并明确排除普通源码仓库分析),目标路由表和各格式的输入输出、非适用边界(如 NativeAOT 非源码恢复)写得很清楚。扣分点:文档全为英文、无中文支持;核心功能依赖 npm/GitHub/rea.tools 等境外资源,在中国大陆网络可达性存在风险且 skill 未提供替代获取路径。

4规范维护11 / 15 · 3.7/5

SKILL.md 渐进披露良好(主文件路由 + 分主题 references + 上游 docs 链接),metadata 带 version "37",MIT 许可证、SECURITY.md、维护/更新路径(rea update、setup)齐全,免责声明明确。扣分点:skill 自身无 changelog,version 号语义未解释;对外部文档 URL 的版本一致性无固定锚点。

5有效结果6 / 15 · 2.0/5

目标—证据—结论的工作流对逆向任务边际价值明确,showcase(DX-Ball、Notion、TH04)描述了可用的输出形态。扣分点:静态审读无法验证输出直接可用性;实际价值高度依赖 REA MCP 服务器与外部引擎(Hopper/Ghidra/IDA/JADX)的可用性,成本/收益对这些前置条件敏感。

6证据核验5 / 10 · 2.5/5

skill 强制要求区分观察/推断/未知、引用 Evidence ID、保留局限与覆盖率,仓库含 CI 工作流与大量 verify/test 脚本、SECURITY.md 边界声明。扣分点:静态审读不能执行或独立复现任何结论;showcase 属于作者提供的演示,未在本次证据中独立核实。

1 2 3 4 5 6

点击维度查看打分理由

评估于 2026年10月10日 审查版本 26038912f6ce 评估证据[1][2][3][4][5][6][7][8][9][10][11][12]

证据充分度:低 — 主要依赖静态检查、作者材料或有限演示;适合发现线索,不适合做高风险决策。

查看完整评分方法 →

常见问题

安装技能后需要付费或激活许可证吗?
REA 本身是 MIT 许可的开源软件,npm 包免费。但若选择 Hopper 作为原生分析引擎,macOS 首次运行可能要求选择演示模式或激活你的 Hopper 许可证;Ghidra 和 IDA 使用你已有的安装。
不装 Hopper/Ghidra/IDA 能用吗?
能。静态 JavaScript/Electron 和 .NET 分析无需任何原生分析引擎;但原生二进制的伪代码/汇编分析需要三者之一。
我的应用会被上传吗?
REA 在本地分析目标。你的代理接收工具结果,其模型供应商有自己的数据政策。
遇到 bug 怎么办?
先更新:`rea update`(CLI)或 `npx rea-agents@latest setup`(代理注册),重启代理后重试;若仍复现,按仓库要求带上 REA 版本、目标类型、复现步骤和错误输出开 issue。

同仓库的其他 Skills

均来自 morluto/rea

相关 Skills