一个快速的、跨平台的PE(可移植可执行文件)表面分析工具,用于恶意软件分类,用Rust编写。 专为需要在Linux、macOS和Windows上进行实用PE分类而不依赖仅Windows工作流的分析人员设计。
以前称为readpe(重命名以避免与现有工具命名冲突)。
jq、SIEM和脚本流程。默认CLI构建:
cargo install petriage
对于TUI和GUI构建,请使用特性标志从源码构建。
或从源码构建:
git clone https://github.com/uky007/petriage.git
cd petriage
cargo build --release
有关GUI/TUI构建依赖关系和交叉编译,请参阅docs/installation.md。
petriage <file.exe> # 表面分析(除字符串外所有内容)
petriage <file.exe> -a # 所有信息,包括字符串
petriage <file.exe> -H # 仅头信息
petriage <file.exe> -i # 仅导入
petriage <file.exe> --hashes # 仅文件哈希
petriage <file.exe> --json # JSON输出
petriage --batch <dir> --ndjson # 批量分析目录中的所有PE
petriage <file.exe> --fail-on warning # 若异常达到所选阈值,退出码为3
petriage <file.exe> --strip-overlay stripped.exe # 保存PE时不带覆盖层
petriage <file.exe> --carve-overlay overlay.bin # 提取覆盖层数据
petriage -x <file.exe> # TUI十六进制查看器
petriage-gui # GUI(文件对话框)
petriage-gui <file.exe> # GUI(直接打开文件)
有关完整的CLI选项、jq配方、TUI/GUI详细信息以及示例输出,请参阅docs/usage.md。




| 代码 | 含义 |
|---|---|
| 0 | 成功 |
| 1 | 输入错误(文件未找到、读取失败、无效PE) |
| 2 | 输出错误(文件写入失败) |
| 3 | 超过异常阈值(--fail-on) |
MIT OR Apache-2.0
| 接口 | 构建 | 描述 |
|---|
| CLI | cargo build --release | PE分类、结构化输出、异常检测和批量自动化的默认工作流。 |
| TUI | cargo build --release --features tui | 带有PE区域导航的交互式十六进制查看器。 |
| GUI | cargo build --release --features gui | 标签式分析、拖放、导入/字符串过滤器、熵值颜色编码、PE头编辑器、覆盖层提取/剥离。 |