16#ifndef LIEF_PE_LOAD_CONFIGURATION_V5_H
17#define LIEF_PE_LOAD_CONFIGURATION_V5_H
20#include "LIEF/visibility.h"
21#include "LIEF/PE/LoadConfigurations/LoadConfigurationV4.hpp"
34 static constexpr VERSION WIN_VERSION = VERSION::WIN_10_0_14901;
49 return guard_rf_failure_routine_;
54 return guard_rf_failure_routine_function_pointer_;
59 return dynamic_value_reloctable_offset_;
64 return dynamic_value_reloctable_section_;
72 void guard_rf_failure_routine(uint64_t value) {
73 guard_rf_failure_routine_ = value;
76 void guard_rf_failure_routine_function_pointer(uint64_t value) {
77 guard_rf_failure_routine_function_pointer_ = value;
80 void dynamic_value_reloctable_offset(uint32_t value) {
81 dynamic_value_reloctable_offset_ = value;
84 void dynamic_value_reloctable_section(uint16_t value) {
85 dynamic_value_reloctable_section_ = value;
88 void reserved2(uint16_t value) {
92 static bool classof(
const LoadConfiguration* config) {
93 return config->version() == WIN_VERSION;
96 ~LoadConfigurationV5()
override =
default;
98 void accept(Visitor& visitor)
const override;
100 std::ostream& print(std::ostream& os)
const override;
103 uint64_t guard_rf_failure_routine_ = 0;
104 uint64_t guard_rf_failure_routine_function_pointer_ = 0;
105 uint32_t dynamic_value_reloctable_offset_ = 0;
106 uint16_t dynamic_value_reloctable_section_ = 0;
107 uint16_t reserved2_ = 0;
Load Configuration enhanced with.
Definition LoadConfigurationV4.hpp:35
Load Configuration enhanced with Return Flow Guard.
Definition LoadConfigurationV5.hpp:32
VERSION version() const override
(SDK) Version of the structure
Definition LoadConfigurationV5.hpp:43
uint64_t guard_rf_failure_routine() const
VA of the failure routine.
Definition LoadConfigurationV5.hpp:48
uint64_t guard_rf_failure_routine_function_pointer() const
VA of the failure routine fptr.
Definition LoadConfigurationV5.hpp:53
uint32_t dynamic_value_reloctable_offset() const
Offset of dynamic relocation table relative to the relocation table.
Definition LoadConfigurationV5.hpp:58
uint16_t reserved2() const
Must be zero.
Definition LoadConfigurationV5.hpp:68
uint16_t dynamic_value_reloctable_section() const
The section index of the dynamic value relocation table.
Definition LoadConfigurationV5.hpp:63
LIEF namespace.
Definition Abstract/Binary.hpp:32
Definition LoadConfigurationV5.hpp:28