跨平台的 C++ 库,提供 Python 和 Rust 绑定,用于解析、修改和抽象 ELF、PE、Mach-O 等可执行文件格式。
zodiacon/TotalPE2
面向 Windows 的 PE 文件查看与分析工具,支持 EXE、DLL、SYS、静态库、COFF 目标文件和 ELF 文件。
- Star
- 377
- Fork
- 44
- 未关闭 Issue
- 3
- 最近提交
- 12天前
这是什么?
Total PE 2 是一款用于查看二进制文件内部结构的工具,是 Total PE 的改进版。它可以打开 Windows 的 PE 可执行文件、DLL 和驱动,以及静态库、COFF 目标文件和 ELF 文件,并根据文件内容而非扩展名识别类型。头部、带熵值的节区、数据目录、导入导出表、资源、Authenticode 签名、Control Flow Guard 表、CLR 元数据和覆盖数据等都以可浏览的视图呈现。
在代码分析方面,它支持 x86、x64 和 ARM64 的反汇编,显示符号名和交叉引用,并能绘制流程图。它集成了 Ghidra 的反编译器,可输出带有变量和类型重命名的 C 代码。工具可以加载 PDB 符号,对没有符号的程序,还能通过 Visual C++ 与 WDK 静态库的签名识别库函数。此外还提供十六进制视图、文件比较、全局搜索以及 VirusTotal 查询。
项目使用 C++ 编写,依赖 vcpkg 管理,需要 Visual Studio 2026 构建,采用 MIT 许可证。作者将其定位为仍在开发中的项目。
核心功能
- 01根据内容识别并打开 PE、COFF、静态库和 ELF 文件。
- 02展示文件头、带熵值的节区、导入导出表和数据目录。
- 03支持 x86、x64 和 ARM64 反汇编,提供交叉引用和流程图。
- 04借助 Ghidra 反编译器将函数转换为 C 代码,并支持重命名和注释。
- 05加载 PDB 符号,并通过静态库签名为库函数命名。
- 06可比较两个 PE 文件,并同时搜索导入、导出、字符串和符号。
适用场景
- 在运行可疑的 Windows 可执行文件或 DLL 前进行检查。
- 查看驱动或二进制文件的导入表、证书和 CFG 数据。
- 逆向分析 ELF 二进制文件或由 Visual C++ 生成的目标文件。
- 对比同一 PE 文件的两个版本,查看其中的变化。
使用前须知
- README 称该项目仍处于开发中。
- README 没有提供构建或安装说明。
收录于专题
标签
常见问题
- TotalPE2 是什么?
- 面向 Windows 的 PE 文件查看与分析工具,支持 EXE、DLL、SYS、静态库、COFF 目标文件和 ELF 文件。 Total PE 2 是一款用于查看二进制文件内部结构的工具,是 Total PE 的改进版。它可以打开 Windows 的 PE 可执行文件、DLL 和驱动,以及静态库、COFF 目标文件和 ELF 文件,并根据文件内容而非扩展名识别类型。头部、带熵值的节区、数据目录、导入导出表、资源、Authenticode 签名、Control Flow Guard 表、CLR 元数据和覆盖数据等都以可浏览的视图呈现。
- TotalPE2 可以免费使用吗?用的什么许可证?
- TotalPE2 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- TotalPE2 还在维护吗?
- 活跃维护中。TotalPE2 最近一次提交是在 2026年10月26日。
- TotalPE2 适合用来做什么?
- 在运行可疑的 Windows 可执行文件或 DLL 前进行检查。 查看驱动或二进制文件的导入表、证书和 CFG 数据。 逆向分析 ELF 二进制文件或由 Visual C++ 生成的目标文件。 对比同一 PE 文件的两个版本,查看其中的变化。
- 在哪里获取 TotalPE2?
- 源代码和安装说明在 GitHub 上:https://github.com/zodiacon/TotalPE2
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
Ghidra 是美国国家安全局开源的软件逆向工程框架,提供反汇编、反编译、图形化分析和脚本能力。
一个类 UNIX 的逆向工程框架与命令行工具集,用于分析二进制文件、反汇编代码和调试程序。
精选并附注释的逆向工程工具与学习资源列表,涵盖二进制、应用、固件、文件格式和协议。
为 x64dbg 提供的 MCP 插件,让 AI 助手通过 HTTP 控制调试器,设置断点、单步执行和读取内存。
跨平台文件识别与静态分析工具,可识别可执行文件的类型、编译器、加壳器和保护方案。