夜雨聆风学习资料网

ARTICLE · 1182302

一条命令逆向任何软件:开源项目 REA 深度解析

一条命令逆向任何软件:开源项目 REA 深度解析

输入一个二进制,输出一份完整的逆向报告。不需要 IDA,不需要 Ghidra,不需要你懂逆向。

它是谁?

REA(Reverse Engineering Assistant) 是一个自动化的逆向工程框架,纯 Rust 编写,MIT 协议开源。

当前版本 v5.1.0,仓库在 2024 年 8 月创建,非常活跃(最近一次代码推送就在昨天)。

  • GitHub:github.com/mytechnotalent/rea
  • 作者:Kevin Thomas(mytechnotalent)

核心玩法:一条命令搞定

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 模拟执行

在沙箱里执行目标代码(不在宿主机上真跑),把运行时才出现的字符串、密钥、解密后的 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)] —— 恶意或畸形输入无法打穿宿主环境。

它能干什么?(典型场景)

  1. CTF:比赛前快速摸清目标二进制的结构、字符串、密钥位置
  2. 软件安全审计:审计某个第三方库 / 插件有没有已知 CVE 模式
  3. 逆向学习:免费配套课程 mytechnotalent/Reverse-Engineering-Tutorial
  4. 恶意代码分析:PCAP/HAR + 加密常量 + URL/邮箱/注册表 IOC 提取
  5. 脱壳:模拟执行驱动的 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 还能自主做深度分析。


相关链接

  • GitHub 仓库:github.com/mytechnotalent/rea
  • 免费逆向课程:github.com/mytechnotalent/Reverse-Engineering-Tutorial
  • 下载预编译二进制:github.com/mytechnotalent/rea/releases

相关学习资料