16#ifndef LIEF_PE_LOAD_CONFIGURATION_V3_H
17#define LIEF_PE_LOAD_CONFIGURATION_V3_H
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_;
70 guard_address_taken_iat_entry_table_ = value;
74 guard_address_taken_iat_entry_count_ = value;
78 guard_long_jump_target_table_ = value;
82 guard_long_jump_target_count_ = value;
86 return config->
version() == WIN_VERSION;
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
void guard_long_jump_target_count(uint64_t value)
Definition LoadConfigurationV3.hpp:81
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
LoadConfigurationV3()=default
void guard_address_taken_iat_entry_count(uint64_t value)
Definition LoadConfigurationV3.hpp:73
static bool classof(const LoadConfiguration *config)
Definition LoadConfigurationV3.hpp:85
~LoadConfigurationV3() override=default
void accept(Visitor &visitor) const override
void guard_address_taken_iat_entry_table(uint64_t value)
Definition LoadConfigurationV3.hpp:69
LoadConfigurationV3(const details::load_configuration_v3< T > &header)
uint64_t guard_long_jump_target_count() const
Number of entries in the LoadConfigurationV3::guard_long_jump_target_table.
Definition LoadConfigurationV3.hpp:65
std::ostream & print(std::ostream &os) const override
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
LoadConfigurationV3(const LoadConfigurationV3 &)=default
LoadConfigurationV3 & operator=(const LoadConfigurationV3 &)=default
void guard_long_jump_target_table(uint64_t value)
Definition LoadConfigurationV3.hpp:77
uint64_t guard_long_jump_target_table() const
VA of a table associated with CFG's long jump
Definition LoadConfigurationV3.hpp:60
Class that represents the default PE's LoadConfiguration
Definition LoadConfiguration.hpp:35
virtual VERSION version() const
(SDK) Version of the structure
Definition LoadConfiguration.hpp:64
VERSION
Definition LoadConfiguration.hpp:37
Definition Visitor.hpp:224
LIEF namespace.
Definition Abstract/Binary.hpp:32
Definition LoadConfigurationV3.hpp:28
#define LIEF_API
Definition visibility.h:41
#define LIEF_LOCAL
Definition visibility.h:42