Struct lief::pe::LoadConfiguration
pub struct LoadConfiguration<'a> { /* private fields */ }
Expand description
This structure represents the load configuration data associated with the
IMAGE_LOAD_CONFIG_DIRECTORY
.
This structure is frequently updated by Microsoft to add new metadata.
Implementations§
§impl LoadConfiguration<'_>
impl LoadConfiguration<'_>
pub fn characteristics(&self) -> u32
pub fn characteristics(&self) -> u32
Characteristics of the structure which is defined by its size
pub fn timedatestamp(&self) -> u32
pub fn timedatestamp(&self) -> u32
The date and time stamp value
pub fn major_version(&self) -> u16
pub fn major_version(&self) -> u16
Major version
pub fn minor_version(&self) -> u16
pub fn minor_version(&self) -> u16
Minor version
pub fn global_flags_clear(&self) -> u32
pub fn global_flags_clear(&self) -> u32
The global flags that control system behavior. For more information, see Gflags.exe
.
pub fn global_flags_set(&self) -> u32
pub fn global_flags_set(&self) -> u32
The global flags that control system behavior. For more information, see Gflags.exe
.
pub fn critical_section_default_timeout(&self) -> u32
pub fn critical_section_default_timeout(&self) -> u32
The critical section default time-out value.
pub fn decommit_free_block_threshold(&self) -> u64
pub fn decommit_free_block_threshold(&self) -> u64
The size of the minimum block that must be freed before it is freed (de-committed), in bytes. This value is advisory.
pub fn decommit_total_free_threshold(&self) -> u64
pub fn decommit_total_free_threshold(&self) -> u64
The size of the minimum total memory that must be freed in the process heap before it is freed (de-committed), in bytes. This value is advisory.
pub fn lock_prefix_table(&self) -> u64
pub fn lock_prefix_table(&self) -> u64
The VA of a list of addresses where the LOCK
prefix is used. These will be replaced by
NOP
on single-processor systems. This member is available only for x86.
pub fn maximum_allocation_size(&self) -> u64
pub fn maximum_allocation_size(&self) -> u64
The maximum allocation size, in bytes. This member is obsolete and is used only for debugging purposes.
pub fn virtual_memory_threshold(&self) -> u64
pub fn virtual_memory_threshold(&self) -> u64
The maximum block size that can be allocated from heap segments, in bytes.
pub fn process_affinity_mask(&self) -> u64
pub fn process_affinity_mask(&self) -> u64
The process affinity mask. For more information, see GetProcessAffinityMask
. This member
is available only for .exe
files.
pub fn process_heap_flags(&self) -> u32
pub fn process_heap_flags(&self) -> u32
The process heap flags. For more information, see HeapCreate
.
pub fn csd_version(&self) -> u16
pub fn csd_version(&self) -> u16
The service pack version.
pub fn dependent_load_flags(&self) -> u16
pub fn dependent_load_flags(&self) -> u16
Alias for LoadConfiguration::reserved1
.
The default load flags used when the operating system resolves the
statically linked imports of a module. For more information, see
LoadLibraryEx
.
A pointer to a cookie that is used by Visual C++ or GS implementation.
pub fn se_handler_table(&self) -> Option<u64>
pub fn se_handler_table(&self) -> Option<u64>
The VA of the sorted table of RVAs of each valid, unique handler in the image. This member is available only for x86.
pub fn se_handler_count(&self) -> Option<u64>
pub fn se_handler_count(&self) -> Option<u64>
The count of unique handlers in the table. This member is available only for x86.
pub fn seh_functions(&self) -> Vec<u32>
pub fn seh_functions(&self) -> Vec<u32>
Return the list of the function RVA in the SEH table (if any)
pub fn guard_cf_check_function_pointer(&self) -> Option<u64>
pub fn guard_cf_check_function_pointer(&self) -> Option<u64>
The VA where Control Flow Guard check-function pointer is stored.
pub fn guard_cf_dispatch_function_pointer(&self) -> Option<u64>
pub fn guard_cf_dispatch_function_pointer(&self) -> Option<u64>
The VA where Control Flow Guard dispatch-function pointer is stored.
pub fn guard_cf_function_table(&self) -> Option<u64>
pub fn guard_cf_function_table(&self) -> Option<u64>
The VA of the sorted table of RVAs of each Control Flow Guard function in the image.
pub fn guard_cf_function_count(&self) -> Option<u64>
pub fn guard_cf_function_count(&self) -> Option<u64>
The count of unique RVAs in the LoadConfiguration::guard_cf_function_table
table.
pub fn guard_cf_functions(&self) -> GuardCFFunctions<'_> ⓘ
pub fn guard_cf_functions(&self) -> GuardCFFunctions<'_> ⓘ
Iterator over the Control Flow Guard functions referenced by
LoadConfiguration::guard_cf_function_table
pub fn guard_flags(&self) -> Option<ImageGuardFlags>
pub fn guard_flags(&self) -> Option<ImageGuardFlags>
Control Flow Guard related flags.
pub fn code_integrity(&self) -> Option<CodeIntegrity<'_>>
pub fn code_integrity(&self) -> Option<CodeIntegrity<'_>>
Code integrity information.
pub fn guard_address_taken_iat_entry_table(&self) -> Option<u64>
pub fn guard_address_taken_iat_entry_table(&self) -> Option<u64>
The VA where Control Flow Guard address taken IAT table is stored.
pub fn guard_address_taken_iat_entry_count(&self) -> Option<u64>
pub fn guard_address_taken_iat_entry_count(&self) -> Option<u64>
The count of unique RVAs in the table pointed by
LoadConfiguration::guard_address_taken_iat_entry_table
.
pub fn guard_address_taken_iat_entries(&self) -> GuardAddressTakenIATEntries<'_> ⓘ
pub fn guard_address_taken_iat_entries(&self) -> GuardAddressTakenIATEntries<'_> ⓘ
Iterator over the functions referenced by
LoadConfiguration::guard_address_taken_iat_entry_table
pub fn guard_long_jump_target_table(&self) -> Option<u64>
pub fn guard_long_jump_target_table(&self) -> Option<u64>
The VA where Control Flow Guard long jump target table is stored.
pub fn guard_long_jump_target_count(&self) -> Option<u64>
pub fn guard_long_jump_target_count(&self) -> Option<u64>
The count of unique RVAs in the table pointed by
LoadConfiguration::guard_long_jump_target_table
.
pub fn guard_long_jump_targets(&self) -> GuardLongJumpTargets<'_> ⓘ
pub fn guard_long_jump_targets(&self) -> GuardLongJumpTargets<'_> ⓘ
Iterator over the functions referenced by
LoadConfiguration::guard_long_jump_target_table
pub fn dynamic_value_reloc_table(&self) -> Option<u64>
pub fn dynamic_value_reloc_table(&self) -> Option<u64>
VA of pointing to a IMAGE_DYNAMIC_RELOCATION_TABLE
pub fn hybrid_metadata_pointer(&self) -> Option<u64>
pub fn hybrid_metadata_pointer(&self) -> Option<u64>
Alias for LoadConfiguration::chpe_metadata_pointer
pub fn chpe_metadata_pointer(&self) -> Option<u64>
pub fn chpe_metadata_pointer(&self) -> Option<u64>
VA to the extra Compiled Hybrid Portable Executable (CHPE) metadata.
pub fn chpe_metadata(&self) -> Option<CHPEMetadata<'_>>
pub fn chpe_metadata(&self) -> Option<CHPEMetadata<'_>>
Compiled Hybrid Portable Executable (CHPE) metadata (if any)
pub fn guard_rf_failure_routine(&self) -> Option<u64>
pub fn guard_rf_failure_routine(&self) -> Option<u64>
VA of the failure routine
pub fn guard_rf_failure_routine_function_pointer(&self) -> Option<u64>
pub fn guard_rf_failure_routine_function_pointer(&self) -> Option<u64>
VA of the failure routine fptr
.
pub fn dynamic_value_reloctable_offset(&self) -> Option<u32>
pub fn dynamic_value_reloctable_offset(&self) -> Option<u32>
Offset of dynamic relocation table relative to the relocation table
pub fn dynamic_value_reloctable_section(&self) -> Option<u16>
pub fn dynamic_value_reloctable_section(&self) -> Option<u16>
The section index of the dynamic value relocation table
pub fn dynamic_relocations(&self) -> DynamicRelocations<'_> ⓘ
pub fn dynamic_relocations(&self) -> DynamicRelocations<'_> ⓘ
Return an iterator over the Dynamic relocations (DVRT)
pub fn guard_rf_verify_stackpointer_function_pointer(&self) -> Option<u64>
pub fn guard_rf_verify_stackpointer_function_pointer(&self) -> Option<u64>
VA of the Function verifying the stack pointer
pub fn hotpatch_table_offset(&self) -> Option<u32>
pub fn reserved3(&self) -> Option<u32>
pub fn enclave_config(&self) -> Option<EnclaveConfiguration<'_>>
pub fn enclave_configuration_ptr(&self) -> Option<u64>
pub fn volatile_metadata_pointer(&self) -> Option<u64>
pub fn volatile_metadata(&self) -> Option<VolatileMetadata<'_>>
pub fn guard_eh_continuation_table(&self) -> Option<u64>
pub fn guard_eh_continuation_count(&self) -> Option<u64>
pub fn guard_eh_continuation_functions(
&self
) -> GuardEhContinuationFunctions<'_> ⓘ
pub fn guard_eh_continuation_functions( &self ) -> GuardEhContinuationFunctions<'_> ⓘ
Iterator over the Guard EH continuation functions referenced by
LoadConfiguration::guard_eh_continuation_table