使用代理逆向工程任何内容,从应用程序行为到原生二进制文件。
--- 如果您在某个应用程序中看到某个功能,而您希望将其添加到自己的产品中,可以要求您的代理利用 REA 对其进行调查。REA 可以在不获取源代码的情况下检查应用程序,解释该功能的工作原理,展示相关证据,并为您的项目构建一个版本。REA 可将您的代理连接到用于检查原生二进制文件、JavaScript 和 Electron 应用程序、.NET 组件以及网站的工具。您还可以从终端中使用相同的工具。分析将在本地运行,结果包括每个结论背后的证据和限制。
设置 REA 与您的代理进行关联,并安装匹配的工作流程指令。原生分析可以使用现有的 Hopper、Ghidra 或 IDA 安装;设置可选地安装 Hopper 并获得批准。静态 JavaScript 分析不需要原生分析引擎。
设置支持 Claude Code, Codex, Cursor, Gemini CLI, Grok Build 和 其他代理。有关提供程序配置和手动 MCP 注册,请参阅 安装和设置。
对于本地分析,请先配置提供程序。有关本地命令、提供程序选择、快照和脚本,请参阅CLI 和证据指南。
您的代理通过 MCP 来调用 REA,以检查目标并跟踪相关代码。REA 会返回带有证据的结果。代理可以使用这些结果来提问后续问题、解释行为,或者编写和测试实现。CLI 命令使用相同的工作流程。
| 目标 | REA 返回的内容 | 要求和指南 |
|---|---|---|
| 原生二进制文件 | 伪代码、汇编、字符串、符号、调用和引用 | Hopper、Ghidra 或 IDA;原生分析 |
| 离线 ELF 布局 | 部分、区段、原始符号/重定位和静态缓解候选项 | 由调用方提供的 Linux x64 上的 pwntools;二进制诊断 |
| EVM 字节码 | 调用选择器、字节偏移、推断的参数和可变性 | 本地原始/十六进制载体;离线 EVM 指南 |
| 记录的 Linux 系统崩溃 | 原始笔记、每个记录的线程的寄存器/信号和可选映射候选项 | 由调用方提供的 pwntools;可选的 GDB/pwndbg;记录的系统崩溃 |
| JavaScript / Electron | 模块、导入、源地图、路由、IPC 和原生插件关系 | Node.js 和 npm;应用程序分析 |
| 网站 | 页面结构、脚本、网络观察和请求的屏幕截图 | Chrome 系列浏览器;浏览器分析 |
| 保存的网络捕获 | 请求、响应、暴露的有效载荷和源位置 | HAR;在 Linux 上使用原生 mitmproxy 捕获的 mitmdump;捕获指南 |
| .NET 程序集 | 元数据、CIL 指令、声明的原生依赖项和构建比较 | 无(仅限静态分析);托管代码指南 |
| Android APKs | Manifest 声明、类、反编译的方法和引用 | 在 Linux/macOS/Windows x64 上使用无头 JADX 和完整 JDK;Android 指南 |
| 固件 | 区域、提取结果和原生分析传递 | 在 Linux 上使用 Binwalk/Unblob;固件分析指南 |
| 包和资源 | 文件清单、摘要、plist、苹果捆绑体解构和提取的资源 | Artifact 和 JavaScript 指南、苹果应用程序 |
| 进程行为 | 终端输出、交互、退出和文件系统观察,以及运行比较 | 在 Linux/macOS 上使用原生 PTY;进程捕获 |
静态 JavaScript 和 .NET 检查在不运行应用程序的情况下读取所提供的文件。运行时捕获通过使用用户权限运行或与所选目标进行交互;每个运行时指南都描述了其影响。
原生格式和主机支持因提供商而异。请参阅 Hopper 和 Ghidra 设置、IDA 指南 和 实验性 Windows Ghidra 支持。Ghidra 还支持 16 位 DOS 分析。对于大型二进制文件,请使用 REA_GHIDRA_STARTUP_TIMEOUT_MS 来提高启动时限。对于提供程序选择,请参阅 CLI 指南。请查看 发布可用性 以查看自最新 npm 版本以来添加的功能。
跟随一个有声调用,进入其位置-旋转辅助程序,检查指令,并将不完整的伪代码转换为 C。重构程序通过了 3,205 个原始 x86 案例,并重现了 63 个编译后的函数字节。