#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: