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, const std::string &name="")
 
 ImportEntry (uint64_t data, PE_TYPE type, const std::string &name)
 
 ImportEntry (const std::string &name)
 
 ImportEntry (const std::string &name, PE_TYPE type)
 
 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 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 () 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)
 
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/6]

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

◆ ImportEntry() [2/6]

LIEF::PE::ImportEntry::ImportEntry ( uint64_t data,
const std::string & name = "" )

◆ ImportEntry() [3/6]

LIEF::PE::ImportEntry::ImportEntry ( uint64_t data,
PE_TYPE type,
const std::string & name )

◆ ImportEntry() [4/6]

LIEF::PE::ImportEntry::ImportEntry ( const std::string & name)

◆ ImportEntry() [5/6]

LIEF::PE::ImportEntry::ImportEntry ( const std::string & name,
PE_TYPE type )

◆ ImportEntry() [6/6]

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

◆ ~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.

◆ data() [2/2]

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

◆ 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

◆ iat_address()

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

Original address of the entry in the Import Address Table

◆ 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.

◆ is_ordinal()

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

True if it is an import by ordinal

◆ operator=()

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

◆ ordinal()

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

The ordinal value.


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