DBG: add OptionalHeader.AddressOfEntryPoint to the displayed symbols
This commit is contained in:
parent
b32c97507d
commit
5a4f15e9f5
|
@ -611,6 +611,12 @@ void GetModuleInfo(MODINFO & Info, ULONG_PTR FileMapVA)
|
|||
Info.entry = 0;
|
||||
}
|
||||
|
||||
// Setup the pseudo entry point symbol
|
||||
Info.entrySymbol.name = "OptionalHeader.AddressOfEntryPoint";
|
||||
Info.entrySymbol.forwarded = false;
|
||||
Info.entrySymbol.ordinal = 0;
|
||||
Info.entrySymbol.rva = moduleOEP;
|
||||
|
||||
// Enumerate all PE sections
|
||||
WORD sectionCount = Info.headers->FileHeader.NumberOfSections;
|
||||
Info.sections.clear();
|
||||
|
|
|
@ -91,6 +91,8 @@ struct MODINFO
|
|||
std::vector<MODRELOCATIONINFO> relocations;
|
||||
std::vector<duint> tlsCallbacks;
|
||||
|
||||
MODEXPORT entrySymbol;
|
||||
|
||||
std::vector<MODEXPORT> exports;
|
||||
DWORD exportOrdinalBase = 0; //ordinal - 'exportOrdinalBase' = index in 'exports'
|
||||
std::vector<size_t> exportsByName; //index in 'exports', sorted by export name
|
||||
|
|
|
@ -66,6 +66,15 @@ void SymEnum(duint Base, CBSYMBOLENUM EnumCallback, void* UserData)
|
|||
symbolptr.symbol = &modInfo->exports.at(i);
|
||||
cbData.cbSymbolEnum(&symbolptr, cbData.user);
|
||||
}
|
||||
|
||||
// Emit pseudo entry point symbol
|
||||
{
|
||||
SYMBOLPTR symbolptr;
|
||||
symbolptr.modbase = Base;
|
||||
symbolptr.symbol = &modInfo->entrySymbol;
|
||||
cbData.cbSymbolEnum(&symbolptr, cbData.user);
|
||||
}
|
||||
|
||||
for(size_t i = 0; i < modInfo->imports.size(); i++)
|
||||
{
|
||||
SYMBOLPTR symbolptr;
|
||||
|
@ -85,16 +94,6 @@ void SymEnum(duint Base, CBSYMBOLENUM EnumCallback, void* UserData)
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Emit pseudo entry point symbol
|
||||
/*SYMBOLINFO symbol;
|
||||
memset(&symbol, 0, sizeof(SYMBOLINFO));
|
||||
symbol.decoratedSymbol = "OptionalHeader.AddressOfEntryPoint";
|
||||
symbol.addr = ModEntryFromAddr(Base);
|
||||
if(symbol.addr)
|
||||
EnumCallback(&symbol, UserData);
|
||||
|
||||
SymEnumImports(Base, EnumCallback, cbData);*/
|
||||
}
|
||||
|
||||
void SymEnumFromCache(duint Base, CBSYMBOLENUM EnumCallback, void* UserData)
|
||||
|
|
Loading…
Reference in New Issue