Administrator
Administrator
发布于 2026-10-10 / 2 阅读
0
0

利用代理对任何事物进行逆向工程,从应用程序行为到原生二进制文件。

REA:逆向工程任何事物

一个用于对二进制文件、应用程序和运行时行为进行逆向工程的 MCP。

发现你喜欢的功能。深入了解它的工作原理,细致到二进制层面。

npm 版本
置信区间
MCP 工具目录
Node.js 要求
技能.sh
MIT许可证
Discord
morluto%2Frea | Trendshift

网站·指南·案例展示

快速入门· REA 工作原理·分析内容·案例展示·常见问题解答·文档

npx rea-agents setup

REA 在 Hopper 内部启动其分析桥,同时检查原生二进制文件


Discord


加入逆向工程社区

Discord · 问答 · 展示与分享


发现某个应用的功能正是你想要添加到自己产品中的?请你的代理人使用REA进行调查。REA可以在不查看源代码的情况下检查应用,解释该功能的工作原理,提供证据,并为你的项目构建一个版本。

REA 将您的代理连接到用于检查原生二进制文件、JavaScript 和 Electron 应用、.NET 程序集以及网站的工具。您也可以从终端使用相同的工具。分析在本地运行,结果包括每个结论背后的依据和局限性。

安装程序会将 REA 注册到您的代理,并安装相应的流程指令。原生分析可以使用现有的 Hopper、Ghidra 或 IDA 安装;安装程序也可以在获得批准后安装 Hopper。静态 JavaScript 分析不需要原生分析引擎。

访问 REA 网站,获取设置说明、图解指南和真实案例研究。

快速入门

设置您的代理人

安装好 Node.js 和 npm 后,运行:

npx rea-agents setup

选择您的代理,查看并批准拟议的更改。安装程序会添加 REA 的 MCP 服务器和相应的流程说明,并备份现有配置。之后请重启您的代理。

该安装程序支持 Claude Code、Codex、Cursor、Gemini CLI、Grok Build 和 其他代理。 有关提供商配置和手动 MCP 注册,请参阅安装和设置。

请咨询您的经纪人

Understand how search works in the Notes app, show me the evidence, and build a
similar feature for my project.

将“备注”替换为目标应用程序和您想要了解的功能。

使用终端

检查提取出的 JavaScript/Electron 应用目录或 ASAR:

npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --json

结果包括模块、导入、Electron 边界及其相关证据。请将路径替换为您的目标路径,例如"D:/apps/example"在 Windows 系统上。

要安装该rea命令以便日常使用:

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

要进行原生分析,请先配置提供程序。 有关原生命令、提供程序选择、快照和脚本编写的信息,请参阅CLI 和证据指南。

更新REA

REA更新频繁,新版本经常包含错误修复。请确保您的版本保持最新。

对于通过 npm 安装的 CLI:

rea update

要刷新您的代理注册和技能,请运行更新程序打印的设置命令。

如果您使用此功能npx,请使用以下命令更新您的代理设置:

npx rea-agents@latest setup

检查设置更改并重启代理。对于一次性 CLI 命令,请使用 npx rea-agents@latest--cd 命令。

REA 的工作原理

您的代理通过 MCP 调用 REA 来检查目标并跟踪相关代码。REA 会返回包含证据的检查结果。代理可以利用这些信息提出后续问题、解释行为,或者编写和测试实现。CLI 命令使用相同的工作流程。

REA 调查流程:您的代理询问有关本地目标的信息,REA 使用分析工具检查和跟踪该目标,代理使用返回的代码、引用和未知信息来解释、实现和测试。

打开完整尺寸的图片。

你可以分析什么

REA 需要 Node.js 22.x (>=22.19)、24.x (>=24.11) 或 26+ 版本,以及 npm。其他工具和主机支持取决于目标平台:

目标

REA的回报

要求和指南

本地二进制文件

伪代码、汇编语言、字符串、符号、调用和引用

Hopper、Ghidra 或 IDA;原生分析

离线 ELF 布局

章节、片段、原始符号/重定位和静态缓解候选方案

调用方提供的 pwntools(Linux x64 系统);二进制诊断

EVM字节码

调度选择器、字节偏移量、推断参数和可变性

Linux x64 上的本地原始/十六进制载体;离线 EVM 指南

记录的Linux崩溃

原始笔记、每个已记录线程的寄存器/信号以及可选的映射候选对象

Linux x64 系统上由调用方提供的 pwntools;可选 GDB/pwndbg;记录崩溃信息

JavaScript / Electron

模块、导入、源映射、路由、进程间通信 (IPC) 和原生插件关系

Node.js 和 npm;应用程序分析

网站

页面结构、脚本、网络观测和所需屏幕截图

Chrome 系列浏览器;浏览器分析

已保存的网络捕获

请求、响应、暴露的有效载荷和源位置

HAR;Linux 上的 mitmdump 用于原生 mitmproxy 捕获;捕获指南

.NET 程序集

元数据、CIL 指令、已声明的本地依赖项和构建比较

无(仅限静态);托管代码指南

安卓APK

清单声明、类、反编译方法和引用

Linux/macOS/Windows x64 上的无头 JADX 和完整 JDK;Android 指南

固件

区域、提取结果和本地分析交接

Linux 系统上的 Binwalk / Unblob;固件指南

软件包和资源

文件清单、摘要、plist 文件、Apple 软件包结构和提取的资源

Artifact 和 JavaScript 指南,Apple 应用程序

过程行为

终端输出、交互、退出和文件系统观察以及运行比较

Linux/macOS 原生 PTY;进程捕获

静态 JavaScript 和 .NET 检查会在不运行应用程序的情况下读取提供的文件。运行时捕获则会使用您的用户权限运行或与选定的目标进行交互;每个运行时指南都会描述其作用。

原生格式和主机支持因提供商而异。请参阅 Hopper 和 Ghidra 设置、 IDA 指南以及 实验性的 Windows Ghidra 支持。Ghidra 还支持16 位 DOS 分析。对于大型二进制文件,请使用 --starting-delay 参数提高其启动截止时间 REA_GHIDRA_STARTUP_TIMEOUT_MS。有关提供商选择,请参阅CLI 指南。请查看版本可用性 ,了解自上次 npm 版本发布以来新增的功能。

展示柜

DX-Ball 音盘、Notion 剪贴板桥接器和 TH04 子弹环展示柜的插图

DX-Ball:重建声像计算

跟随声音调用进入其位置平移辅助程序,检查指令,并将不完整的伪代码转换为 C 代码。重建过程通过了 3,205 个原始 x86 案例,并重现了所有 63 个已编译的函数字节。

阅读案例研究· 重建库

概念:追踪 Electron 剪贴板桥

找到渲染器的剪贴板 API,跟踪其预加载和 IPC 到主进程的过程,并检查丰富的剪贴板格式。

阅读案例研究

TH04:恢复 DOS 子弹环计算

检查原始 PC-98 游戏的 16 位指令,恢复固定角度和瞄准角度的计算,并将重建的 C++ 与历史编译器输出进行比较。

阅读案例研究· 重建库

如果你用 REA 做过什么有趣的事情,我们非常乐意看到。请在issue或 pull request中分享你的案例,包括目标平台、你的问题、REA 如何帮助你以及你的发现。

常问问题

哪些代理商可以使用REA?

任何支持本地 MCP 服务器的代理。安装程序会配置 受支持的代理;其他客户端可以使用 手动 MCP 注册。

我需要 Hopper、Ghidra 还是 IDA?

深度原生分析使用其中一种引擎。静态 JavaScript 和 .NET 检查无需原生分析引擎即可工作。安装 Hopper 需经批准;Ghidra 和 IDA 使用您现有的安装。请参阅提供商设置。

我需要先启动 Hopper 吗?

REA 会在操作需要时启动 Hopper。在 macOS 上,首次运行时可能会弹出对话框,询问您选择演示模式或激活许可证。请参阅 Hopper 启动和故障排除。

通过 skills.sh 安装技能会起到什么作用?

该技能为您的代理提供调查指导。请使用npx rea-agents setup 该技能注册 REA 的 MCP 服务器并安装相应的指导,然后重启您的代理。另请参阅仅安装技能部分。

REA 返回什么代码?

原生代码分析会返回伪代码和汇编代码。JavaScript/Electron 分析会恢复模块及其关系。您的代理会利用这些结果编写和测试实现;示例展示了实际运行的程序。

REA会上传我的应用吗?

REA会对目标进行本地分析。您的代理会收到工具的分析结果,而其模型提供商则有自己的数据策略。

如果遇到bug该怎么办?

请先更新系统;最新版本可能已经修复了这个问题。

对于通过 npm 安装的 CLI:

rea update

代理设置方式npx:

npx rea-agents@latest setup

如果您使用的是代理,请完成设置刷新并重启代理。然后重试相同的任务。如果问题仍然存在,请提交问题报告, 并提供您的 REA 版本、目标类型、重现步骤和错误输出。

文档

首先请参考网站上的操作指南。有关具体选项、前提条件和结果合同:

通过SECURITY.md报告漏洞。

明星历史

🎉 GitHub 获得 60,000 颗星——谢谢大家!

感谢所有使用 REA、报告错误、请求功能、测试版本和贡献修复程序的用户。

免责声明

REA 提供用于合法逆向工程研究、分析和重建的工具。您有责任获得任何必要的授权并遵守适用的法律。本项目不鼓励任何非法或未经授权的使用。

REA是一个开源软件项目。我们没有发行或认可任何加密货币或代币。使用REA名称的代币与本项目无关。

贡献

我们非常欢迎您为 REA 提供帮助!您可以提交 issue来报告 bug 或提出功能建议,也可以发送 pull request 来改进代码或文档。

有关开发设置和检查、 验证通道的测试以及 项目结构的架构图,请参阅CONTRIBUTING.md 。

执照

麻省理工学院

项目地址:https://github.com/morluto/rea

63.5万颗星

观察者

205人观看

叉子

13.0k 个分叉


评论