|
| DllLoader (const char *dll, bool track=false, bool bSystemDll=false, bool bLoadSymbols=false, Export *exports=NULL) |
|
bool | Load () override |
|
void | Unload () override |
|
int | ResolveExport (const char *, void **ptr, bool logging=true) override |
|
int | ResolveOrdinal (unsigned long ordinal, void **ptr) override |
|
bool | HasSymbols () override |
|
bool | IsSystemDll () override |
|
HMODULE | GetHModule () override |
|
Export * | GetExportByFunctionName (const char *sFunctionName) |
|
Export * | GetExportByOrdinal (unsigned long ordinal) |
|
int | ParseCoff (FILE *fp) |
|
int | ParseHeaders (void *hModule) |
|
| LibraryLoader (const std::string &libraryFile) |
|
const char * | GetName () const |
|
const char * | GetFileName () const |
|
const char * | GetPath () const |
|
int | IncrRef () |
|
int | DecrRef () |
|
int | GetRef () |
|
|
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) |
|
|
ImportDirTable_t * | ImportDirTable |
|
ExportDirTable_t * | ExportDirTable |
|
bool | m_bTrack |
|
bool | m_bSystemDll |
|
bool | m_bLoadSymbols |
|
bool | m_bUnloadSymbols |
|
ExportEntry * | m_pExportHead |
|
Export * | m_pStaticExports |
|
LoadedList * | m_pDlls |
|
SymbolTable_t * | SymTable |
|
char * | StringTable |
|
char ** | SectionData |
|
unsigned long | EntryAddress |
|
int | NumberOfSymbols |
|
int | SizeOfStringTable |
|
int | NumOfDirectories |
|
int | NumOfSections |
|
int | FileHeaderOffset |
|
◆ 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.
The documentation for this class was generated from the following files:
- xbmc/cores/DllLoader/DllLoader.h
- xbmc/cores/DllLoader/DllLoader-linux.cpp
- xbmc/cores/DllLoader/DllLoader.cpp