Expand description
Portable Executable / Common Object File Format
The Portable Executable format (PE, PE/COFF, PE32, PE32+) encodes executable and library code on platforms like Microsoft Windows, UEFI, and others. The COFF format originates in UNIX but was later adopted and extended into PE by Microsoft. Apart from the latter, the format has been widely abandonded and replaced by the Executable and Linker Format (ELF).
The COFF format is still used for object files and linker input. The PE format extends COFF slightly to allow MS-DOS stubs to be linked in front of the COFF executable. The name Portable Executable refers to the fact that the format is meant to be architecture independent.
The format was further extended to support offsets larger than 32bit, paving the way for adoption on 64 bit machines. Files encoded in the extended format are called PE32+.
XXX: This module is still incomplete.
Modules§
- format
- Format Parameter Customization
Structs§
Constants§
- CHARACTERISTIC_
32BIT_ MACHINE - CHARACTERISTIC_
AGGRESSIVE_ WS_ TRIM - CHARACTERISTIC_
BYTES_ REVERSED_ HI - CHARACTERISTIC_
BYTES_ REVERSED_ LO - CHARACTERISTIC_
DEBUG_ STRIPPED - CHARACTERISTIC_
DLL - CHARACTERISTIC_
EXECUTABLE_ IMAGE - CHARACTERISTIC_
LARGE_ ADDRESS_ AWARE - CHARACTERISTIC_
LINE_ NUMS_ STRIPPED - CHARACTERISTIC_
LOCAL_ SYMS_ STRIPPED - CHARACTERISTIC_
NET_ RUN_ FROM_ SWAP - CHARACTERISTIC_
RELOCS_ STRIPPED - CHARACTERISTIC_
REMOVABLE_ RUN_ FROM_ SWAP - CHARACTERISTIC_
SYSTEM - CHARACTERISTIC_
UP_ SYSTEM_ ONLY - DATA_
DIRECTORY_ ARCHITECTURE - DATA_
DIRECTORY_ BASE_ RELOCATION_ TABLE - DATA_
DIRECTORY_ BOUND_ IMPORT - DATA_
DIRECTORY_ CERTIFICATE_ TABLE - DATA_
DIRECTORY_ CLR_ RUNTIME_ HEADER - DATA_
DIRECTORY_ DEBUG - DATA_
DIRECTORY_ DELAY_ IMPORT_ DESCRIPTOR - DATA_
DIRECTORY_ EXCEPTION_ TABLE - DATA_
DIRECTORY_ EXPORT_ TABLE - DATA_
DIRECTORY_ GLOBAL_ PTR - DATA_
DIRECTORY_ IAT - DATA_
DIRECTORY_ IMPORT_ TABLE - DATA_
DIRECTORY_ LOAD_ CONFIG_ TABLE - DATA_
DIRECTORY_ RESOURCE_ TABLE - DATA_
DIRECTORY_ TLS_ TABLE - DLL_
CHARACTERISTIC_ APPCONTAINER - DLL_
CHARACTERISTIC_ DYNAMIC_ BASE - DLL_
CHARACTERISTIC_ FORCE_ INTEGRITY - DLL_
CHARACTERISTIC_ GUARD_ CF - DLL_
CHARACTERISTIC_ HIGH_ ENTROPY_ VA - DLL_
CHARACTERISTIC_ NO_ BIND - DLL_
CHARACTERISTIC_ NO_ ISOLATION - DLL_
CHARACTERISTIC_ NO_ SEH - DLL_
CHARACTERISTIC_ NX_ COMPAT - DLL_
CHARACTERISTIC_ TERMINAL_ SERVER_ AWARE - DLL_
CHARACTERISTIC_ WDM_ DRIVER - INVALID_
TIMESTAMPS - MACHINE_
AM33 - MACHINE_
AMD64 - MACHINE_
ARM - MACHINE_
ARM64 - MACHINE_
ARMNT - MACHINE_
EBC - MACHINE_
I386 - MACHINE_
IA64 - MACHINE_
LOONGARC H32 - MACHINE_
LOONGARC H64 - MACHINE_
M32R - MACHINE_
MIPS16 - MACHINE_
MIPSFPU - MACHINE_
MIPSFP U16 - MACHINE_
POWERPC - MACHINE_
POWERPCFP - MACHINE_
R4000 - MACHINE_
RISC V32 - MACHINE_
RISC V64 - MACHINE_
RISC V128 - MACHINE_
SH3 - MACHINE_
SH4 - MACHINE_
SH5 - MACHINE_
SH3DSP - MACHINE_
THUMB - MACHINE_
UNKNOWN - MACHINE_
WCEMIPS V2 - PE_
MAGIC - PE_
MAGIC_ OH32 - PE_
MAGIC_ OH32P - PE_
OFFSET - SECTION_
CHARACTERISTIC_ ALIGN_ 1BYTES - SECTION_
CHARACTERISTIC_ ALIGN_ 2BYTES - SECTION_
CHARACTERISTIC_ ALIGN_ 4BYTES - SECTION_
CHARACTERISTIC_ ALIGN_ 8BYTES - SECTION_
CHARACTERISTIC_ ALIGN_ 16BYTES - SECTION_
CHARACTERISTIC_ ALIGN_ 32BYTES - SECTION_
CHARACTERISTIC_ ALIGN_ 64BYTES - SECTION_
CHARACTERISTIC_ ALIGN_ 128BYTES - SECTION_
CHARACTERISTIC_ ALIGN_ 256BYTES - SECTION_
CHARACTERISTIC_ ALIGN_ 512BYTES - SECTION_
CHARACTERISTIC_ ALIGN_ 1024BYTES - SECTION_
CHARACTERISTIC_ ALIGN_ 2048BYTES - SECTION_
CHARACTERISTIC_ ALIGN_ 4096BYTES - SECTION_
CHARACTERISTIC_ ALIGN_ 8192BYTES - SECTION_
CHARACTERISTIC_ CNT_ CODE - SECTION_
CHARACTERISTIC_ CNT_ INITIALIZED_ DATA - SECTION_
CHARACTERISTIC_ CNT_ UNINITIALIZED_ DATA - SECTION_
CHARACTERISTIC_ GPREL - SECTION_
CHARACTERISTIC_ LNK_ COMDAT - SECTION_
CHARACTERISTIC_ LNK_ INFO - SECTION_
CHARACTERISTIC_ LNK_ NRELOC_ OVFL - SECTION_
CHARACTERISTIC_ LNK_ OTHER - SECTION_
CHARACTERISTIC_ LNK_ REMOVE - SECTION_
CHARACTERISTIC_ MEM_ 16BIT - SECTION_
CHARACTERISTIC_ MEM_ DISCARDABLE - SECTION_
CHARACTERISTIC_ MEM_ EXECUTE - SECTION_
CHARACTERISTIC_ MEM_ LOCKED - SECTION_
CHARACTERISTIC_ MEM_ NOT_ CACHED - SECTION_
CHARACTERISTIC_ MEM_ NOT_ PAGED - SECTION_
CHARACTERISTIC_ MEM_ PRELOAD - SECTION_
CHARACTERISTIC_ MEM_ PURGEABLE - SECTION_
CHARACTERISTIC_ MEM_ READ - SECTION_
CHARACTERISTIC_ MEM_ SHARED - SECTION_
CHARACTERISTIC_ MEM_ WRITE - SECTION_
CHARACTERISTIC_ TYPE_ NO_ PAD - SUBSYSTEM_
EFI_ APPLICATION - SUBSYSTEM_
EFI_ BOOT_ SERVICE_ DRIVER - SUBSYSTEM_
EFI_ ROM - SUBSYSTEM_
EFI_ RUNTIME_ DRIVER - SUBSYSTEM_
NATIVE - SUBSYSTEM_
NATIVE_ WINDOWS - SUBSYSTEM_
OS2_ CUI - SUBSYSTEM_
POSIX_ CUI - SUBSYSTEM_
UNKNOWN - SUBSYSTEM_
WINDOWS_ BOOT_ APPLICATION - SUBSYSTEM_
WINDOWS_ CE_ GUI - SUBSYSTEM_
WINDOWS_ CUI - SUBSYSTEM_
WINDOWS_ GUI - SUBSYSTEM_
XBOX