Rea

🔤 TypeScript ★ 373190 ⑂ 0 weekly #1 (+88243) 抓取 2026-10-24

一句话简介

一个使用TypeScript开发的小型开源工具或代码库,规模精简,聚焦实用功能,便于开发者集成与使用。

标签

  • TypeScript
  • 开源项目
  • 开发工具
  • 代码库
  • 轻量级

适用应用场景

  • 集成到TypeScript项目中
  • 作为开发辅助工具使用
  • 学习TypeScript代码结构
  • 扩展自定义功能模块

README 中文摘要

项目概述

REA(Reverse Engineer Anything)是一套面向逆向工程的 MCP(模型上下文协议)工具集,用于分析本地原生二进制文件、桌面应用、JavaScript/Electron 应用、.NET 程序集、Android APK、网站及运行时行为。它将分析能力直接接入智能体,使智能体能够检查目标程序、追踪代码、解释功能机制,并基于证据实现类似功能。

REA 支持 Node.js 22.x(至少 22.19)、24.x(至少 24.11)或 26+,并需要 npm。静态 JavaScript 和 .NET 分析无需启动目标程序;原生深度分析则可使用 Hopper、Ghidra 或 IDA。分析默认在本地执行,返回结果会同时说明结论依据和已知限制。

快速开始

安装 Node.js 与 npm 后运行:

npx rea-agents setup
# 配置 REA 的 MCP 服务和工作流指令

安装程序支持 Claude Code、Codex、Cursor、Gemini CLI、Grok Build 等智能体。配置完成后需重启智能体。Linux 环境下,Ghidra、JADX、固件工具启动以及部分 JavaScript/Electron 静态分析还需要 ps 位于 REA 的 PATH 中。

可向智能体提出具体调查任务,例如:

分析 Notes 应用中的搜索机制,展示证据,并为我的项目实现类似功能。

也可以直接从命令行分析解包后的 JavaScript/Electron 目录或 ASAR 文件:

npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --json
# 输出模块、导入关系、Electron 边界及其证据

全局安装后使用 rea 命令:

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

更新全局安装:

rea update
# 刷新版本并重新注册 MCP 与技能配置

若使用 Bun,可将 npx rea-agents@latest 替换为 bunx rea-agents@latest。Bun 全局更新要求 Bun 1.2.17 或更高版本。

工作方式与核心能力

REA 通过 MCP 接收智能体的调查请求,调用相应分析工具检查目标文件或运行中的程序,再将代码、引用、未知项和证据返回给智能体。智能体据此继续提问、解释行为,或编写并测试实现;CLI 使用相同的工作流。

支持的主要分析对象包括:

  • 原生二进制:伪代码、汇编、字符串、符号、调用关系和交叉引用。
  • JavaScript、Electron:模块、导入、Source Map、路由、IPC 边界和原生插件关系。
  • .NET 程序集:元数据、CIL 指令及声明的原生依赖。
  • Android APK:Manifest、类、反编译方法、签名和资源信息。
  • 网站与网络抓包:页面结构、脚本、网络请求、响应、脚本来源和截图。
  • 固件与 ELF/PE:区域、节区、段、符号、证书、重定位和编译信息。
  • Go、Rust、Erlang BEAM、WASM、IL2CPP、Godot PCK 等专用产物。
  • SQLite、CUDA/HIP、模型文件、PyInstaller、Flutter 和进程行为。

原生分析可使用 Hopper、Ghidra、IDA、Rizin 或 GNU objdump 等工具;具体能力取决于目标格式和所选分析引擎。对于大型二进制文件,可通过 REA_GHIDRA_STARTUP_TIMEOUT_MS 或 REA_HOPPER_STARTUP_TIMEOUT_MS 延长启动超时时间。

配置与注意事项

MCP 默认使用紧凑输入模式以减少上下文开销。需要完整字段说明时,可在 MCP 注册配置中设置:

REA_MCP_INPUT_SCHEMA_PROFILE=full

运行时分析会以当前用户权限执行或操作目标程序,因此应仅分析自己拥有或获得授权检查的软件。REA 不会上传应用,但其返回的数据会交给智能体模型提供商处理,实际数据政策取决于该提供商。

许可与使用边界

REA 项目代码采用 MIT 许可证;第三方组件和外部工具保留各自许可证。Hopper、IDA Pro/Hex-Rays、JEB 等商业工具必须通过合法途径取得并遵守相应授权条款。REA 仅适用于合法研究、教育、互操作性、软件保存,以及对拥有或获授权软件的分析。

摘要更新于 2026-10-23 00:31:17 · 原文 25885 字符 · md5 131a30291828…