SuperAPI AI 工具集

reverse-engineer-anything

安全与审计

查看项目

更新于 10-23 00:44

技能介绍

REA(Reverse Engineer Anything)是一个面向已发布软件工件的逆向工程技能与配套工具集,旨在当分析结论依赖于实际发布的二进制文件、打包产物、反编译结果或运行时证据时提供支持。它不适用于对完整源码仓库的常规分析,后者应使用标准仓库工具。

主要能力与用途:

  • 原生与托管程序分析:支持 PE/CLI 托管程序集、NativeAOT PE/ELF、Linux ELF 等,可进行布局、符号、重定位、静态缓解措施检查,以及反编译和伪代码生成。
  • JavaScript/Electron 应用分析:可分析 ASAR 归档或解包的 JavaScript/Electron 目录树,获取应用结构、证据和限制。
  • 归档与包成员清单:支持 ZIP/APK/IPA/MSIX/AppX、DMG、PyInstaller 可执行文件等,可查看成员清单、哈希和摘要。
  • 移动端:Android APK 代码、类、方法及引用分析(需自行提供 JADX/Java 环境)。
  • 固件:固件镜像区域检查与提取(依赖 Binwalk/Unblob,Linux 环境)。
  • 浏览器与 Electron 运行时:可列出浏览器目标、捕获浏览器操作场景、检查 Electron 运行时和 fuse 状态。
  • 网络与协议分析:支持 HAR/SAZ/mitmproxy/aioquic qlog 捕获文件检查、数据包字段发现与捕获分析(需 TShark)、PCAP 摘要等。
  • 信号与硬件记录:逻辑/信号轨迹解码(需 sigrok-cli)、信号解码器发现。
  • 其他工件:WebAssembly、EVM 字节码、Go 二进制元数据、CUDA/HIP 代码对象、GGUF/safetensors 模型声明、Unity IL2CPP 元数据、Rust 依赖元数据、SQLite 数据库快照、崩溃核心转储、PE 资源等。

使用方式:

  • 技能安装仅提供指令,不自动注册 MCP 服务器或安装分析引擎。若工具已可用且注册未过期,可直接分析目标,无需每次运行诊断。
  • 当工具缺失或调用受阻时,可按照恢复指引诊断问题,避免重复设置。诊断命令示例:npx -y rea-agents@latest doctor --client codex --json(需替换当前客户端 ID)。
  • 配置修复需先生成只读计划:npx -y rea-agents@latest setup --client codex --dry-run --json,展示路径、备份和变更,经批准后再执行 npx -y rea-agents@latest setup --client codex --yes。仅在明确需要并批准时添加 --install-hopper。
  • 对于无 MCP 注册的场景,可使用 CLI 回退,例如:npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --json。这不需要 MCP 注册或原生引擎,但原生 CLI 任务仍需所选引擎。
  • 目标路由:根据用户提供的目标类型选择首个工具。例如,ASAR 或 JavaScript 目录用 analyze_javascript_application;归档/包成员清单用 open_binary 或 inspect_artifact;Apple 资源用 open_bundle_resources;Android 用 inspect_android_package;原生二进制用 open_binary 后接聚焦分析工具;ID A MCP 配置用 open_binary 并指定 provider_id: "ida"。

适用场景:

  • 分析已发布的二进制或安装包,验证其行为与声称是否一致。
  • 对无源码或源码不完整的应用进行逆向工程和证据收集。
  • 检查 Electron 应用、浏览器扩展或安卓包的结构与代码。
  • 固件镜像的初步检查与提取。
  • 网络抓包和协议字段的离线分析。
  • 模型文件声明的元数据检查(不推断模型行为)。

限制与注意事项:

  • REA 本身不安装或升级 Node.js、npm、Homebrew、Java、Ghidra、IDA、JADX、Kuna、Binwalk、Unblob 等软件,需用户自行准备。
  • 技能安装不自动注册 MCP 服务器,也不向已运行的代理添加工具。
  • 分析基于已发布的工件和记录,不进行实时捕获或主动扫描硬件;网络分析只读取记录文件,不获取实时流量。
  • 部分工具需特定依赖和命令行环境(如 Linux 下的 prlimit、TShark、sigrok-cli 等),且可能受平台限制。
  • 不执行目标本身,仅进行静态或离线检查;运行时证据需用户已打开的目标或用户提供记录。
  • 伪代码、推断接口、元数据声明等均为分析结果,不能等同于原始源码或运行时行为证明。