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

Class that represents an auxiliary symbol. More...

#include <AuxiliarySymbol.hpp>

Inheritance diagram for LIEF::PE::AuxiliarySymbol:

Public Types

enum class  TYPE {
  UNKNOWN = 0 , CLR_TOKEN , FUNC_DEF , BF_AND_EF ,
  WEAK_EXTERNAL , FILE , SEC_DEF
}
 Type discriminator for the subclasses. More...
 

Public Member Functions

 AuxiliarySymbol ()=default
 
 AuxiliarySymbol (std::vector< uint8_t > payload)
 
 AuxiliarySymbol (const AuxiliarySymbol &)=default
 
AuxiliarySymboloperator= (const AuxiliarySymbol &)=default
 
 AuxiliarySymbol (AuxiliarySymbol &&)=default
 
AuxiliarySymboloperator= (AuxiliarySymbol &&)=default
 
virtual std::unique_ptr< AuxiliarySymbolclone () const
 
 AuxiliarySymbol (TYPE ty)
 
TYPE type () const
 
span< const uint8_t > payload () const
 For unknown type only, return the raw representation of this symbol.
 
span< uint8_t > payload ()
 
virtual std::string to_string () const
 
virtual ~AuxiliarySymbol ()=default
 
template<class T >
const Tas () const
 Helper to downcast a AuxiliarySymbol into a concrete implementation.
 

Static Public Member Functions

static std::unique_ptr< AuxiliarySymbolparse (Symbol &sym, std::vector< uint8_t > payload)
 
static TYPE get_aux_type (const Symbol &sym)
 

Detailed Description

Class that represents an auxiliary symbol.

An auxiliary symbol has the same size as a regular LIEF::PE::Symbol (18 bytes) but its content depends on the the parent symbol.

Member Enumeration Documentation

◆ TYPE

Type discriminator for the subclasses.

Enumerator
UNKNOWN 
CLR_TOKEN 
FUNC_DEF 

Auxiliary Format 1 from the PE-COFF documentation.

BF_AND_EF 

Auxiliary Format 2: .bf and .ef Symbols from the PE-COFF documentation.

WEAK_EXTERNAL 

Auxiliary Format 3: Weak Externals from the PE-COFF documentation.

FILE 

Auxiliary Format 4: Files from the PE-COFF documentation.

SEC_DEF 

Auxiliary Format 5: Section Definitions from the PE-COFF documentation.

Constructor & Destructor Documentation

◆ AuxiliarySymbol() [1/5]

LIEF::PE::AuxiliarySymbol::AuxiliarySymbol ( )
default

◆ AuxiliarySymbol() [2/5]

LIEF::PE::AuxiliarySymbol::AuxiliarySymbol ( std::vector< uint8_t > payload)
inline

◆ AuxiliarySymbol() [3/5]

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

◆ AuxiliarySymbol() [4/5]

LIEF::PE::AuxiliarySymbol::AuxiliarySymbol ( AuxiliarySymbol && )
default

◆ AuxiliarySymbol() [5/5]

LIEF::PE::AuxiliarySymbol::AuxiliarySymbol ( TYPE ty)
inline

◆ ~AuxiliarySymbol()

virtual LIEF::PE::AuxiliarySymbol::~AuxiliarySymbol ( )
virtualdefault

Member Function Documentation

◆ as()

template<class T >
const T * LIEF::PE::AuxiliarySymbol::as ( ) const
inline

Helper to downcast a AuxiliarySymbol into a concrete implementation.

References LIEF::PE::T.

◆ clone()

◆ get_aux_type()

static TYPE LIEF::PE::AuxiliarySymbol::get_aux_type ( const Symbol & sym)
static

◆ operator=() [1/2]

AuxiliarySymbol & LIEF::PE::AuxiliarySymbol::operator= ( AuxiliarySymbol && )
default

◆ operator=() [2/2]

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

◆ parse()

static std::unique_ptr< AuxiliarySymbol > LIEF::PE::AuxiliarySymbol::parse ( Symbol & sym,
std::vector< uint8_t > payload )
static

◆ payload() [1/2]

span< uint8_t > LIEF::PE::AuxiliarySymbol::payload ( )
inline

◆ payload() [2/2]

span< const uint8_t > LIEF::PE::AuxiliarySymbol::payload ( ) const
inline

For unknown type only, return the raw representation of this symbol.

◆ to_string()

◆ type()


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