
REA 逆向工程 MCP 服务10 类分析目标一步接入 AI Agent逆向二进制到应用行为全程留证据【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea想复刻别人 App 里的某个功能手头却没有源码——这时你可以让 AI Agent 替你把目标拆开看个明白。REAReverse Engineer Anything就是干这件事的一个本地运行的逆向工程 MCP 服务npm 包名rea-agents把 Hopper、Ghidra、IDA 这类二进制分析引擎以及 JavaScript/Electron、.NET、网站观察等检查能力统一接到你的 Agent 或终端里。适合两类人想让 Agent 参与逆向调查的开发者以及想脚本化批量分析二进制的工程师。能力全景11 类目标各自返回什么、依赖什么先把结论放前面除深度原生分析需要至少一个逆向引擎外其余目标要么零依赖要么只依赖你机器上已有的工具。运行时基线是 Node.js 22.19/24.11/26 与 npm23 与 25 不在支持范围分析目标返回内容前置要求原生二进制伪代码、汇编、字符串、符号、调用与引用Hopper / Ghidra / IDA 任一Go 二进制编译器版本、模块、replace 与构建配置无内置静态 ELF/PE/Mach-O 检查JavaScript / Electron模块图、导入、source map、路由、IPC 与原生 add-on 关系Node.js 与 npm无需逆向引擎.NET 程序集元数据、CIL 指令、声明的原生依赖、构建比较无纯静态网站页面结构、脚本、网络观察、指定截图Chrome 系浏览器已保存网络抓包请求、响应、暴露载荷与来源位置HARLinux 原生抓包需 mitmdumpAndroid APKManifest 声明、类、反编译方法与引用Linux/macOS 无头 JADX 与完整 JDK固件区域划分、解包结果、原生分析交接Linux 上的 Binwalk / UnblobEVM 字节码分发选择器、字节偏移、推断参数与可变性Linux x64 本地 raw/hex 载体包与资源文件清单、摘要、plist、Apple bundle 解剖无进程行为终端输出、交互、退出状态、文件系统观察与运行对比Linux/macOS 且需原生 PTY一条必须记住的分界线静态 JavaScript 与 .NET 检查只读文件、从不运行目标而浏览器、进程、Electron 这类运行时捕获会以你的用户权限真实运行或操作目标每条运行时指南都写明其副作用见 README.md 的 What you can analyze。上手三步从注册 Agent 到终端分析二进制1. 注册 Agentsetup 是保守事务npx rea-agents setup流程是多选要配置的 Agent → 逐条审阅拟议的变更 → 批准。Setup 会写入 REA 的 MCP 服务器注册和配套调查指令skill并对已有配置先备份、原子替换、写后校验。它支持的客户端包括 Claude Code、Codex、Cursor、Gemini CLI、Devin、OpenCode、GitHub Copilot CLI、VS Code 等 17 个--client标识清单见 docs/installation.md 的 Supported agents。任何一步失败都会报出具体原因不会留下半截注册完成后重启 Agent 即可。2. 下达第一条指令直接在对话里说例如Check the terminal app on my Mac: explain how its output highlighting works, list the evidence, then implement a similar highlighter for my project.Agent 会经 MCP 调用 REA 检查目标、追踪相关代码拿到带证据的发现后再决定是追问、解释行为还是动手写实现并测试。3. 终端直接调用不经过 Agent 也能跑且静态 JavaScript 分析连逆向引擎都不需要npx -y rea-agentslatest analyze-javascript-application /absolute/path/to/app --json npm install --global rea-agents # 之后可直接用 rea 命令 rea analyze /absolute/path/to/program --provider ghidra --json # 原生二进制需先配置 provider幕后机制入口分发、证据契约、快照复用这三个源码落点解释了为什么终端拿到的结果和MCP 工具返回的结果是同一份东西。入口分发scripts/rea.mjs 是rea/rea-agents两个可执行入口共用的唯一入口它在导入任何业务代码之前先做路由——参数是mcp/--mcp时加载dist/mcp/main.js由 MCP 运行时独占 stdio 服务对应 server.json 声明的 stdio 传输与mcp启动参数参数是mcp doctor时加载诊断模块其余走 CLI且分发前会检查编译产物是否存在缺失时直接给出构建指引。CLI 侧先做输出参数校验与净化--json结果走独立的流式 JSON 输出通道。证据契约src/domain/evidence.ts 定义了 Evidence 记录模型——每条证据有evidence_id、工件标识名称 SHA-256 格式格式枚举覆盖 mach-o、elf、pe、asar、apk 等、来源位置地址、地址区间、文件偏移、工件路径五种形态、观察与推断以及一个evidenceAuthority字段明确区分来自发行工件、受控重放、历史参考、外部服务、分析者推断五种权威级别。也就是说未决发现和分析者的猜测在数据结构上就无法冒充工件里直接看到的字节。src/contracts/ 目录集中了工具输入输出契约错误契约由 docs/error-contract.schema.json 描述。CLI 还提供evidence-import校验已有 bundle、evidence-export导出规范形式、rea compare两个 bundle 对比。快照复用当目标字节、操作、参数、provider 与设置完全一致时REA 直接复用上次结果且 CLI 缓存命中发生在启动 provider 进程之前——对要拉起 Ghidra/Hopper 的场景这是实打实的提速。快照文件保存在本地、使用仅限属主的权限MCP 侧open_binary可带snapshot_path原子导入close_binary可带snapshot_pathoverwrite: true在释放 provider 资源前保存。详见 docs/cli.md 的快照一节。进阶与边界引擎怎么选、版本怎么管、哪里是红线引擎provider选择规则rea providers --json与rea capabilities --json列出可用引擎及能力。自动选择时只用唯一支持该目标的可用 provider多个候选时报ambiguous从details.candidate_ids里挑一个引擎本身不可用报provider_unavailable此时跑rea doctor --provider ID --json定位。环境变量REA_ANALYSIS_PROVIDER是常设偏好显式--provider优先级更高MCP 里则给open_binary传provider_id。选中的 provider 绑定会话直到显式切换或关闭。大二进制可用REA_GHIDRA_STARTUP_TIMEOUT_MS/REA_HOPPER_STARTUP_TIMEOUT_MS提高启动截止期Ghidra 另支持 16 位 DOS 分析docs/ghidra-dos.mdWindows 上的 Ghidra 目前是实验性支持docs/windows-ghidra-p0.md。版本策略仓库 main 分支描述的是当前代码latest选的是 npm 发布版——二者不等价。截至 2026-10-11npm 最新发布为 6.4.0与 package.json 的version一致查发布版本用npm view rea-agents dist-tags.latest功能判断请以已连接服务器实际暴露的工具列表与输入 schema 为准。持久 MCP 注册钉在执行 setup 的那个版本上装新指令不会自动迁移它——需要在新版的 setup 事务中审阅后才迁移。更新方式全局安装用rea update只更新拥有当前 CLI 的 npm/Bun 全局环境更新后按提示重跑 setup 刷新注册与 skillnpx 用户跑npx rea-agentslatest setup审阅变更再重启 Agent一次性命令统一npx rea-agentslatest command。安全边界分析全程本地进行目标不会被上传Agent 模型提供商的数据政策另说。静态检查不运行目标运行时捕获会以你的用户权限运行或交互选中目标副作用在各运行时指南中逐条写明。商业引擎Hopper、IDA/Hex-Rays、JEB的许可须你自己合法取得REA 不附带任何工具授权也认可不了破解或绕过许可的用法DISCLAIMER.md。实战案例三个端到端逆向调查结论都有验证数据这三个案例的共同点每一步结论都绑着可复验的验证数据而不是看起来对了。DX-Ball重建声音声像计算目标一个游戏引擎里的位置→声像辅助函数。路径跟随一次声音调用进入该辅助函数逐条检查指令把不完整的伪代码补写成 C。验证重建的 C 实现通过了 3,205 个 original-x86 用例并复现了全部 63 个编译后的函数字节。Notion追踪 Electron 剪贴板桥目标渲染进程的剪贴板 API。路径从渲染进程入口出发经 preload 与 IPC 一路追进主进程最后检查富剪贴板格式的具体处理。TH04恢复 DOS 弹幕环计算目标PC-98 平台 16 位原作的弹幕角度计算。路径检查 16 位指令恢复固定角与瞄准角两套计算。验证重建的 C 与历史编译器的输出做了逐字节对比。以上结论不是只存在于网站故事里仓库内 scripts/verify-real-hopper.mjs 等脚本可跑真实引擎全链路验证tests/boundary 下现有 483 个边界测试文件构成案例可复验的基线。快问快答Q只做静态 JavaScript 检查也得装 Hopper 吗不用。静态 JavaScript 与 .NET 检查零逆向引擎依赖一条analyze-javascript-application就能跑只有深度原生分析需要 Hopper/Ghidra/IDA 三者之一。Qsetup 动我的 Agent 配置翻车了怎么办事务是先备份、后校验的配置路径不安全比如符号链接没解析到当前用户拥有的普通文件、备份失败、写入失败、写后校验失败都会各自报出原因并停止不会留半成品写后校验失败时提示你修复配置或恢复.rea.backup后重跑。Q目标文件会被传到哪台服务器吗不会。分析在本地运行只有你的 Agent 拿到工具结果模型侧的数据政策取决于你选的提供商。Q同一个二进制反复查每次都要等引擎启动吗快照命中时不需要。字节、操作、参数、provider、设置完全一致就复用结果且 CLI 在读缓存时根本不启动 provider 进程。QAgent 从 REA 手里拿到的是什么形式的代码原生分析返回伪代码加汇编JavaScript/Electron 分析恢复模块及其关系.NET 检查给元数据与 CIL。Agent 基于这些发现自己编写并测试实现REA 不替你生成成品。QHopper 需要我提前启动吗不需要REA 在操作需要时自行拉起。macOS 首跑可能弹演示模式或激活授权的对话框建议在同一用户会话里先处理完再跑无人值守任务。Q更新 REA 之后Agent 里的注册要手动改吗要刷新但不手改重跑npx rea-agentslatest setup或全局安装后按rea update提示跑 scoped setup审阅变更、重启 Agent旧注册会在事务里迁移。Q我的 Node 是 23 或 25能装吗不能。支持区间是 22.19、24.11、2623/25 与预发布版本都不在列。一页索引文档、源码目录与合规提示深入文档安装与注册 docs/installation.md · 命令、provider 选择与快照 docs/cli.md · 工具结果与会话契约 docs/mcp-contracts.md · Agent 引导式调查 docs/mcp-prompts.md · 错误契约 docs/error-contract.schema.json · 路线图 docs/roadmap.md · 测试说明 docs/testing.md · 架构图 docs/architecture.mermaid。源码目录对照src/hopper/、src/ghidra/、src/ida/是三个原生引擎适配层src/browser/是 CDP/Playwright 浏览器观察层src/javascript/、src/dotnet/、src/android/、src/evm/、src/firmware/、src/process/对应上表各目标类型src/application/是 CLI 与 MCP 共享的应用服务setup、快照、诊断src/contracts/ 定义全部工具输入输出契约证据模型本体在 src/domain/evidence.ts。合规提示REA 面向合法的研究、教育、互操作与软件保存场景仅适用于你拥有或已获授权检查的软件获取必要授权并遵守适用法律是你的责任商业分析引擎的许可需自行合法取得详见 DISCLAIMER.md漏洞请按 SECURITY.md 报告。【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考