从一条 npx 命令到完整重建:rea 的 MCP 逆向能力上手拆解
【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea
rea 是一个面向 AI Agent 的 MCP 逆向工程框架:它把 agent 接到成熟的逆向分析工具上,让你用自然语言提问,就能完成"无源码逆向"——分析目标、拿到证据、必要时把功能重建出来。分析在本地运行,每条结论都附证据。这篇上手拆解带你走完安装、能力版图、机制和官方案例。
安装与第一次提问:rea 上手只需两步
🖥️ 装好 Node.js 和 npm 后,在终端运行这一条命令:
npx rea-agents setup这一步会发生什么:setup 会引导你选择要接入的智能体(Claude Code、Codex、Cursor、Gemini CLI、Grok Build 等),把 rea 的 MCP 服务器与配套工作流说明写进所选 agent 的配置,并自动备份原有配置。批准变更、重启 agent,逆向工具链就挂上了。
然后,用一句大白话提问,README 给的官方示例是:"帮我弄清 Notes 应用的搜索功能是怎么工作的,给我看证据,并在我自己的项目里实现一个类似功能。"
⌨️ "零门槛"体现在交互上,而不是什么魔法:你不需要懂汇编、反混淆或调用约定,open → search → trace → decompile → xrefs 这条分析链由 agent 自己跑完。过去需要数周学习曲线的事,变成了一次日常提问。
如果不用 agent,也可以直接在终端驱动,例如:
rea analyze /absolute/path/to/program --provider ghidra --json详见 docs/cli.md 与 docs/installation.md。
rea 能力版图:一次看懂它分析什么
rea 能分析的目标类型相当宽。下面是从 README.md 整理的一份速查表:
| 目标类型 | 返回什么 |
|---|---|
| 原生二进制 | 伪代码、汇编、字符串、符号、调用与交叉引用 |
| JavaScript / Electron 应用 | 模块、导入、source map、路由、IPC 与原生插件关系 |
| WASM artifact | 校验、节区、精确的 import/export WAT 与解码结果 |
| EVM 字节码 | 分发选择器、字节偏移、推断的参数与可变性 |
| .NET 程序集 | 元数据、CIL 指令、声明的原生依赖、构建对比 |
| Android APK / Android 设备 | 清单声明、反编译方法与引用;包、进程、日志、屏幕捕获 |
| 网站 / HAR 与 mitmproxy 捕获 | 页面结构与脚本;请求、响应、暴露的 payload 与来源定位 |
| 固件 | 区域划分、解包结果与原生分析交接 |
| 进程行为 | 终端输出、交互、退出码与文件系统观察 |
原生深度分析有三个后端可选:Hopper、Ghidra、IDA,用--provider指定,或者用rea providers列出本机可用后端后自动择一。离线场景还支持调用方自备的 pwntools(ELF 布局、已记录崩溃)、objdump 与 Rizin(见 docs/reverse-engineering-tools.md),rea 不会替你安装这些工具。
图:rea 在 Hopper 里启动分析桥,对 Mach-O 二进制跑完整个分析流程——这就是--provider hopper背后的真实过程。
证据体系怎么工作:Evidence ID 与九阶段验证
rea 不是"反编译一把梭"。每条工具结果都内联携带 Evidence,重要结论可回溯到具体的 Evidence ID。它同时提供一组引导式工作流:investigate_feature(把一个功能从发现追到函数证据)、compare_application_versions(对比两个已发布产物)、verify_reconstruction(用留存的对比证据评估重建规格)、trace_crash(把崩溃症状关联到静态路径),见 docs/mcp-prompts.md。
🔍 更硬的是配套的重建就绪管线:九阶段验证,覆盖目标识别、环境诊断、权限获取、静态分析、响应式场景、版本对比、矛盾保留、重建闭包校验与导出重放;任何"失败、未知、不支持、截断"都绝不会被聚合成"通过",重放与篡改结果会被明确拒绝。细节见 docs/reconstruction-readiness.md。
这套设计意味着:rea 输出的是带证明的结论,而不是一张嘴。
机制拆解:rea 是编排引擎,不是反编译器
rea 本身不是反编译器,也不内置分析引擎。它的角色是编排层:把 Ghidra、JADX、pwntools、WABT 这类成熟工具封装成 agent 可调用的 MCP 工具,由大模型编排分析路径——打开目标 → 按关键词搜索 → 沿调用链追踪 → 反编译函数 → 查交叉引用。
这里有一条贯穿始终的三分法,rea 要求把每个结论分成:
- 观察:从目标里直接读到的事实;
- 推断:由观察推导出的解释;
- 未知:证据不足,显式登记,不猜测。
缺失或不完整的证据,绝不视为等价。官方 Aegis 案例里,安卓 TOTP 生成的每次方法检查、每份引用列表都对应独立的 Evidence ID(website/evidence/aegis-login-code.md)。换句话说:AI 压低的只是"拿到分析结果"的成本,"判断结论对不对"的成本一分没降。
案例走读:DX-Ball 与 TH04 怎么被重建的
图:rea 官方展示的三个案例——DX-Ball 声像重建、Notion 剪贴板桥、TH04 弹幕环。
🎮DX-Ball:从声音调用到 3,205 个差分用例。目标是一个 1997 年的 Windows 小游戏的左右声像计算。agent 沿声音调用追进"位置 → 声像"的换算函数,检查指令后把不完整伪代码转成 C。最终重建通过了 3,205 个原始 x86 差分用例,并逐字节复现了编译后函数的全部 63 个字节。完整记录在 website/evidence/dx-ball-sound-pan.md。
🕹️TH04:PC-98 上的 16 位环形弹幕。agent 检查原版 PC-98 游戏的 16 位指令,恢复了固定角度与瞄准角度两种弹幕环计算,再把重建的 C++ 与历史编译器输出逐字节对比。过程见 website/evidence/th04-bullet-ring.md。
📋Notion:Electron 剪贴板桥。从渲染进程的剪贴板 API 出发,穿过 preload 与 IPC 追进主进程,再检查富文本剪贴板的格式(website/evidence/notion-clipboard.md)。
三个案例的共同点:全部落在授权或公开的研究对象上,且每一步都留了证据链。
边界与合规:rea 明确不做什么
rea 给自己划的线,散落在 AGENTS.md 和各篇文档里。用"它不做什么"的方式列出来最清楚:
- 不修改目标:Ghidra 使用临时数据库,不改可执行字节、不控制 GUI;IDA 分析是只读的,绝不保存或关闭已附加的 GUI 数据库。
- 不操控浏览器:CDP 捕获是被动能力,rea 只 attach 到用户已有的 Chrome 系浏览器,不启动、不拥有、不终止目标浏览器(docs/browser-observation.md)。
- 不重放网络:检查 HAR / mitmproxy 捕获是离线操作,记录过的 URL 永远不会被重新请求,也不启动任何浏览器或代理监听器(docs/web-network-captures.md)。
- 不上传:分析在本机运行。README 的 FAQ 直接回答"REA 会上传我的应用吗?"——不会,目标在本地分析(你的 agent 模型服务商另有自己的数据政策,那不在 rea 控制内)。
- 不假装沙箱:进程捕获以当前用户权限执行命令,文档原文承认"这不是沙箱";文件系统观察路径只决定记录哪些状态,不限制进程能读写什么(docs/process-capture.md)。
授权责任在 DISCLAIMER.md:rea 面向合法研究、教育、互操作、软件保存,以及分析你拥有或获授权检查的软件。商用引擎(IDA Pro / Hex-Rays、Hopper、JEB)的授权需自行合法持有,rea 不附带任何工具许可。
适用人群与场景:谁该用 rea
✅授权范围内的逆向研究:对自己拥有或获许可检查的软件做行为分析,证据体系让结论可回溯。
🏛️遗产软件维护与功能重建:老游戏、旧工具没有源码时,按 DX-Ball / TH04 的路径把功能恢复出来——这正是官方案例的主战场。
🔌互操作与兼容层开发:例如理解 Notion 的 Electron 剪贴板桥,为自家产品实现类似能力。
🛡️安全审计与崩溃复盘:结合trace_crash与离线 ELF 布局诊断,把崩溃症状关联到静态路径。
⚠️ 使用前请确认两件事:你对目标有合法权限;所在司法辖区对规避技术措施(DRM、付费墙、风控)的法规你清楚并遵守。rea 的免责声明只界定项目立场,替代不了你自己的授权判断。
rea 把"无源码逆向"从少数专家的数周工作,压缩成一句自然语言加一条npx命令——但注意,它压缩的是获取分析结果的门槛,不是验证结论的成本:观察、推断、未知,三分法永远在那里等着你逐条核对。
【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考