LIEF: Library to Instrument Executable Formats Version 0.17.0
|
Class that represents an auxiliary symbol. More...
#include <AuxiliarySymbol.hpp>
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 | |
AuxiliarySymbol & | operator= (const AuxiliarySymbol &)=default |
AuxiliarySymbol (AuxiliarySymbol &&)=default | |
AuxiliarySymbol & | operator= (AuxiliarySymbol &&)=default |
virtual std::unique_ptr< AuxiliarySymbol > | clone () 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 T * | as () const |
Helper to downcast a AuxiliarySymbol into a concrete implementation. | |
template<class T> | |
T * | as () |
Static Public Member Functions | |
static std::unique_ptr< AuxiliarySymbol > | parse (Symbol &sym, std::vector< uint8_t > payload) |
static TYPE | get_aux_type (const Symbol &sym) |
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.
|
strong |
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. |
|
default |
Referenced by as(), LIEF::COFF::AuxiliarybfAndefSymbol::AuxiliarybfAndefSymbol(), LIEF::COFF::AuxiliaryCLRToken::AuxiliaryCLRToken(), LIEF::COFF::AuxiliaryCLRToken::AuxiliaryCLRToken(), LIEF::COFF::AuxiliaryFile::AuxiliaryFile(), LIEF::COFF::AuxiliaryFile::AuxiliaryFile(), LIEF::COFF::AuxiliaryFunctionDefinition::AuxiliaryFunctionDefinition(), LIEF::COFF::AuxiliaryFunctionDefinition::AuxiliaryFunctionDefinition(), LIEF::COFF::AuxiliarySectionDefinition::AuxiliarySectionDefinition(), LIEF::COFF::AuxiliarySectionDefinition::AuxiliarySectionDefinition(), AuxiliarySymbol(), AuxiliarySymbol(), LIEF::COFF::AuxiliaryWeakExternal::AuxiliaryWeakExternal(), LIEF::COFF::AuxiliaryWeakExternal::AuxiliaryWeakExternal(), LIEF::COFF::AuxiliarybfAndefSymbol::classof(), LIEF::COFF::AuxiliaryCLRToken::classof(), LIEF::COFF::AuxiliaryFile::classof(), LIEF::COFF::AuxiliaryFunctionDefinition::classof(), LIEF::COFF::AuxiliarySectionDefinition::classof(), LIEF::COFF::AuxiliaryWeakExternal::classof(), clone(), operator<<, operator=(), and operator=().
|
inline |
|
default |
References AuxiliarySymbol().
|
default |
References AuxiliarySymbol().
|
inline |
|
virtualdefault |
|
inline |
References AuxiliarySymbol().
|
inline |
Helper to downcast a AuxiliarySymbol into a concrete implementation.
|
inlinevirtual |
|
default |
References AuxiliarySymbol(), and LIEF_LOCAL.
|
default |
References AuxiliarySymbol().
|
static |
References payload().
|
inline |
|
inline |
For unknown type only, return the raw representation of this symbol.
Referenced by AuxiliarySymbol(), LIEF::COFF::AuxiliarybfAndefSymbol::parse(), LIEF::COFF::AuxiliaryCLRToken::parse(), LIEF::COFF::AuxiliaryFile::parse(), LIEF::COFF::AuxiliaryFunctionDefinition::parse(), LIEF::COFF::AuxiliarySectionDefinition::parse(), parse(), and LIEF::COFF::AuxiliaryWeakExternal::parse().
|
virtual |
|
inline |