工具

readpe(原名 pev)PE 文件分析工具集

命令行工具集(原名 pev),用于分析 32 位和 64 位 Windows PE 文件。readpe 输出 DOS、COFF 与可选头、节区、数据目录以及导入和导出表;配套工具可反汇编代码(pedis),以 ssdeep、imphash 等算法对整个文件、文件头或节区计算哈希(pehash),列出并提取资源(peres),匹配加壳签名(pepack),标出 TLS 回调、高熵值或异常入口点等特征(pescan),报告 ASLR、DEP/NX、SEH 与栈 cookie 标志并导出证书(pesec),还能查找字符串以及在文件偏移和 RVA 之间换算。输出插件支持文本、CSV、XML、HTML 和 JSON,附带的 libpe C 库提供解析功能。

使用条件与局限

  • 审阅时最新版本为 v0.85.1,发布于 2025-08-29,用于更正 v0.85(2025-08-08)报告的版本号;只有较早的 v0.81 和 v0.82 版本附带 Windows ZIP 构建。所审阅的 master 提交日期为 2026-07-08,比该版本多五个提交,修复了 peres 的版本信息输出和仅按序号导入的函数识别,并让 macOS CI 构建改用较新的 OpenSSL。README 说明了从 pev 改名的经过,以及 libpe 已并入本仓库。
  • 需用 make 和 C 编译器从源码构建,并需要 OpenSSL 开发头文件。在 Linux 上,make install 将文件安装到 /usr/local,还需用 ldconfig 登记 /usr/local/lib 才能找到 libpe.so;macOS 构建需在 CFLAGS 和 LDFLAGS 中传入 Homebrew 的 OpenSSL 路径;Windows 构建使用安装了 gcc-core、binutils、make、zip 和 libssl-devel 的 Cygwin,其中 make zip 还会构建 cpload 并打包所需的 Cygwin DLL。CI 仅在 Linux、macOS 和 Cygwin 上编译。
  • 输入为使用者提供的 PE 文件。其他工具只解析文件,而仅限 Windows 的 cpload 会载入控制面板(.cpl)项并向其发送 CPL 消息以便调试,因此会运行该项的代码。pepack 依赖附带的 userdb.txt,这是一份 PEiD 格式的签名列表,文件头称共 3,520 条,但未注明来源;pescan 和 pesec 报告的是启发式迹象和文件头标志,而非判定结论。
  • tests/run.sh 以每种输出格式运行各个工具,并将结果与 expected_outputs 目录比较,但该目录不在仓库中;另附有 valgrind 脚本,以及由 tests/samples_src 用 MinGW 构建的 helloworld.exe 样本。CI 不运行这些测试。
  • 各工具采用 GPL-2.0-or-later 许可并附 OpenSSL 链接例外,lib/libpe 采用 LGPL-3.0,附带的 udis86 反汇编器保留其 BSD 声明。所审来源未提及 REA 的使用,本收录未构建这些工具,也未分析任何文件。

关于此条目

类型
工具
类别
原生分析工具
关联
基础工具
目标
二进制

来源复核于

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

报告条目过时 建议修正翻译

一手来源

  1. README.md GitHub · mentebinaria/readpe · 修订 967ab57
  2. doc/manual/en_us/tools.docbook GitHub · mentebinaria/readpe · 修订 967ab57
  3. lib/libpe/README.md GitHub · mentebinaria/readpe · 修订 967ab57
  4. Makefile GitHub · mentebinaria/readpe · 修订 967ab57
  5. .github/workflows/multi-os-build.yml GitHub · mentebinaria/readpe · 修订 967ab57
  6. src/windows/cpload.c GitHub · mentebinaria/readpe · 修订 967ab57
  7. src/userdb.txt#L1-L2 GitHub · mentebinaria/readpe · 修订 967ab57
  8. tests/run.sh GitHub · mentebinaria/readpe · 修订 967ab57
  9. src/readpe.c#L1-L34 GitHub · mentebinaria/readpe · 修订 967ab57
  10. LICENSE GitHub · mentebinaria/readpe · 修订 967ab57
  11. lib/libpe/LICENSE GitHub · mentebinaria/readpe · 修订 967ab57
  12. https://github.com/mentebinaria/readpe/releases/tag/v0.85.1
  13. https://github.com/mentebinaria/readpe/releases/tag/v0.85

同分区更多条目:原生二进制

原生二进制分区全部 105 项资源