#include <DllLoader.h>
|
int | Parse () |
|
int | ResolveImports () |
|
void | AddExport (unsigned long ordinal, void *function, void *track_function=NULL) |
|
void | AddExport (char *sFunctionName, unsigned long ordinal, void *function, void *track_function=NULL) |
|
void | AddExport (char *sFunctionName, void *function, void *track_function=NULL) |
|
void | SetExports (Export *exports) |
|
void | PrintImportLookupTable (unsigned long ImportLookupTable_RVA) |
|
void | PrintImportTable (ImportDirTable_t *ImportDirTable) |
|
void | PrintExportTable (ExportDirTable_t *ExportDirTable) |
|
int | ResolveOrdinal (const char *, unsigned long, void **) |
|
int | ResolveName (const char *, char *, void **) |
|
const char * | ResolveReferencedDll (const char *dll) |
|
int | LoadExports () |
|
void | LoadSymbols () |
|
void | PrintStringTable (void) |
|
void | PrintSymbolTable (void) |
|
int | LoadCoffHModule (FILE *fp) |
|
int | LoadSymTable (FILE *fp) |
|
int | LoadStringTable (FILE *fp) |
|
int | LoadSections (FILE *fp) |
|
int | RVA2Section (unsigned long RVA) |
|
void * | RVA2Data (unsigned long RVA) |
|
unsigned long | Data2RVA (void *address) |
|
char * | GetStringTblIndex (int index) |
|
char * | GetStringTblOff (int Offset) |
|
char * | GetSymbolName (SymbolTable_t *sym) |
|
char * | GetSymbolName (int index) |
|
void | PerformFixups (void) |
|
◆ DllLoader()
DllLoader::DllLoader |
( |
const char * |
dll, |
|
|
bool |
track = false , |
|
|
bool |
bSystemDll = false , |
|
|
bool |
bLoadSymbols = false , |
|
|
Export * |
exports = NULL |
|
) |
| |
◆ ~DllLoader()
DllLoader::~DllLoader |
( |
| ) |
|
|
override |
◆ AddExport() [1/3]
void DllLoader::AddExport |
( |
char * |
sFunctionName, |
|
|
unsigned long |
ordinal, |
|
|
void * |
function, |
|
|
void * |
track_function = NULL |
|
) |
| |
|
protected |
◆ AddExport() [2/3]
void DllLoader::AddExport |
( |
char * |
sFunctionName, |
|
|
void * |
function, |
|
|
void * |
track_function = NULL |
|
) |
| |
|
protected |
◆ AddExport() [3/3]
void DllLoader::AddExport |
( |
unsigned long |
ordinal, |
|
|
void * |
function, |
|
|
void * |
track_function = NULL |
|
) |
| |
|
protected |
◆ GetExportByFunctionName()
Export * DllLoader::GetExportByFunctionName |
( |
const char * |
sFunctionName | ) |
|
◆ GetExportByOrdinal()
Export * DllLoader::GetExportByOrdinal |
( |
unsigned long |
ordinal | ) |
|
◆ GetHModule()
◆ HasSymbols()
bool DllLoader::HasSymbols |
( |
| ) |
|
|
inlineoverridevirtual |
◆ IsSystemDll()
bool DllLoader::IsSystemDll |
( |
| ) |
|
|
inlineoverridevirtual |
◆ Load()
◆ LoadExports()
int DllLoader::LoadExports |
( |
| ) |
|
|
protected |
- Todo:
- Validate all pointers are valid. Is a zero RVA valid or not? I'd guess not as it would point to the coff file header, thus not right.
◆ LoadSymbols()
void DllLoader::LoadSymbols |
( |
| ) |
|
|
protected |
◆ Parse()
◆ PrintExportTable()
◆ PrintImportLookupTable()
void DllLoader::PrintImportLookupTable |
( |
unsigned long |
ImportLookupTable_RVA | ) |
|
|
protected |
◆ PrintImportTable()
◆ ResolveExport()
int DllLoader::ResolveExport |
( |
const char * |
sName, |
|
|
void ** |
ptr, |
|
|
bool |
logging = true |
|
) |
| |
|
overridevirtual |
◆ ResolveImports()
int DllLoader::ResolveImports |
( |
void |
| ) |
|
|
protected |
◆ ResolveName()
int DllLoader::ResolveName |
( |
const char * |
sName, |
|
|
char * |
sFunction, |
|
|
void ** |
fixup |
|
) |
| |
|
protected |
◆ ResolveOrdinal() [1/2]
int DllLoader::ResolveOrdinal |
( |
const char * |
sName, |
|
|
unsigned long |
ordinal, |
|
|
void ** |
fixup |
|
) |
| |
|
protected |
◆ ResolveOrdinal() [2/2]
int DllLoader::ResolveOrdinal |
( |
unsigned long |
ordinal, |
|
|
void ** |
ptr |
|
) |
| |
|
overridevirtual |
◆ ResolveReferencedDll()
const char * DllLoader::ResolveReferencedDll |
( |
const char * |
dll | ) |
|
|
protected |
◆ SetExports()
◆ Unload()
void DllLoader::Unload |
( |
| ) |
|
|
overridevirtual |
◆ UnloadSymbols()
void DllLoader::UnloadSymbols |
( |
| ) |
|
|
staticprotected |
◆ ExportDirTable
◆ ImportDirTable
◆ m_bLoadSymbols
bool DllLoader::m_bLoadSymbols |
|
protected |
◆ m_bSystemDll
bool DllLoader::m_bSystemDll |
|
protected |
◆ m_bTrack
◆ m_bUnloadSymbols
bool DllLoader::m_bUnloadSymbols |
|
protected |
◆ m_pDlls
◆ m_pExportHead
◆ m_pStaticExports
Export* DllLoader::m_pStaticExports |
|
protected |
The documentation for this class was generated from the following files: