LIEF: Library to Instrument Executable Formats Version 0.16.0
Loading...
Searching...
No Matches
LIEF::PE::LoadConfigurationV10 Class Reference

#include <LoadConfigurationV10.hpp>

Inheritance diagram for LIEF::PE::LoadConfigurationV10:
Collaboration diagram for LIEF::PE::LoadConfigurationV10:

Public Member Functions

 LoadConfigurationV10 ()=default
 
template<class T >
 LoadConfigurationV10 (const details::load_configuration_v10< T > &header)
 
LoadConfigurationV10operator= (const LoadConfigurationV10 &)=default
 
 LoadConfigurationV10 (const LoadConfigurationV10 &)=default
 
VERSION version () const override
 (SDK) Version of the structure
 
uint64_t guard_xfg_check_function_pointer () const
 
uint64_t guard_xfg_dispatch_function_pointer () const
 
uint64_t guard_xfg_table_dispatch_function_pointer () const
 
void guard_xfg_check_function_pointer (uint64_t value)
 
void guard_xfg_dispatch_function_pointer (uint64_t value)
 
void guard_xfg_table_dispatch_function_pointer (uint64_t value)
 
 ~LoadConfigurationV10 () override=default
 
void accept (Visitor &visitor) const override
 
std::ostream & print (std::ostream &os) const override
 
- Public Member Functions inherited from LIEF::PE::LoadConfigurationV9
 LoadConfigurationV9 ()=default
 
template<class T >
 LoadConfigurationV9 (const details::load_configuration_v9< T > &header)
 
LoadConfigurationV9operator= (const LoadConfigurationV9 &)=default
 
 LoadConfigurationV9 (const LoadConfigurationV9 &)=default
 
VERSION version () const override
 (SDK) Version of the structure
 
uint64_t guard_eh_continuation_table () const
 
uint64_t guard_eh_continuation_count () const
 
void guard_eh_continuation_table (uint64_t value)
 
void guard_eh_continuation_count (uint64_t value)
 
 ~LoadConfigurationV9 () override=default
 
void accept (Visitor &visitor) const override
 
std::ostream & print (std::ostream &os) const override
 
- Public Member Functions inherited from LIEF::PE::LoadConfigurationV8
 LoadConfigurationV8 ()=default
 
template<class T >
 LoadConfigurationV8 (const details::load_configuration_v8< T > &header)
 
LoadConfigurationV8operator= (const LoadConfigurationV8 &)=default
 
 LoadConfigurationV8 (const LoadConfigurationV8 &)=default
 
uint64_t volatile_metadata_pointer () const
 
void volatile_metadata_pointer (uint64_t value)
 
 ~LoadConfigurationV8 () override=default
 
- Public Member Functions inherited from LIEF::PE::LoadConfigurationV7
 LoadConfigurationV7 ()=default
 
template<class T >
 LoadConfigurationV7 (const details::load_configuration_v7< T > &header)
 
LoadConfigurationV7operator= (const LoadConfigurationV7 &)=default
 
 LoadConfigurationV7 (const LoadConfigurationV7 &)=default
 
uint32_t reserved3 () const
 
uint64_t addressof_unicode_string () const
 
void reserved3 (uint32_t value)
 
void addressof_unicode_string (uint64_t value)
 
 ~LoadConfigurationV7 () override=default
 
- Public Member Functions inherited from LIEF::PE::LoadConfigurationV6
 LoadConfigurationV6 ()=default
 
template<class T >
 LoadConfigurationV6 (const details::load_configuration_v6< T > &header)
 
LoadConfigurationV6operator= (const LoadConfigurationV6 &)=default
 
 LoadConfigurationV6 (const LoadConfigurationV6 &)=default
 
uint64_t guard_rf_verify_stackpointer_function_pointer () const
 VA of the Function verifying the stack pointer.
 
uint32_t hotpatch_table_offset () const
 Offset to the hotpatch table.
 
void guard_rf_verify_stackpointer_function_pointer (uint64_t value)
 
void hotpatch_table_offset (uint32_t value)
 
 ~LoadConfigurationV6 () override=default
 
- Public Member Functions inherited from LIEF::PE::LoadConfigurationV5
 LoadConfigurationV5 ()=default
 
template<class T >
 LoadConfigurationV5 (const details::load_configuration_v5< T > &header)
 
LoadConfigurationV5operator= (const LoadConfigurationV5 &)=default
 
 LoadConfigurationV5 (const LoadConfigurationV5 &)=default
 
uint64_t guard_rf_failure_routine () const
 VA of the failure routine.
 
uint64_t guard_rf_failure_routine_function_pointer () const
 VA of the failure routine fptr.
 
uint32_t dynamic_value_reloctable_offset () const
 Offset of dynamic relocation table relative to the relocation table.
 
uint16_t dynamic_value_reloctable_section () const
 The section index of the dynamic value relocation table.
 
uint16_t reserved2 () const
 Must be zero.
 
void guard_rf_failure_routine (uint64_t value)
 
void guard_rf_failure_routine_function_pointer (uint64_t value)
 
void dynamic_value_reloctable_offset (uint32_t value)
 
void dynamic_value_reloctable_section (uint16_t value)
 
void reserved2 (uint16_t value)
 
 ~LoadConfigurationV5 () override=default
 
- Public Member Functions inherited from LIEF::PE::LoadConfigurationV4
 LoadConfigurationV4 ()=default
 
template<class T >
 LoadConfigurationV4 (const details::load_configuration_v4< T > &header)
 
LoadConfigurationV4operator= (const LoadConfigurationV4 &)=default
 
 LoadConfigurationV4 (const LoadConfigurationV4 &)=default
 
uint64_t dynamic_value_reloc_table () const
 VA of pointing to a IMAGE_DYNAMIC_RELOCATION_TABLE
 
uint64_t hybrid_metadata_pointer () const
 
void dynamic_value_reloc_table (uint64_t value)
 
void hybrid_metadata_pointer (uint64_t value)
 
 ~LoadConfigurationV4 () override=default
 
- Public Member Functions inherited from LIEF::PE::LoadConfigurationV3
 LoadConfigurationV3 ()=default
 
template<class T >
 LoadConfigurationV3 (const details::load_configuration_v3< T > &header)
 
LoadConfigurationV3operator= (const LoadConfigurationV3 &)=default
 
 LoadConfigurationV3 (const LoadConfigurationV3 &)=default
 
uint64_t guard_address_taken_iat_entry_table () const
 VA of a table associated with CFG's IAT checks.
 
uint64_t guard_address_taken_iat_entry_count () const
 Number of entries in the LoadConfigurationV3::guard_address_taken_iat_entry_table.
 
uint64_t guard_long_jump_target_table () const
 VA of a table associated with CFG's long jump
 
uint64_t guard_long_jump_target_count () const
 Number of entries in the LoadConfigurationV3::guard_long_jump_target_table.
 
void guard_address_taken_iat_entry_table (uint64_t value)
 
void guard_address_taken_iat_entry_count (uint64_t value)
 
void guard_long_jump_target_table (uint64_t value)
 
void guard_long_jump_target_count (uint64_t value)
 
 ~LoadConfigurationV3 () override=default
 
- Public Member Functions inherited from LIEF::PE::LoadConfigurationV2
 LoadConfigurationV2 ()=default
 
LoadConfigurationV2operator= (const LoadConfigurationV2 &)=default
 
 LoadConfigurationV2 (const LoadConfigurationV2 &)=default
 
template<class T >
 LoadConfigurationV2 (const details::load_configuration_v2< T > &header)
 
const CodeIntegritycode_integrity () const
 CodeIntegrity associated with.
 
CodeIntegritycode_integrity ()
 
 ~LoadConfigurationV2 () override=default
 
- Public Member Functions inherited from LIEF::PE::LoadConfigurationV1
 LoadConfigurationV1 ()=default
 
template<class T >
 LoadConfigurationV1 (const details::load_configuration_v1< T > &header)
 
LoadConfigurationV1operator= (const LoadConfigurationV1 &)=default
 
 LoadConfigurationV1 (const LoadConfigurationV1 &)=default
 
uint64_t guard_cf_check_function_pointer () const
 The VA where Control Flow Guard check-function pointer is stored.
 
uint64_t guard_cf_dispatch_function_pointer () const
 The VA where Control Flow Guard dispatch-function pointer is stored.
 
uint64_t guard_cf_function_table () const
 The VA of the sorted table of RVAs of each Control Flow Guard function in the image.
 
uint64_t guard_cf_function_count () const
 The count of unique RVAs in the LoadConfigurationV1::guard_cf_function_table.
 
IMAGE_GUARD guard_flags () const
 Control Flow Guard related flags.
 
bool has (IMAGE_GUARD flag) const
 Check if the given flag is present in LoadConfigurationV1::guard_flags.
 
std::vector< IMAGE_GUARDguard_cf_flags_list () const
 LoadConfigurationV1::guard_flags as a list of LIEF::PE::GUARD_CF_FLAGS.
 
void guard_cf_check_function_pointer (uint64_t check_pointer)
 
void guard_cf_dispatch_function_pointer (uint64_t dispatch_pointer)
 
void guard_cf_function_table (uint64_t guard_cf_function_table)
 
void guard_cf_function_count (uint64_t guard_cf_function_count)
 
void guard_flags (IMAGE_GUARD flags)
 
 ~LoadConfigurationV1 () override=default
 
- Public Member Functions inherited from LIEF::PE::LoadConfigurationV0
 LoadConfigurationV0 ()=default
 
LoadConfigurationV0operator= (const LoadConfigurationV0 &)=default
 
 LoadConfigurationV0 (const LoadConfigurationV0 &)=default
 
template<class T >
 LoadConfigurationV0 (const details::load_configuration_v0< T > &header)
 
uint64_t se_handler_table () const
 The VA of the sorted table of RVAs of each valid, unique SE handler in the image.
 
uint64_t se_handler_count () const
 The count of unique handlers in the table.
 
void se_handler_table (uint64_t se_handler_table)
 
void se_handler_count (uint64_t se_handler_count)
 
 ~LoadConfigurationV0 () override=default
 
- Public Member Functions inherited from LIEF::PE::LoadConfiguration
 LoadConfiguration ()=default
 
template<class T >
 LoadConfiguration (const details::load_configuration< T > &header)
 
LoadConfigurationoperator= (const LoadConfiguration &)=default
 
 LoadConfiguration (const LoadConfiguration &)=default
 
uint32_t characteristics () const
 Characteristics of the structure It usually holds its size.
 
uint32_t size () const
 Size of the current structure which is an alias for characteristics.
 
uint32_t timedatestamp () const
 Date and time stamp value.
 
uint16_t major_version () const
 Major Version.
 
uint16_t minor_version () const
 Minor version.
 
uint32_t global_flags_clear () const
 The global loader flags to clear for this process as the loader start the process.
 
uint32_t global_flags_set () const
 The global loader flags to set for this process as the loader starts the process.
 
uint32_t critical_section_default_timeout () const
 The default timeout value to use for this process’s critical sections that are abandoned.
 
uint64_t decommit_free_block_threshold () const
 Memory that must be freed before it is returned to the system, in bytes.
 
uint64_t decommit_total_free_threshold () const
 Total amount of free memory, in bytes.
 
uint64_t lock_prefix_table () const
 The VA of a list of addresses where the LOCK prefix is used so that they can be replaced with NOP on single processor machines.
 
uint64_t maximum_allocation_size () const
 Maximum allocation size, in bytes.
 
uint64_t virtual_memory_threshold () const
 Maximum virtual memory size, in bytes.
 
uint64_t process_affinity_mask () const
 Setting this field to a non-zero value is equivalent to calling SetProcessAffinityMask with this value during process startup (.exe only)
 
uint32_t process_heap_flags () const
 Process heap flags that correspond to the first argument of the HeapCreate function. These flags apply to the process heap that is created during process startup.
 
uint16_t csd_version () const
 The service pack version identifier.
 
uint16_t reserved1 () const
 Must be zero.
 
uint16_t dependent_load_flags () const
 Alias for reserved1.
 
uint32_t editlist () const
 Reserved for use by the system.
 
uint64_t security_cookie () const
 A pointer to a cookie that is used by Visual C++ or GS implementation.
 
void characteristics (uint32_t characteristics)
 
void timedatestamp (uint32_t timedatestamp)
 
void major_version (uint16_t major_version)
 
void minor_version (uint16_t minor_version)
 
void global_flags_clear (uint32_t global_flags_clear)
 
void global_flags_set (uint32_t global_flags_set)
 
void critical_section_default_timeout (uint32_t critical_section_default_timeout)
 
void decommit_free_block_threshold (uint64_t decommit_free_block_threshold)
 
void decommit_total_free_threshold (uint64_t decommit_total_free_threshold)
 
void lock_prefix_table (uint64_t lock_prefix_table)
 
void maximum_allocation_size (uint64_t maximum_allocation_size)
 
void virtual_memory_threshold (uint64_t virtual_memory_threshold)
 
void process_affinity_mask (uint64_t process_affinity_mask)
 
void process_heap_flags (uint32_t process_heap_flagsid)
 
void csd_version (uint16_t csd_version)
 
void reserved1 (uint16_t reserved1)
 
void dependent_load_flags (uint16_t flags)
 
void editlist (uint32_t editlist)
 
void security_cookie (uint64_t security_cookie)
 
 ~LoadConfiguration () override=default
 
- Public Member Functions inherited from LIEF::Object
 Object ()
 
 Object (const Object &other)
 
Objectoperator= (const Object &other)
 
template<class T >
output_t< T > as ()
 
template<class T >
output_const_t< T > as () const
 
virtual bool operator== (const Object &other) const
 
virtual bool operator!= (const Object &other) const
 
virtual ~Object ()
 

Static Public Member Functions

static bool classof (const LoadConfiguration *config)
 
- Static Public Member Functions inherited from LIEF::PE::LoadConfigurationV9
static bool classof (const LoadConfiguration *config)
 
- Static Public Member Functions inherited from LIEF::PE::LoadConfigurationV8
static bool classof (const LoadConfiguration *config)
 
- Static Public Member Functions inherited from LIEF::PE::LoadConfigurationV7
static bool classof (const LoadConfiguration *config)
 
- Static Public Member Functions inherited from LIEF::PE::LoadConfigurationV6
static bool classof (const LoadConfiguration *config)
 
- Static Public Member Functions inherited from LIEF::PE::LoadConfigurationV5
static bool classof (const LoadConfiguration *config)
 
- Static Public Member Functions inherited from LIEF::PE::LoadConfigurationV4
static bool classof (const LoadConfiguration *config)
 
- Static Public Member Functions inherited from LIEF::PE::LoadConfigurationV3
static bool classof (const LoadConfiguration *config)
 
- Static Public Member Functions inherited from LIEF::PE::LoadConfigurationV2
static bool classof (const LoadConfiguration *config)
 
- Static Public Member Functions inherited from LIEF::PE::LoadConfigurationV1
static bool classof (const LoadConfiguration *config)
 
- Static Public Member Functions inherited from LIEF::PE::LoadConfigurationV0
static bool classof (const LoadConfiguration *config)
 
- Static Public Member Functions inherited from LIEF::PE::LoadConfiguration
static bool classof (const LoadConfiguration *)
 
template<class T >
static const T * cast (const LoadConfiguration *config)
 

Static Public Attributes

static constexpr VERSION WIN_VERSION = VERSION::WIN_10_0_MSVC_2019
 
- Static Public Attributes inherited from LIEF::PE::LoadConfigurationV9
static constexpr VERSION WIN_VERSION = VERSION::WIN_10_0_19534
 
- Static Public Attributes inherited from LIEF::PE::LoadConfigurationV8
static constexpr VERSION WIN_VERSION = VERSION::WIN_10_0_18362
 
- Static Public Attributes inherited from LIEF::PE::LoadConfigurationV7
static constexpr VERSION WIN_VERSION = VERSION::WIN_10_0_16237
 
- Static Public Attributes inherited from LIEF::PE::LoadConfigurationV6
static constexpr VERSION WIN_VERSION = VERSION::WIN_10_0_15002
 
- Static Public Attributes inherited from LIEF::PE::LoadConfigurationV5
static constexpr VERSION WIN_VERSION = VERSION::WIN_10_0_14901
 
- Static Public Attributes inherited from LIEF::PE::LoadConfigurationV4
static constexpr VERSION WIN_VERSION = VERSION::WIN_10_0_14383
 
- Static Public Attributes inherited from LIEF::PE::LoadConfigurationV3
static constexpr VERSION WIN_VERSION = VERSION::WIN_10_0_14286
 
- Static Public Attributes inherited from LIEF::PE::LoadConfigurationV2
static constexpr VERSION WIN_VERSION = VERSION::WIN_10_0_9879
 
- Static Public Attributes inherited from LIEF::PE::LoadConfigurationV1
static constexpr VERSION WIN_VERSION = VERSION::WIN_8_1
 
- Static Public Attributes inherited from LIEF::PE::LoadConfigurationV0
static constexpr VERSION WIN_VERSION = VERSION::SEH
 
- Static Public Attributes inherited from LIEF::PE::LoadConfiguration
static constexpr VERSION WIN_VERSION = VERSION::UNKNOWN
 

Additional Inherited Members

- Public Types inherited from LIEF::PE::LoadConfigurationV1
enum class  IMAGE_GUARD : uint32_t {
  NONE = 0x00000000 , CF_INSTRUMENTED = 0x00000100 , CFW_INSTRUMENTED = 0x00000200 , CF_FUNCTION_TABLE_PRESENT = 0x00000400 ,
  SECURITY_COOKIE_UNUSED = 0x00000800 , PROTECT_DELAYLOAD_IAT = 0x00001000 , DELAYLOAD_IAT_IN_ITS_OWN_SECTION = 0x00002000 , CF_EXPORT_SUPPRESSION_INFO_PRESENT = 0x00004000 ,
  CF_ENABLE_EXPORT_SUPPRESSION = 0x00008000 , CF_LONGJUMP_TABLE_PRESENT = 0x00010000 , RF_INSTRUMENTED = 0x00020000 , RF_ENABLE = 0x00040000 ,
  RF_STRICT = 0x00080000 , RETPOLINE_PRESENT = 0x00100000 , EH_CONTINUATION_TABLE_PRESENT = 0x00200000
}
 
- Public Types inherited from LIEF::PE::LoadConfiguration
enum class  VERSION {
  UNKNOWN = 0 , SEH , WIN_8_1 , WIN_10_0_9879 ,
  WIN_10_0_14286 , WIN_10_0_14383 , WIN_10_0_14901 , WIN_10_0_15002 ,
  WIN_10_0_16237 , WIN_10_0_18362 , WIN_10_0_19534 , WIN_10_0_MSVC_2019 ,
  WIN_10_0_MSVC_2019_16
}
 
- Public Types inherited from LIEF::Object
template<class T >
using output_t = add_pointer_t<decay_t<T>>
 
template<class T >
using output_const_t = add_pointer_t<add_const_t<decay_t<T>>>
 

Constructor & Destructor Documentation

◆ LoadConfigurationV10() [1/3]

LIEF::PE::LoadConfigurationV10::LoadConfigurationV10 ( )
default

◆ LoadConfigurationV10() [2/3]

template<class T >
LIEF::PE::LoadConfigurationV10::LoadConfigurationV10 ( const details::load_configuration_v10< T > & header)

◆ LoadConfigurationV10() [3/3]

LIEF::PE::LoadConfigurationV10::LoadConfigurationV10 ( const LoadConfigurationV10 & )
default

◆ ~LoadConfigurationV10()

LIEF::PE::LoadConfigurationV10::~LoadConfigurationV10 ( )
overridedefault

Member Function Documentation

◆ accept()

void LIEF::PE::LoadConfigurationV10::accept ( Visitor & visitor) const
overridevirtual

Reimplemented from LIEF::PE::LoadConfigurationV1.

Reimplemented in LIEF::PE::LoadConfigurationV11.

◆ classof()

static bool LIEF::PE::LoadConfigurationV10::classof ( const LoadConfiguration * config)
inlinestatic

◆ guard_xfg_check_function_pointer() [1/2]

uint64_t LIEF::PE::LoadConfigurationV10::guard_xfg_check_function_pointer ( ) const
inline

◆ guard_xfg_check_function_pointer() [2/2]

void LIEF::PE::LoadConfigurationV10::guard_xfg_check_function_pointer ( uint64_t value)
inline

◆ guard_xfg_dispatch_function_pointer() [1/2]

uint64_t LIEF::PE::LoadConfigurationV10::guard_xfg_dispatch_function_pointer ( ) const
inline

◆ guard_xfg_dispatch_function_pointer() [2/2]

void LIEF::PE::LoadConfigurationV10::guard_xfg_dispatch_function_pointer ( uint64_t value)
inline

◆ guard_xfg_table_dispatch_function_pointer() [1/2]

uint64_t LIEF::PE::LoadConfigurationV10::guard_xfg_table_dispatch_function_pointer ( ) const
inline

◆ guard_xfg_table_dispatch_function_pointer() [2/2]

void LIEF::PE::LoadConfigurationV10::guard_xfg_table_dispatch_function_pointer ( uint64_t value)
inline

◆ operator=()

LoadConfigurationV10 & LIEF::PE::LoadConfigurationV10::operator= ( const LoadConfigurationV10 & )
default

◆ print()

std::ostream & LIEF::PE::LoadConfigurationV10::print ( std::ostream & os) const
overridevirtual

Reimplemented from LIEF::PE::LoadConfigurationV1.

Reimplemented in LIEF::PE::LoadConfigurationV11.

◆ version()

VERSION LIEF::PE::LoadConfigurationV10::version ( ) const
inlineoverridevirtual

(SDK) Version of the structure

Reimplemented from LIEF::PE::LoadConfigurationV1.

Reimplemented in LIEF::PE::LoadConfigurationV11.

Member Data Documentation

◆ WIN_VERSION

VERSION LIEF::PE::LoadConfigurationV10::WIN_VERSION = VERSION::WIN_10_0_MSVC_2019
staticconstexpr

The documentation for this class was generated from the following file: