uky007/PETriage

GitHub: uky007/PETriage

一款基于Rust构建的跨平台PE文件静态分析工具,专为恶意软件快速分流(triage)场景设计,帮助安全分析人员在任意操作系统上高效完成可疑样本的初步评估。

Stars: 4 | Forks: 0

PETriage

# PETriage [![Crates.io](https://img.shields.io/crates/v/petriage.svg)](https://crates.io/crates/petriage) [![Docs.rs](https://docs.rs/petriage/badge.svg)](https://docs.rs/petriage) [![License](https://img.shields.io/crates/l/petriage.svg)](https://github.com/uky007/PETriage) [![GitHub tag](https://img.shields.io/github/v/tag/uky007/PETriage)](https://github.com/uky007/PETriage/tags) 一款用于恶意软件快速分类的快速、跨平台 PE (Portable Executable) 表面分析工具,使用 Rust 编写。 专为需要在 Linux、macOS 和 Windows 上进行实际 PE 快速分类而不依赖仅限 Windows 工作流的分析人员而设计。 前身为 `readpe`(为避免与现有工具发生命名冲突而更名)。 ## 概念 - **仅限静态分析** -- 绝不加载或执行 PE。安全适用于恶意软件分类。 - **CLI 优先** -- 轻量级默认工作流,适合批量分析和自动化。 - **可组合** -- JSON/NDJSON 输出,可通过管道传递给 `jq`、SIEM 和脚本管道。 - **离线运行** -- 无网络调用。适用于完全隔离的网络环境。 ## 接口 | 接口 | 构建 | 描述 | |-----------|-------|-------------| | **CLI** | `cargo build --release` | 用于 PE 分类的默认工作流、结构化输出、异常检测和批量自动化。 | | **TUI** | `cargo build --release --features tui` | 带有 PE 区域导航的交互式十六进制查看器。 | | **GUI** | `cargo build --release --features gui` | 选项卡式分析、拖放操作、导入/字符串过滤器、熵值颜色编码、PE 头编辑器、附加数据切出/剥离。 | ## 快速安装 默认 CLI 构建: ``` cargo install petriage ``` 如需 TUI 和 GUI 构建,请使用特性标志从源码构建。 或从源码构建: ``` git clone https://github.com/uky007/petriage.git cd petriage cargo build --release ``` 有关 GUI/TUI 构建依赖和交叉编译,请参阅 [docs/installation.md](docs/installation.md)。 ## 快速使用 ``` petriage # Surface analysis (all except strings) petriage -a # All information including strings petriage -H # Headers only petriage -i # Imports only petriage --hashes # File hashes only petriage --json # JSON output petriage --batch --ndjson # Batch-analyze all PEs in a directory petriage --fail-on warning # Exit code 3 if anomalies meet the selected threshold petriage --strip-overlay stripped.exe # Save PE without overlay petriage --carve-overlay overlay.bin # Extract overlay data ``` ``` petriage -x # TUI hex viewer petriage-gui # GUI (file dialog) petriage-gui # GUI (open file directly) ``` 有关完整的 CLI 选项、`jq` 示例、TUI/GUI 详细信息和示例输出,请参阅 [docs/usage.md](docs/usage.md)。 ## 核心功能 - **25 条异常规则** -- 加壳、代码注入、时间戳篡改、结构异常、OPSEC 泄露、Rich Header 篡改、导出目录异常 - **OPSEC 分析** -- PDB 路径、凭据模式、端点检测、CI/CD 路径提示、源路径用户名泄露 - **构建指纹识别** -- .NET / Go / Rust / MSVC / MinGW 检测,并支持壳识别(UPX、Themida、VMProtect、NSIS 等) - **附加数据切出/剥离** -- 提取附加数据或保存剥离附加数据的 PE(CLI 和 GUI) - **导出目录分析** -- DLL 名称、时间戳、函数计数以及异常时间戳检测 - **语义化头编辑**(GUI) -- Machine/Subsystem 下拉菜单、人类可读时间戳、DllCharacteristics 标志复选框 - **非标准节高亮** -- 在 CLI 和 GUI 中以黄色高亮显示异常的节名称 ## 截图 ### CLI ![PETriage CLI](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/d2fd9f6530110912.png) ### GUI ![PETriage GUI](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/095e9a5f99110913.png) ### 头部(结构视图 + 编辑器) ![PETriage Headers](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/539e4795a6110915.png) ### 头部编辑器(内联编辑) ![PETriage Editor](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/4d7409ab0d110916.png) ## 退出码 | 代码 | 含义 | |------|---------| | 0 | 成功 | | 1 | 输入错误(找不到文件、读取失败、无效 PE) | | 2 | 输出错误(文件写入失败) | | 3 | 超出异常阈值(`--fail-on`) | ## 文档 - [概述与功能](https://github.com/uky007/PETriage/blob/main/docs/description.md) - [安装说明](https://github.com/uky007/PETriage/blob/main/docs/installation.md) - [用法与示例](https://github.com/uky007/PETriage/blob/main/docs/usage.md) - [现有工具概览](https://github.com/uky007/PETriage/blob/main/docs/survey.md) - [未来工作](https://github.com/uky007/PETriage/blob/main/docs/future_work.md) ## 许可证 MIT OR Apache-2.0
标签:API安全, DAST, DeepSeek, GUI, Homebrew安装, JSON输出, PE文件解析, Rust, TUI, 二进制分析, 云安全监控, 云安全运维, 便携式可执行文件, 可视化界面, 库, 应急响应, 异常检测, 恶意软件分析, 批处理分析, 数字取证, 数据展示, 文档结构分析, 熵值分析, 离线分析, 红队, 网络安全, 网络流量审计, 自动化脚本, 通知系统, 隐私保护, 静态分析