
pefile 是一个用于读取和处理 PE(可移植可执行文件)文件的 Python 模块。
pefile 是一个跨平台的 Python 模块,用于解析和处理可移植可执行 (PE) 文件。PE 文件头中包含的大部分信息均可访问,所有节的详细信息和数据也是如此。
Windows 头文件中定义的结构将作为 PE 实例中的属性访问。字段/属性的命名将尽量遵循这些头文件中的命名约定。仅为了方便而添加的快捷方式才会偏离该约定。
pefile 需要对 PE 文件的布局有一些基本了解——有了它,就可以探索 PE 文件格式的几乎所有功能。
通过 pip 安装 pefile:
pip3 install pefile
pefile 可以实现的一些任务包括:
请参考使用示例获得一些演示如何使用 pefile 的代码片段。
以下是 pefile 针对不同类型文件生成的转储示例:
要处理经过身份验证的二进制文件,包括 Authenticode 签名,请查看项目 verify-sigs。
pefile 在多个流水线中运行,每天扫描数十万个新的 PE 文件,虽然并非完美无缺,但随着时间的推移已经变得相当健壮。尽管如此,偶尔也会发现一些小问题。如果您遇到无法正常处理的 PE 文件,请报告!这将有助于使 pefile 变得更加强大。
pefile 是独立的。该模块没有依赖项;与字节序无关;可在 Windows、macOS 和 Linux 上运行。
描述 PE 文件格式的海报 PDF:
以下链接提供了有关 PE 格式及其结构的详细信息。