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

This is the base class for any IMAGE_DYNAMIC_RELOCATION32, IMAGE_DYNAMIC_RELOCATION32_V2, IMAGE_DYNAMIC_RELOCATION64, IMAGE_DYNAMIC_RELOCATION64_V2 dynamic relocations. More...

#include <DynamicRelocationBase.hpp>

Inheritance diagram for LIEF::PE::DynamicRelocation:

Public Types

enum  IMAGE_DYNAMIC_RELOCATION {
  RELOCATION_GUARD_RF_PROLOGUE = 1 , RELOCATION_GUARD_RF_EPILOGUE = 2 , RELOCATION_GUARD_IMPORT_CONTROL_TRANSFER = 3 , RELOCATION_GUARD_INDIR_CONTROL_TRANSFER = 4 ,
  RELOCATION_GUARD_SWITCHTABLE_BRANCH = 5 , RELOCATION_ARM64X = 6 , RELOCATION_FUNCTION_OVERRIDE = 7 , RELOCATION_ARM64_KERNEL_IMPORT_CALL_TRANSFER = 8 ,
  _RELOC_LAST_ENTRY
}
 Special symbol values as defined in link.exe - GetDVRTSpecialSymbolName More...
 

Public Member Functions

 DynamicRelocation ()=delete
 
 DynamicRelocation (uint32_t version)
 
 DynamicRelocation (const DynamicRelocation &)
 
DynamicRelocationoperator= (const DynamicRelocation &)
 
 DynamicRelocation (DynamicRelocation &&)
 
DynamicRelocationoperator= (DynamicRelocation &&)
 
virtual std::unique_ptr< DynamicRelocationclone () const =0
 
uint32_t version () const
 Version of the structure.
 
uint64_t symbol () const
 Symbol address. Some values have a special meaning (c.f. IMAGE_DYNAMIC_RELOCATION) and define how fixups are encoded.
 
const DynamicFixupfixups () const
 
DynamicFixupfixups ()
 Return fixups information, where the interpretation may depend on the symbol's value.
 
DynamicRelocationsymbol (uint64_t value)
 
DynamicRelocationfixups (std::unique_ptr< DynamicFixup > F)
 
virtual std::string to_string () const =0
 
template<class T >
Tas ()
 
template<class T >
const Tas () const
 
virtual ~DynamicRelocation ()
 

Detailed Description

This is the base class for any IMAGE_DYNAMIC_RELOCATION32, IMAGE_DYNAMIC_RELOCATION32_V2, IMAGE_DYNAMIC_RELOCATION64, IMAGE_DYNAMIC_RELOCATION64_V2 dynamic relocations.

Member Enumeration Documentation

◆ IMAGE_DYNAMIC_RELOCATION

Special symbol values as defined in link.exe - GetDVRTSpecialSymbolName

Enumerator
RELOCATION_GUARD_RF_PROLOGUE 

Mirror IMAGE_DYNAMIC_RELOCATION_GUARD_RF_PROLOGUE

RELOCATION_GUARD_RF_EPILOGUE 

Mirror IMAGE_DYNAMIC_RELOCATION_GUARD_RF_EPILOGUE

RELOCATION_GUARD_IMPORT_CONTROL_TRANSFER 

Mirror IMAGE_DYNAMIC_RELOCATION_GUARD_IMPORT_CONTROL_TRANSFER

RELOCATION_GUARD_INDIR_CONTROL_TRANSFER 

Mirror IMAGE_DYNAMIC_RELOCATION_GUARD_INDIR_CONTROL_TRANSFER

RELOCATION_GUARD_SWITCHTABLE_BRANCH 

Mirror IMAGE_DYNAMIC_RELOCATION_GUARD_SWITCHTABLE_BRANCH

RELOCATION_ARM64X 

Mirror IMAGE_DYNAMIC_RELOCATION_ARM64X

RELOCATION_FUNCTION_OVERRIDE 

Mirror IMAGE_DYNAMIC_RELOCATION_FUNCTION_OVERRIDE

RELOCATION_ARM64_KERNEL_IMPORT_CALL_TRANSFER 

Mirror IMAGE_DYNAMIC_RELOCATION_ARM64_KERNEL_IMPORT_CALL_TRANSFER

_RELOC_LAST_ENTRY 

Constructor & Destructor Documentation

◆ DynamicRelocation() [1/4]

LIEF::PE::DynamicRelocation::DynamicRelocation ( )
delete

◆ DynamicRelocation() [2/4]

LIEF::PE::DynamicRelocation::DynamicRelocation ( uint32_t version)

◆ DynamicRelocation() [3/4]

LIEF::PE::DynamicRelocation::DynamicRelocation ( const DynamicRelocation & )

◆ DynamicRelocation() [4/4]

LIEF::PE::DynamicRelocation::DynamicRelocation ( DynamicRelocation && )

◆ ~DynamicRelocation()

virtual LIEF::PE::DynamicRelocation::~DynamicRelocation ( )
virtual

Member Function Documentation

◆ as() [1/2]

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

References LIEF::PE::T.

◆ as() [2/2]

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

References LIEF::PE::T.

◆ clone()

virtual std::unique_ptr< DynamicRelocation > LIEF::PE::DynamicRelocation::clone ( ) const
pure virtual

◆ fixups() [1/3]

DynamicFixup * LIEF::PE::DynamicRelocation::fixups ( )
inline

Return fixups information, where the interpretation may depend on the symbol's value.

◆ fixups() [2/3]

const DynamicFixup * LIEF::PE::DynamicRelocation::fixups ( ) const
inline

◆ fixups() [3/3]

DynamicRelocation & LIEF::PE::DynamicRelocation::fixups ( std::unique_ptr< DynamicFixup > F)

◆ operator=() [1/2]

DynamicRelocation & LIEF::PE::DynamicRelocation::operator= ( const DynamicRelocation & )

◆ operator=() [2/2]

DynamicRelocation & LIEF::PE::DynamicRelocation::operator= ( DynamicRelocation && )

◆ symbol() [1/2]

uint64_t LIEF::PE::DynamicRelocation::symbol ( ) const
inline

Symbol address. Some values have a special meaning (c.f. IMAGE_DYNAMIC_RELOCATION) and define how fixups are encoded.

◆ symbol() [2/2]

DynamicRelocation & LIEF::PE::DynamicRelocation::symbol ( uint64_t value)
inline

◆ to_string()

virtual std::string LIEF::PE::DynamicRelocation::to_string ( ) const
pure virtual

◆ version()

uint32_t LIEF::PE::DynamicRelocation::version ( ) const
inline

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