seifreed/r2inspect

GitHub: seifreed/r2inspect

这是一个基于 radare2 生态的专业恶意软件分析框架,能够自动化对多平台二进制文件进行深度静态检查并生成结构化报告。

Stars: 49 | Forks: 2

r2inspect

r2inspect

由 radare2 和 r2pipe 驱动的高级恶意软件分析工具

PyPI Version Python Versions License CI Status Coverage

GitHub Stars GitHub Issues Buy Me a Coffee

## 概述 **r2inspect** 是一个专业的恶意软件分析框架,利用 radare2 生态系统自动对 PE、ELF 和 Mach-O 二进制文件进行深度静态检查。它结合了格式解析、检测启发式方法和丰富的报告功能,为逆向工程师、事件响应人员和威胁分析师提供支持。 ### 主要功能 | 功能 | 描述 | | ------------------------ | -------------------------------------------------------- | | **多格式支持** | PE、ELF、Mach-O 格式检测与分析 | | **字符串分析** | 带有过滤和解码功能的 ASCII/Unicode 提取 | | **加壳检测** | 基于熵和签名检查的证据评分 | | **加密检测** | 带有置信度评分的 API 和常量分析 | | **反分析** | 带有证据的反调试/反虚拟机/反沙箱指标 | | **哈希套件** | MD5/SHA、SSDeep、TLSH、MACHOC、RichPE、Telfhash、SimHash | | **元数据分析** | 节、导入、导出、资源、覆盖数据 | | **YARA 集成** | 内置和自定义规则扫描 | | **丰富输出** | 控制台表格、JSON 和 CSV 导出 | ### 支持的格式 ``` Windows PE32 / PE32+ / DLL Linux ELF32 / ELF64 macOS Mach-O / Universal ``` ## 安装 ### 从 PyPI 安装(推荐) ``` pip install r2inspect ``` ### 从源码安装 ``` git clone https://github.com/seifreed/r2inspect.git cd r2inspect python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate pip install -e . ``` ### 系统要求 - Python 3.13+ - 已安装 radare2 并添加至 PATH - libmagic(用于文件类型检测) ## 快速开始 ``` # 使用丰富控制台输出的基本分析 r2inspect samples/fixtures/hello_pe.exe # JSON 输出 r2inspect -j samples/fixtures/hello_pe.exe # CSV 输出 r2inspect -c samples/fixtures/hello_pe.exe ``` ## 使用方法 ### 命令行界面 ``` # 完整分析 r2inspect malware.exe # 将输出保存到文件 r2inspect -j malware.exe -o analysis.json # 分析目录(批处理模式) r2inspect --batch ./samples -j -o ./out # 自定义 YARA 规则 r2inspect --yara /path/to/rules malware.exe ``` ### 可用选项 | 选项 | 描述 | | ------------------- | ------------------------------- | | `-i, --interactive` | 交互式分析 Shell | | `-j, --json` | 以 JSON 格式输出 | | `-c, --csv` | 以 CSV 格式输出 | | `-o, --output` | 输出文件或目录 | | `--batch` | 目录批处理模式 | | `--extensions` | 按扩展名过滤批处理 | | `--yara` | 自定义 YARA 规则目录 | | `-x, --xor` | XOR 搜索字符串 | | `-v, --verbose` | 详细输出 | | `--quiet` | 抑制非关键输出 | | `--threads` | 批处理模式的并行线程 | ## Python 库 ``` from r2inspect import create_inspector from r2inspect.config import Config config = Config() with create_inspector("malware.exe", config=config) as inspector: results = inspector.analyze() pe_info = inspector.get_pe_info() imports = inspector.get_imports() ``` ## 架构(高层级) 使用 `create_inspector` 构建一个包含适配器、注册表和管道连接的就绪型分析器。核心依赖于接口;适配器提供基于 r2pipe 的数据访问,而分析器专注于分析和领域辅助功能。 ``` CLI -> create_inspector -> R2Inspector -> AnalysisPipeline -> analyzers -> Adapter (r2pipe) -> radare2 ``` 有关层级和扩展点的简要概述,请参阅 `docs/architecture.md`。 ## 示例 ### 分析多个样本 ``` r2inspect --batch ./samples --extensions "exe,dll" -j -o ./out ``` ### 交互模式 ``` r2inspect> analyze r2inspect> strings r2inspect> imports r2inspect> quit ``` ## 许可证 GNU General Public License v3.0 **需注明归属:** - 作者:**Marc Rivero** | [@seifreed](https://github.com/seifreed) - 仓库:[github.com/seifreed/r2inspect](https://github.com/seifreed/r2inspect)

专为逆向工程和威胁情报社区倾情打造

标签:ELF文件, Mach-O文件, PE文件, r2pipe, Radare2, TLS指纹, 二进制分析, 云安全监控, 云安全运维, 云资产清单, 反病毒, 启发式检测, 威胁情报, 库, 应急响应, 开发者工具, 恶意代码分析, 格式解析, 网络安全, 自动化分析, 跨站脚本, 逆向工具, 逆向工程, 配置文件, 隐私保护, 静态分析