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_EXPORT_ENTRY_H
17#define LIEF_PE_EXPORT_ENTRY_H
43 operator bool()
const {
44 return !library.empty() || !function.empty();
47 std::string
key()
const {
48 return library +
'.' + function;
60 uint16_t ordinal, uint32_t function_rva) :
61 function_rva_{function_rva},
68 LIEF::Symbol(std::move(name)),
73 ExportEntry&
operator=(
const ExportEntry&) =
default;
105 return forward_info_;
109 return is_forwarded() ? forward_info_ : forward_information_t{};
113 return function_rva_;
125 is_extern_ = is_extern;
132 void value(uint64_t value)
override {
133 address(
static_cast<uint32_t
>(value));
137 forward_info_.library = std::move(lib);
138 forward_info_.function = std::move(function);
141 void accept(Visitor& visitor)
const override;
147 uint32_t function_rva_ = 0;
148 uint16_t ordinal_ = 0;
149 uint32_t address_ = 0;
150 bool is_extern_ =
false;
152 forward_information_t forward_info_;
Class that is used to rebuild a raw PE binary from a PE::Binary object.
Definition PE/Builder.hpp:45
Class which represents a PE Export entry (cf. PE::Export)
Definition ExportEntry.hpp:33
ExportEntry & operator=(const ExportEntry &)=default
ExportEntry(ExportEntry &&)=default
friend std::ostream & operator<<(std::ostream &os, const ExportEntry &exportEntry)
bool is_forwarded() const
Definition ExportEntry.hpp:104
uint64_t value() const override
Definition ExportEntry.hpp:128
ExportEntry & operator=(ExportEntry &&)=default
bool is_extern() const
Definition ExportEntry.hpp:100
uint32_t address() const
Address of the current exported function in the DLL.
Definition ExportEntry.hpp:96
void value(uint64_t value) override
Definition ExportEntry.hpp:132
void is_extern(bool is_extern)
Definition ExportEntry.hpp:124
void accept(Visitor &visitor) const override
ExportEntry(std::string name, uint32_t rva)
Definition ExportEntry.hpp:67
ExportEntry(uint32_t address, bool is_extern, uint16_t ordinal, uint32_t function_rva)
Definition ExportEntry.hpp:59
void set_forward_info(std::string lib, std::string function)
Definition ExportEntry.hpp:136
ExportEntry(const ExportEntry &)=default
~ExportEntry() override=default
uint16_t ordinal() const
Ordinal value associated with this exported entry.
Definition ExportEntry.hpp:88
uint32_t function_rva() const
Definition ExportEntry.hpp:112
forward_information_t forward_information() const
Definition ExportEntry.hpp:108
void ordinal(uint16_t ordinal)
Definition ExportEntry.hpp:116
void address(uint32_t address)
Definition ExportEntry.hpp:120
std::string demangled_name() const
Demangled representation of the symbol or an empty string if it can't be demangled.
Main interface to parse PE binaries. In particular the static functions: Parser::parse should be used...
Definition PE/Parser.hpp:52
Namespace related to the LIEF's PE module.
Definition Abstract/Header.hpp:32
@ LIEF
Definition PE/utils.hpp:35
LIEF namespace.
Definition Abstract/Binary.hpp:36
friend std::ostream & operator<<(std::ostream &os, const forward_information_t &info)
Definition ExportEntry.hpp:51
std::string key() const
Definition ExportEntry.hpp:47
#define LIEF_API
Definition visibility.h:41