如何用 REA 做 AI 逆向工程:本地静态分析完整指南

如何用 REA 做 AI 逆向工程:本地静态分析完整指南

【免费下载链接】rea Reverse engineer anything with agents, from app behavior down to native binaries. 【免费下载链接】rea 项目地址: https://gitcode.com/GitHub_Trending/rea2/rea

REA 是一个本地 AI 逆向工程工具,用 MCP 服务器加 CLI 两种形态把 agent 接到分析工具上,无需源码就能追查应用行为,覆盖 JS 应用与原生二进制。分析全程在本机执行,每条结论附可核验证据,适合研究未发布产品或竞品实现的工程师。

🚀 先跑通它:一条命令拿到静态分析结论

先给结果:对解包后的 JavaScript / Electron 应用做静态分析,一条命令即可(把路径换成你的目标目录或 ASAR 文件):

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

产出是模块清单、导入关系、Electron 边界声明,以及每一部分对应的证据(来源:README.md)。倒推前置条件:只需要 Node.js 22.x(>=22.23.4)、24.x(>=24.22.1)或 26.12.1+ 以及 npm,不需要任何逆向引擎(来源:README.md);在 Linux 上,进程归属检查还要求 PATH 里有一个 procps 兼容的 ps(来源:README.md)。一个实用提醒:真实应用的完整 Evidence 可达数百 MB,官方建议先落盘,再从中投影摘要视图——例如 334 MB 的 Obsidian Evidence 只生成约 10 KB 的 summary(来源:docs/cli.md)。

🧾 结论凭什么可信:证据字段与"未知"的表述纪律

契约原文「Evidence records retain artifact identity, source locations, observations, inferences and unresolved findings.」(来源:docs/cli.md),即每次工具调用返回的除结论外,还带工件身份与来源位置,可逐条对照目标文件。存放层面,设计原则要求 observed(直接观测)、derived(推导)、inferred(推断)三类关系分开记录,不允许混写(来源:docs/tool-design.md)。对"查不到"的情形,规则是「Missing coverage is unknown, not absence.」(来源:docs/tool-design.md)——没查到一律记为未知,绝不伪装成"不存在"。实例:Rust 二进制缺少 .dep-v0 段时被定义为 null 元数据,而不是"没有依赖"的证明(来源:docs/cli.md)。

🗺️ 能力边界一图看懂:分析目标与前置条件速查

README 的"What you can analyze"清单共三十余项,下表摘出最常用的七类(来源:README.md):

分析对象典型产出需要提前准备什么
原生二进制伪代码、汇编、字符串、符号、调用与引用已安装的 Hopper、Ghidra、IDA 或 Kuna
JavaScript / Electron模块、导入、Source Map、路由、IPC 与原生插件关系Node.js 与 npm;Linux 需 procps 兼容 ps
.NET 程序集元数据、CIL 指令、声明的原生依赖、构建对比无,纯静态
Android APK清单声明、类、反编译方法与引用Headless JADX + 完整 JDK(Linux/macOS/Windows x64)
固件区域检查、显式提取结果、原生分析交接Linux 上的 Binwalk / Unblob
Go 二进制内嵌编译器版本、模块与构建设置内置静态检查,无需装 Go
Rust 二进制crate 名称、版本、来源与依赖边内置静态检查,无需装 Rust

🚫 官方明确不做的事:四条硬限制

散在契约里的边界,收拢如下:

  • 引擎故障不自动换人:「A selected provider is never replaced automatically after a runtime failure.」(来源:docs/mcp-contracts.md)运行时失败后只保留原始失败原因,绝不替你切换引擎;
  • 反编译输出绝不等于源码:「pseudocode is never treated as original source」(来源:docs/installation.md),伪代码只能当线索,不当原始代码引用;
  • 纯静态路径从不运行目标进程:"Static JavaScript and .NET inspection read the supplied files without running the application."(来源:README.md);
  • 环境体检严格只读:rea doctor --json 输出结构化诊断,契约写明 "strictly read-only"(来源:docs/installation.md)。
rea doctor --json

该命令只诊断,不改动任何配置。

🏠 本地运行的真实含义:数据流向与引擎复用

FAQ 的答案很直接:「REA analyzes targets locally.」(来源:README.md)待分析文件不离开这台机器,没有上传环节。同一节随即提醒 "its model provider has its own data policy"(来源:README.md)——agent 会收到工具结果,这些数据交给模型服务商后受其策略约束,需自行评估。引擎侧是复用而非捆绑:原生分析可以直接驱动你已安装的 Hopper、Ghidra 或 IDA(来源:README.md),静态 JS 分析则一个引擎都不用装。与 Ghidra 的进程通信也不暴露公网端口,Linux 与 macOS 走的是 "a current-user-only local bridge socket and descriptor"(来源:docs/installation.md),即仅当前用户可见的本地 socket。

REA 驱动 Hopper 做 AI 逆向工程、分析原生二进制的真实截图

图注:窗口里可见 REA 的分析桥接入 Hopper 后的反汇编与地址定位输出,说明原生结论来自对已装反编译器的实时本地驱动,而非模型事后生成。

📚 继续深入:文档与命令索引

【免费下载链接】rea Reverse engineer anything with agents, from app behavior down to native binaries. 【免费下载链接】rea 项目地址: https://gitcode.com/GitHub_Trending/rea2/rea

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值