16#ifndef LIEF_PE_LOAD_CONFIGURATION_V3_H
17#define LIEF_PE_LOAD_CONFIGURATION_V3_H
20#include "LIEF/visibility.h"
21#include "LIEF/PE/LoadConfigurations/LoadConfigurationV2.hpp"
35 static constexpr VERSION WIN_VERSION = VERSION::WIN_10_0_14286;
51 return guard_address_taken_iat_entry_table_;
56 return guard_address_taken_iat_entry_count_;
61 return guard_long_jump_target_table_;
66 return guard_long_jump_target_count_;
69 void guard_address_taken_iat_entry_table(uint64_t value) {
70 guard_address_taken_iat_entry_table_ = value;
73 void guard_address_taken_iat_entry_count(uint64_t value) {
74 guard_address_taken_iat_entry_count_ = value;
77 void guard_long_jump_target_table(uint64_t value) {
78 guard_long_jump_target_table_ = value;
81 void guard_long_jump_target_count(uint64_t value) {
82 guard_long_jump_target_count_ = value;
85 static bool classof(
const LoadConfiguration* config) {
86 return config->version() == WIN_VERSION;
89 ~LoadConfigurationV3()
override =
default;
91 void accept(Visitor& visitor)
const override;
93 std::ostream& print(std::ostream& os)
const override;
96 uint64_t guard_address_taken_iat_entry_table_ = 0;
97 uint64_t guard_address_taken_iat_entry_count_ = 0;
98 uint64_t guard_long_jump_target_table_ = 0;
99 uint64_t guard_long_jump_target_count_ = 0;
LoadConfiguration enhanced with code integrity.
Definition LoadConfigurationV2.hpp:34
LoadConfiguration with Control Flow Guard improved.
Definition LoadConfigurationV3.hpp:32
VERSION version() const override
(SDK) Version of the structure
Definition LoadConfigurationV3.hpp:45
uint64_t guard_address_taken_iat_entry_table() const
VA of a table associated with CFG's IAT checks.
Definition LoadConfigurationV3.hpp:50
uint64_t guard_long_jump_target_count() const
Number of entries in the LoadConfigurationV3::guard_long_jump_target_table.
Definition LoadConfigurationV3.hpp:65
uint64_t guard_address_taken_iat_entry_count() const
Number of entries in the LoadConfigurationV3::guard_address_taken_iat_entry_table.
Definition LoadConfigurationV3.hpp:55
uint64_t guard_long_jump_target_table() const
VA of a table associated with CFG's long jump
Definition LoadConfigurationV3.hpp:60
LIEF namespace.
Definition Abstract/Binary.hpp:32
Definition LoadConfigurationV3.hpp:28