输入一个二进制,输出一份完整逆向报告。不需要 IDA、Ghidra,也不需要你本身懂逆向。
它是谁?
REA(Reverse Engineering Assistant) 是一个自动化逆向工程框架,纯 Rust 编写,MIT 协议开源。
当前版本 v5.1.0,仓库于 2024 年 8 月创建,最近一次代码推送就在昨天,活跃度相当高。
核心玩法:一条命令搞定
你只需要执行:
rea suspect # 指向目标二进制
跑完之后,它会在目标文件所在目录生成三份报告:
| 文件 |
用途 |
re-suspect.md |
人类可读的完整分析报告 |
re-suspect.pdf |
排版好的执行摘要 |
re-suspect.json |
机器可读,方便程序处理 |
设计哲学就一句话:"Target in, answers out"——你负责给二进制,它负责出结论。
双模式运行
1. AI 自主分析模式
配置 LLM API key 后(支持 OpenRouter 等),REA 会跑一个自主 tool-calling 多智能体分析循环:
- 反编译 → 模拟执行 → 解密 → 漏洞审计 → 规则匹配
- 最终输出:执行概览 / 架构分析 / 经验证的漏洞 / 可执行修复建议
2. 纯离线确定性模式
不配 API key 也完全能用,全程离线、零网络请求,输出确定性的纯技术报告。离线模式是兜底,AI 模式是增强,二者可以独立运行。
核心能力清单
格式覆盖(靠内容识别,不靠扩展名)
PE(EXE/DLL/SYS)、ELF、Mach-O、通用二进制、固件(uImage / SquashFS / ARM Cortex-M 原始固件)、WASM、SQLite、EVM 字节码、PCAP/HAR 网络抓包、JS source map、Android resources.arsc、Java class file、ELF core dump、Flutter APK、MS-DOS 可执行文件。
静态分析
加密哈希(MD5 / SHA-1 / SHA-256)、imphash、Shannon 熵、导入导出表、安全缓解措施检测(ASLR / NX / CFG / PIE / RELRO / 栈金丝雀)。
P-Code 模拟执行
REA 的做法是 在沙箱里执行目标代码(不在宿主机上真跑),把运行时才出现的字符串、密钥、解密后的 payload 挖出来。
此外,它还支持 模拟驱动的脱壳(unpacking),对分析加壳样本来说非常实用。
保护壳检测
商业加壳器 / 保护器签名匹配,高熵映射、异常内存布局、W^X 违规检测。
v5.1.0 新增亮点
- DWARF 调试符号恢复(ELF
.debug_info / .debug_abbrev / .debug_str)
- Windows PDB 解析(MSF 容器)
- YARA 子集规则匹配引擎
- 加密常量识别:Blowfish P-array、DES S-box、RC5/RC6 密钥调度、bcrypt 签名
- Source-Map VLQ 解码、WASM 代码段分析
漏洞审计
capa 风格规则 + MITRE ATT&CK / MBC 映射,输出 SARIF 格式报告。
MCP Server
内置 31 个工具的 MCP 服务,可以直接接进其他 AI agent 一起用(包括 OpenClaw)。
安全设计
整个代码库 #![forbid(unsafe_code)]——恶意或畸形输入无法打穿宿主环境。
它能干什么?(典型场景)
- CTF:比赛前快速摸清目标二进制的结构、字符串、密钥位置
- 软件安全审计:审计某个第三方库 / 插件有没有已知 CVE 模式
- 逆向学习:免费配套课程
mytechnotalent/Reverse-Engineering-Tutorial
- 恶意代码分析:PCAP/HAR + 加密常量 + URL/邮箱/注册表 IOC 提取
- 脱壳:模拟执行驱动的 unpacking,把加壳后的真实 payload 挖出来
技术架构(一句话版)
Hybrid 设计:确定性引擎(disassembler + decompiler + emulator,纯 Rust 实现)负责提取事实,AI agent 负责推理和写报告。
工作区结构:
crates/
rea # 主 CLI
rea-engine # 确定性分析引擎
rea-sleigh # 符号处理
rea-report # 报告生成
reverse-engineering # MCP server + 共享逻辑
一句话总结
REA 更像一个“IDA Pro 自动化平替 + 安全审计器”:不依赖商业工具,输入任意二进制,就能输出结构化逆向报告和安全分析。它既可以纯离线运行,也能接入 LLM 做自主深度分析。
相关链接