LIEF: Library to Instrument Executable Formats Version 0.17.0
|
Loading...
Searching...
No Matches
Go to the documentation of this file.
16#ifndef LIEF_PE_LOAD_CONFIGURATION_DYNAMIC_RELOCATION_FUNC_OVERRIDE_INFO_H
17#define LIEF_PE_LOAD_CONFIGURATION_DYNAMIC_RELOCATION_FUNC_OVERRIDE_INFO_H
35 using relocations_t = std::vector<std::unique_ptr<Relocation>>;
36 using it_relocations = ref_iterator<relocations_t&, Relocation*>;
37 using it_const_relocations = const_ref_iterator<const relocations_t&, const Relocation*>;
41 uint32_t base_reloc_size);
44 FunctionOverrideInfo&
operator=(
const FunctionOverrideInfo&);
47 FunctionOverrideInfo&
operator=(FunctionOverrideInfo&&);
63 return rvas_.size() *
sizeof(uint32_t);
84 original_rva_ = value;
94 base_relocsz_ = value;
99 rvas_ = std::move(funcs);
104 std::ostream&
operator<<(std::ostream& os,
const FunctionOverrideInfo& info)
106 os << info.to_string();
114 std::unique_ptr<FunctionOverrideInfo> parse(Parser& ctx, SpanStream& strm);
117 uint32_t original_rva_ = 0;
118 uint32_t bdd_offset_ = 0;
119 uint32_t base_relocsz_ = 0;
120 std::vector<uint32_t> rvas_;
121 relocations_t relocations_;
Definition FunctionOverrideInfo.hpp:33
FunctionOverrideInfo()=default
std::string to_string() const
it_const_relocations relocations() const
Definition FunctionOverrideInfo.hpp:79
FunctionOverrideInfo(const FunctionOverrideInfo &)
uint32_t rva_size() const
Size in bytes taken by RVAs.
Definition FunctionOverrideInfo.hpp:62
FunctionOverrideInfo & original_rva(uint32_t value)
Definition FunctionOverrideInfo.hpp:83
friend std::ostream & operator<<(std::ostream &os, const FunctionOverrideInfo &info)
Definition FunctionOverrideInfo.hpp:104
uint32_t base_reloc_size() const
Size in bytes taken by BaseRelocs.
Definition FunctionOverrideInfo.hpp:67
FunctionOverrideInfo & bdd_offset(uint32_t value)
Definition FunctionOverrideInfo.hpp:88
uint32_t original_rva() const
RVA of the original function.
Definition FunctionOverrideInfo.hpp:52
const std::vector< uint32_t > & functions_rva() const
Definition FunctionOverrideInfo.hpp:71
FunctionOverrideInfo(uint32_t original_rva, uint32_t bdd_offset, uint32_t base_reloc_size)
FunctionOverrideInfo & overriding_funcs(std::vector< uint32_t > funcs)
Definition FunctionOverrideInfo.hpp:98
it_relocations relocations()
Definition FunctionOverrideInfo.hpp:75
FunctionOverrideInfo & operator=(FunctionOverrideInfo &&)
uint32_t bdd_offset() const
Offset into the BDD region.
Definition FunctionOverrideInfo.hpp:57
FunctionOverrideInfo(FunctionOverrideInfo &&)
FunctionOverrideInfo & operator=(const FunctionOverrideInfo &)
FunctionOverrideInfo & base_reloc_size(uint32_t value)
Definition FunctionOverrideInfo.hpp:93
Main interface to parse PE binaries. In particular the static functions: Parser::parse should be used...
Definition PE/Parser.hpp:52
Class which represents the Base Relocation Block We usually find this structure in the ....
Definition PE/Relocation.hpp:42
Definition SpanStream.hpp:32
Namespace related to the LIEF's PE module.
Definition Abstract/Header.hpp:32
LIEF namespace.
Definition Abstract/Binary.hpp:36
#define LIEF_API
Definition visibility.h:41
#define LIEF_LOCAL
Definition visibility.h:42