Struct lief::pe::load_configuration::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
pub fn guard_xfg_check_function_pointer(&self) -> Option<u64>
pub fn guard_xfg_dispatch_function_pointer(&self) -> Option<u64>
pub fn guard_xfg_table_dispatch_function_pointer(&self) -> Option<u64>
pub fn cast_guard_os_determined_failure_mode(&self) -> Option<u64>
pub fn guard_memcpy_function_pointer(&self) -> Option<u64>
pub fn uma_function_pointers(&self) -> Option<u64>
pub fn set_characteristics(&mut self, value: u32)
pub fn set_characteristics(&mut self, value: u32)
Set the characteristics value
pub fn set_timedatestamp(&mut self, value: u32)
pub fn set_timedatestamp(&mut self, value: u32)
Set the timedatestamp value
pub fn set_major_version(&mut self, value: u16)
pub fn set_major_version(&mut self, value: u16)
Set the major version
pub fn set_minor_version(&mut self, value: u16)
pub fn set_minor_version(&mut self, value: u16)
Set the minor version
pub fn set_global_flags_clear(&mut self, value: u32)
pub fn set_global_flags_clear(&mut self, value: u32)
Set the global flags to clear
pub fn set_global_flags_set(&mut self, value: u32)
pub fn set_global_flags_set(&mut self, value: u32)
Set the global flags to set
pub fn set_critical_section_default_timeout(&mut self, value: u32)
pub fn set_critical_section_default_timeout(&mut self, value: u32)
Set the critical section default timeout
pub fn set_decommit_free_block_threshold(&mut self, value: u64)
pub fn set_decommit_free_block_threshold(&mut self, value: u64)
Set the decommit free block threshold
pub fn set_decommit_total_free_threshold(&mut self, value: u64)
pub fn set_decommit_total_free_threshold(&mut self, value: u64)
Set the decommit total free threshold
pub fn set_lock_prefix_table(&mut self, value: u64)
pub fn set_lock_prefix_table(&mut self, value: u64)
Set the lock prefix table VA
pub fn set_maximum_allocation_size(&mut self, value: u64)
pub fn set_maximum_allocation_size(&mut self, value: u64)
Set the maximum allocation size
pub fn set_virtual_memory_threshold(&mut self, value: u64)
pub fn set_virtual_memory_threshold(&mut self, value: u64)
Set the virtual memory threshold
pub fn set_process_affinity_mask(&mut self, value: u64)
pub fn set_process_affinity_mask(&mut self, value: u64)
Set the process affinity mask
pub fn set_process_heap_flags(&mut self, value: u32)
pub fn set_process_heap_flags(&mut self, value: u32)
Set the process heap flags
pub fn set_csd_version(&mut self, value: u16)
pub fn set_csd_version(&mut self, value: u16)
Set the CSD version
pub fn set_reserved1(&mut self, value: u16)
pub fn set_reserved1(&mut self, value: u16)
Set reserved1
pub fn set_dependent_load_flags(&mut self, value: u16)
pub fn set_dependent_load_flags(&mut self, value: u16)
Set the dependent load flags
pub fn set_editlist(&mut self, value: u32)
pub fn set_editlist(&mut self, value: u32)
Set the editlist VA
Set the security cookie VA
pub fn set_se_handler_table(&mut self, value: u64)
pub fn set_se_handler_table(&mut self, value: u64)
Set the SE handler table VA
pub fn set_se_handler_count(&mut self, value: u64)
pub fn set_se_handler_count(&mut self, value: u64)
Set the SE handler count
pub fn set_guard_cf_check_function_pointer(&mut self, value: u64)
pub fn set_guard_cf_check_function_pointer(&mut self, value: u64)
Set the guard CF check function pointer VA
pub fn set_guard_cf_dispatch_function_pointer(&mut self, value: u64)
pub fn set_guard_cf_dispatch_function_pointer(&mut self, value: u64)
Set the guard CF dispatch function pointer VA
pub fn set_guard_cf_function_table(&mut self, value: u64)
pub fn set_guard_cf_function_table(&mut self, value: u64)
Set the guard CF function table VA
pub fn set_guard_cf_function_count(&mut self, value: u64)
pub fn set_guard_cf_function_count(&mut self, value: u64)
Set the guard CF function count
pub fn set_guard_flags(&mut self, flags: ImageGuardFlags)
pub fn set_guard_flags(&mut self, flags: ImageGuardFlags)
Set the guard flags
pub fn set_guard_address_taken_iat_entry_table(&mut self, value: u64)
pub fn set_guard_address_taken_iat_entry_table(&mut self, value: u64)
Set the guard address taken IAT entry table VA
pub fn set_guard_address_taken_iat_entry_count(&mut self, value: u64)
pub fn set_guard_address_taken_iat_entry_count(&mut self, value: u64)
Set the guard address taken IAT entry count
pub fn set_guard_long_jump_target_table(&mut self, value: u64)
pub fn set_guard_long_jump_target_table(&mut self, value: u64)
Set the guard long jump target table VA
pub fn set_guard_long_jump_target_count(&mut self, value: u64)
pub fn set_guard_long_jump_target_count(&mut self, value: u64)
Set the guard long jump target count
pub fn set_dynamic_value_reloc_table(&mut self, value: u64)
pub fn set_dynamic_value_reloc_table(&mut self, value: u64)
Set the dynamic value relocation table VA
pub fn set_hybrid_metadata_pointer(&mut self, value: u64)
pub fn set_hybrid_metadata_pointer(&mut self, value: u64)
Set the hybrid metadata pointer VA
pub fn set_guard_rf_failure_routine(&mut self, value: u64)
pub fn set_guard_rf_failure_routine(&mut self, value: u64)
Set the guard RF failure routine VA
pub fn set_guard_rf_failure_routine_function_pointer(&mut self, value: u64)
pub fn set_guard_rf_failure_routine_function_pointer(&mut self, value: u64)
Set the guard RF failure routine function pointer VA
pub fn set_dynamic_value_reloctable_offset(&mut self, value: u32)
pub fn set_dynamic_value_reloctable_offset(&mut self, value: u32)
Set the dynamic value relocation table offset
pub fn set_dynamic_value_reloctable_section(&mut self, value: u16)
pub fn set_dynamic_value_reloctable_section(&mut self, value: u16)
Set the dynamic value relocation table section
pub fn set_reserved2(&mut self, value: u16)
pub fn set_reserved2(&mut self, value: u16)
Set reserved2
pub fn set_guard_rf_verify_stackpointer_function_pointer(&mut self, value: u64)
pub fn set_guard_rf_verify_stackpointer_function_pointer(&mut self, value: u64)
Set the guard RF verify stack pointer function pointer VA
pub fn set_hotpatch_table_offset(&mut self, value: u32)
pub fn set_hotpatch_table_offset(&mut self, value: u32)
Set the hotpatch table offset
pub fn set_reserved3(&mut self, value: u32)
pub fn set_reserved3(&mut self, value: u32)
Set reserved3
pub fn set_enclave_configuration_ptr(&mut self, value: u64)
pub fn set_enclave_configuration_ptr(&mut self, value: u64)
Set the enclave configuration pointer VA
pub fn set_volatile_metadata_pointer(&mut self, value: u64)
pub fn set_volatile_metadata_pointer(&mut self, value: u64)
Set the volatile metadata pointer VA
pub fn set_guard_eh_continuation_table(&mut self, value: u64)
pub fn set_guard_eh_continuation_table(&mut self, value: u64)
Set the guard EH continuation table VA
pub fn set_guard_eh_continuation_count(&mut self, value: u64)
pub fn set_guard_eh_continuation_count(&mut self, value: u64)
Set the guard EH continuation count
pub fn set_guard_xfg_check_function_pointer(&mut self, value: u64)
pub fn set_guard_xfg_check_function_pointer(&mut self, value: u64)
Set the guard XFG check function pointer VA
pub fn set_guard_xfg_dispatch_function_pointer(&mut self, value: u64)
pub fn set_guard_xfg_dispatch_function_pointer(&mut self, value: u64)
Set the guard XFG dispatch function pointer VA
pub fn set_guard_xfg_table_dispatch_function_pointer(&mut self, value: u64)
pub fn set_guard_xfg_table_dispatch_function_pointer(&mut self, value: u64)
Set the guard XFG table dispatch function pointer VA
pub fn set_cast_guard_os_determined_failure_mode(&mut self, value: u64)
pub fn set_cast_guard_os_determined_failure_mode(&mut self, value: u64)
Set the CastGuard OS determined failure mode VA
pub fn set_guard_memcpy_function_pointer(&mut self, value: u64)
pub fn set_guard_memcpy_function_pointer(&mut self, value: u64)
Set the guard memcpy function pointer VA
pub fn set_uma_function_pointers(&mut self, value: u64)
pub fn set_uma_function_pointers(&mut self, value: u64)
Set the UMA function pointers VA