peview: Fix symbol imagebase
@@ -79,6 +79,23 @@ INT_PTR CALLBACK PvpPeCgfDlgProc(
PhSetListViewSubItem(lvHandle, lvItemIndex, 1, pointer);
// Resolve name based on public symbols
+
+ if (PvMappedImage.Magic == IMAGE_NT_OPTIONAL_HDR32_MAGIC)
+ {
+ if (!(symbol = PhGetSymbolFromAddress(
+ PvSymbolProvider,
+ (ULONG64)PTR_ADD_OFFSET(PvMappedImage.NtHeaders32->OptionalHeader.ImageBase, cfgFunctionEntry.Rva),
+ &symbolResolveLevel,
+ NULL,
+ &symbolName,
+ &displacement
+ )))
+ {
+ continue;
+ }
+ }
+ else
+ {
if (!(symbol = PhGetSymbolFromAddress(
PvSymbolProvider,
(ULONG64)PTR_ADD_OFFSET(PvMappedImage.NtHeaders->OptionalHeader.ImageBase, cfgFunctionEntry.Rva),
@@ -90,6 +107,7 @@ INT_PTR CALLBACK PvpPeCgfDlgProc(
{
continue;
}
+ }
switch (symbolResolveLevel)
{
