A cross-platform C++ library with Python and Rust bindings to parse, modify and abstract ELF, PE, Mach-O and Android executable formats.
zodiacon/TotalPE2
A Windows-focused PE viewer and analyzer for EXE, DLL, SYS, static libraries, COFF objects and ELF files, with disassembly and decompilation.
Open-source alternative to:PE Explorer
CFF Explorer
- Stars
- 377
- Forks
- 44
- Open issues
- 3
- Last commit
- 11 days ago
What is it?
Total PE 2 is a viewer for the internals of binary files. It opens Windows PE executables, DLLs and drivers, static libraries, COFF object files and ELF files, and detects the file type from its contents rather than its extension. Headers, sections with entropy, data directories, imports and exports, resources, Authenticode signatures, Control Flow Guard tables, CLR metadata and overlay data are all presented as browsable views.
For code analysis, it disassembles x86, x64 and ARM64 code with symbol names and cross references, draws flow graphs, and integrates Ghidra's decompiler to produce C output with renamed variables and types. Symbols can be loaded from PDB files, and library functions in binaries without symbols can be matched against signatures of Visual C++ and WDK static libraries. It also includes a hex view, a file comparison feature, a Search All function, and VirusTotal lookups.
The project is written in C++ and built with Visual Studio 2026 and vcpkg dependencies. It is licensed under MIT and described by its author as a work in progress.
Key features
- 01Opens PE, COFF, static library and ELF files, recognized by content.
- 02Shows headers, sections with entropy, imports, exports and data directories.
- 03Disassembles x86, x64 and ARM64 code with cross references and flow graphs.
- 04Decompiles functions to C using Ghidra's decompiler, with renaming and comments.
- 05Loads PDB symbols and names library functions via static library signatures.
- 06Compares two PE files and searches imports, exports, strings and symbols at once.
Use cases
- Inspecting a suspicious Windows executable or DLL before running it.
- Reviewing the imports, certificates and CFG data of a driver or binary.
- Reverse engineering ELF binaries or object files built by Visual C++.
- Comparing two builds of a PE file to see what changed.
Things to know
- The README describes the project as a work in progress.
- The README gives no build or install instructions.
In collections
Topics
FAQ
- What is TotalPE2?
- A Windows-focused PE viewer and analyzer for EXE, DLL, SYS, static libraries, COFF objects and ELF files, with disassembly and decompilation. Total PE 2 is a viewer for the internals of binary files. It opens Windows PE executables, DLLs and drivers, static libraries, COFF object files and ELF files, and detects the file type from its contents rather than its extension. Headers, sections with entropy, data directories, imports and exports, resources, Authenticode signatures, Control Flow Guard tables, CLR metadata and overlay data are all presented as browsable views.
- Is TotalPE2 free to use? What license does it have?
- TotalPE2 is open source under the MIT license. Check the license terms before using it in commercial products.
- Is TotalPE2 still maintained?
- Actively maintained. The last commit to TotalPE2 was on Oct 26, 2026.
- What can I use TotalPE2 for?
- Inspecting a suspicious Windows executable or DLL before running it. Reviewing the imports, certificates and CFG data of a driver or binary. Reverse engineering ELF binaries or object files built by Visual C++. Comparing two builds of a PE file to see what changed.
- Where can I get TotalPE2?
- The source code and installation instructions are on GitHub: https://github.com/zodiacon/TotalPE2
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Ghidra is an open-source software reverse engineering framework from the NSA, offering disassembly, decompilation, graphing and scripting for compiled code.
A UNIX-like reverse engineering framework and command-line toolset for analyzing binaries, disassembling code and debugging programs.
A curated, annotated list of reverse-engineering tools and learning resources covering binaries, apps, firmware, file formats, and protocols.
An MCP plugin for x64dbg that lets AI assistants control the debugger over HTTP for breakpoints, stepping, and memory reads.
Cross-platform file identification and static analysis tool that detects file types, compilers, packers and protections in executables.