LIEF: Library to Instrument Executable Formats Version 0.17.0
Loading...
Searching...
No Matches
LIEF::PE::ImportEntry Class Reference

Class that represents an entry (i.e. an import) in the import table (Import). More...

#include <ImportEntry.hpp>

Inheritance diagram for LIEF::PE::ImportEntry:
Collaboration diagram for LIEF::PE::ImportEntry:

Public Member Functions

 ImportEntry ()=default
 ImportEntry (uint64_t data, PE_TYPE type)
 ImportEntry (std::string name)
 ImportEntry (const ImportEntry &)=default
ImportEntryoperator= (const ImportEntry &)=default
 ~ImportEntry () override=default
std::string demangled_name () const
 Demangled representation of the symbol or an empty string if it can't be demangled.
bool is_ordinal () const
 True if it is an import by ordinal
uint16_t ordinal () const
 The ordinal value.
uint64_t hint_name_rva () const
uint16_t hint () const
 Index into the Export::entries that is used to speed-up the symbol resolution.
uint64_t iat_value () const
 Value of the current entry in the Import Address Table. It should match the lookup table value.
uint64_t ilt_value () const
 Original value in the import lookup table. This value should match the iat_value().
uint64_t data () const
 Raw value.
uint64_t iat_address () const
 Original address of the entry in the Import Address Table
void data (uint64_t data)
void accept (Visitor &visitor) const override
Public Member Functions inherited from LIEF::Symbol
 Symbol ()=default
 Symbol (std::string name)
 Symbol (std::string name, uint64_t value)
 Symbol (std::string name, uint64_t value, uint64_t size)
 Symbol (const Symbol &)=default
Symboloperator= (const Symbol &)=default
 Symbol (Symbol &&)=default
Symboloperator= (Symbol &&)=default
 ~Symbol () override=default
void swap (Symbol &other) noexcept
virtual const std::string & name () const
 Return the symbol's name.
virtual std::string & name ()
virtual void name (std::string name)
 Set symbol name.
virtual uint64_t value () const
virtual void value (uint64_t value)
virtual uint64_t size () const
 This size of the symbol (when applicable).
virtual void size (uint64_t value)
void accept (Visitor &visitor) const override
 Method so that the visitor can visit us.
Public Member Functions inherited from LIEF::Object
 Object ()
 Object (const Object &other)
Objectoperator= (const Object &other)
 Object (Object &&other) noexcept=default
Objectoperator= (Object &&other) noexcept=default
template<class T>
output_t< T > as ()
template<class T>
output_const_t< T > as () const
virtual bool operator== (const Object &other) const
virtual bool operator!= (const Object &other) const
virtual ~Object ()

Additional Inherited Members

Public Types inherited from LIEF::Object
template<class T>
using output_t = add_pointer_t<decay_t<T>>
template<class T>
using output_const_t = add_pointer_t<add_const_t<decay_t<T>>>

Detailed Description

Class that represents an entry (i.e. an import) in the import table (Import).

It extends the LIEF::Symbol generic class that exposes the LIEF::Symbol::name and LIEF::Symbol::value API

Constructor & Destructor Documentation

◆ ImportEntry() [1/4]

LIEF::PE::ImportEntry::ImportEntry ( )
default

Referenced by ImportEntry(), operator<<, and operator=().

◆ ImportEntry() [2/4]

LIEF::PE::ImportEntry::ImportEntry ( uint64_t data,
PE_TYPE type )
inline

References data().

◆ ImportEntry() [3/4]

LIEF::PE::ImportEntry::ImportEntry ( std::string name)
inline

References LIEF::Symbol::name().

◆ ImportEntry() [4/4]

LIEF::PE::ImportEntry::ImportEntry ( const ImportEntry & )
default

References ImportEntry().

◆ ~ImportEntry()

LIEF::PE::ImportEntry::~ImportEntry ( )
overridedefault

Member Function Documentation

◆ accept()

void LIEF::PE::ImportEntry::accept ( Visitor & visitor) const
overridevirtual

Implements LIEF::Object.

◆ data() [1/2]

uint64_t LIEF::PE::ImportEntry::data ( ) const
inline

Raw value.

Referenced by data(), hint_name_rva(), and ImportEntry().

◆ data() [2/2]

void LIEF::PE::ImportEntry::data ( uint64_t data)
inline

References data().

◆ demangled_name()

std::string LIEF::PE::ImportEntry::demangled_name ( ) const

Demangled representation of the symbol or an empty string if it can't be demangled.

◆ hint()

uint16_t LIEF::PE::ImportEntry::hint ( ) const
inline

Index into the Export::entries that is used to speed-up the symbol resolution.

◆ hint_name_rva()

uint64_t LIEF::PE::ImportEntry::hint_name_rva ( ) const
inline
See also
ImportEntry::data

References data().

◆ iat_address()

uint64_t LIEF::PE::ImportEntry::iat_address ( ) const
inline

Original address of the entry in the Import Address Table

Referenced by operator<<.

◆ iat_value()

uint64_t LIEF::PE::ImportEntry::iat_value ( ) const
inline

Value of the current entry in the Import Address Table. It should match the lookup table value.

◆ ilt_value()

uint64_t LIEF::PE::ImportEntry::ilt_value ( ) const
inline

Original value in the import lookup table. This value should match the iat_value().

◆ is_ordinal()

bool LIEF::PE::ImportEntry::is_ordinal ( ) const

True if it is an import by ordinal

Referenced by ordinal().

◆ operator=()

ImportEntry & LIEF::PE::ImportEntry::operator= ( const ImportEntry & )
default

References ImportEntry().

◆ ordinal()

uint16_t LIEF::PE::ImportEntry::ordinal ( ) const
inline

The ordinal value.

References is_ordinal().


The documentation for this class was generated from the following file: