PE

Pe_Binary_t

struct Pe_Binary_t

LIEF::PE::Binary C Handler.

Public Members

void *handler
const char *name
Pe_DosHeader_t dos_header
Pe_Header_t header
Pe_OptionalHeader_t optional_header
Pe_DataDirectory_t **data_directories
Pe_Section_t **sections
Pe_Import_t **imports

Pe_DosHeader_t

struct Pe_DosHeader_t

Public Members

uint16_t magic
uint16_t used_bytes_in_the_last_page
uint16_t file_size_in_pages
uint16_t numberof_relocation
uint16_t header_size_in_paragraphs
uint16_t minimum_extra_paragraphs
uint16_t maximum_extra_paragraphs
uint16_t initial_relative_ss
uint16_t initial_sp
uint16_t checksum
uint16_t initial_ip
uint16_t initial_relative_cs
uint16_t addressof_relocation_table
uint16_t overlay_number
uint16_t reserved[4]
uint16_t oem_id
uint16_t oem_info
uint16_t reserved2[10]
uint32_t addressof_new_exeheader

Pe_Header_t

struct Pe_Header_t

Public Members

uint8_t signature[4]
LIEF_PE_MACHINE_TYPES machine
uint16_t numberof_sections
uint32_t time_date_stamp
uint32_t pointerto_symbol_table
uint32_t numberof_symbols
uint16_t sizeof_optional_header
uint16_t characteristics

Pe_OptionalHeader_t

struct Pe_OptionalHeader_t

Public Members

LIEF_PE_PE_TYPES magic
uint8_t major_linker_version
uint8_t minor_linker_version
uint32_t sizeof_code
uint32_t sizeof_initialized_data
uint32_t sizeof_uninitialized_data
uint32_t addressof_entrypoint
uint32_t baseof_code
uint32_t baseof_data
uint64_t imagebase
uint32_t section_alignment
uint32_t file_alignment
uint16_t major_operating_system_version
uint16_t minor_operating_system_version
uint16_t major_image_version
uint16_t minor_image_version
uint16_t major_subsystem_version
uint16_t minor_subsystem_version
uint32_t win32_version_value
uint32_t sizeof_image
uint32_t sizeof_headers
uint32_t checksum
LIEF_PE_SUBSYSTEM subsystem
uint32_t dll_characteristics
uint64_t sizeof_stack_reserve
uint64_t sizeof_stack_commit
uint64_t sizeof_heap_reserve
uint64_t sizeof_heap_commit
uint32_t loader_flags
uint32_t numberof_rva_and_size

Pe_Section_t

struct Pe_Section_t

Public Members

const char *name
uint64_t virtual_address
uint64_t size
uint64_t offset
uint32_t virtual_size
uint32_t pointerto_relocation
uint32_t pointerto_line_numbers
uint32_t characteristics
uint8_t *content
uint64_t content_size
double entropy

Pe_DataDirectory_t

struct Pe_DataDirectory_t

Public Members

uint32_t rva
uint32_t size

Pe_Import_t

struct Pe_Import_t

Public Members

const char *name
uint32_t forwarder_chain
uint32_t timedatestamp
Pe_ImportEntry_t **entries
uint32_t import_address_table_rva
uint32_t import_lookup_table_rva

Pe_ImportEntry_t

struct Pe_ImportEntry_t

Public Members

bool is_ordinal
const char *name
uint16_t ordinal
uint64_t hint_name_rva
uint16_t hint
uint64_t iat_value
uint64_t data
uint64_t iat_address