mirror of
https://github.com/mirror/processhacker
synced 2026-06-08 16:03:24 +00:00
d64a2ef343
git-svn-id: svn://svn.code.sf.net/p/processhacker/code@4351 21ef857c-d57f-4fe0-8362-d861dc6d29cd
59 lines
2.6 KiB
Diff
59 lines
2.6 KiB
Diff
Index: peprp.c
|
|
===================================================================
|
|
--- peprp.c (revision 4340)
|
|
+++ peprp.c (working copy)
|
|
@@ -2,7 +2,7 @@
|
|
* Process Hacker -
|
|
* PE viewer
|
|
*
|
|
- * Copyright (C) 2010 wj32
|
|
+ * Copyright (C) 2010-2011 wj32
|
|
*
|
|
* This file is part of Process Hacker.
|
|
*
|
|
@@ -69,6 +69,8 @@
|
|
PROPSHEETHEADER propSheetHeader = { sizeof(propSheetHeader) };
|
|
PROPSHEETPAGE propSheetPage;
|
|
HPROPSHEETPAGE pages[5];
|
|
+ PH_MAPPED_IMAGE_IMPORTS imports;
|
|
+ PH_MAPPED_IMAGE_EXPORTS exports;
|
|
PIMAGE_DATA_DIRECTORY entry;
|
|
|
|
status = PhLoadMappedImage(PvFileName->Buffer, NULL, TRUE, &PvMappedImage);
|
|
@@ -97,18 +99,25 @@
|
|
pages[propSheetHeader.nPages++] = CreatePropertySheetPage(&propSheetPage);
|
|
|
|
// Imports page
|
|
- memset(&propSheetPage, 0, sizeof(PROPSHEETPAGE));
|
|
- propSheetPage.dwSize = sizeof(PROPSHEETPAGE);
|
|
- propSheetPage.pszTemplate = MAKEINTRESOURCE(IDD_PEIMPORTS);
|
|
- propSheetPage.pfnDlgProc = PvpPeImportsDlgProc;
|
|
- pages[propSheetHeader.nPages++] = CreatePropertySheetPage(&propSheetPage);
|
|
+ if ((NT_SUCCESS(PhGetMappedImageImports(&imports, &PvMappedImage)) && imports.NumberOfDlls != 0) ||
|
|
+ (NT_SUCCESS(PhGetMappedImageDelayImports(&imports, &PvMappedImage)) && imports.NumberOfDlls != 0))
|
|
+ {
|
|
+ memset(&propSheetPage, 0, sizeof(PROPSHEETPAGE));
|
|
+ propSheetPage.dwSize = sizeof(PROPSHEETPAGE);
|
|
+ propSheetPage.pszTemplate = MAKEINTRESOURCE(IDD_PEIMPORTS);
|
|
+ propSheetPage.pfnDlgProc = PvpPeImportsDlgProc;
|
|
+ pages[propSheetHeader.nPages++] = CreatePropertySheetPage(&propSheetPage);
|
|
+ }
|
|
|
|
// Exports page
|
|
- memset(&propSheetPage, 0, sizeof(PROPSHEETPAGE));
|
|
- propSheetPage.dwSize = sizeof(PROPSHEETPAGE);
|
|
- propSheetPage.pszTemplate = MAKEINTRESOURCE(IDD_PEEXPORTS);
|
|
- propSheetPage.pfnDlgProc = PvpPeExportsDlgProc;
|
|
- pages[propSheetHeader.nPages++] = CreatePropertySheetPage(&propSheetPage);
|
|
+ if (NT_SUCCESS(PhGetMappedImageExports(&exports, &PvMappedImage)) && exports.NumberOfEntries != 0)
|
|
+ {
|
|
+ memset(&propSheetPage, 0, sizeof(PROPSHEETPAGE));
|
|
+ propSheetPage.dwSize = sizeof(PROPSHEETPAGE);
|
|
+ propSheetPage.pszTemplate = MAKEINTRESOURCE(IDD_PEEXPORTS);
|
|
+ propSheetPage.pfnDlgProc = PvpPeExportsDlgProc;
|
|
+ pages[propSheetHeader.nPages++] = CreatePropertySheetPage(&propSheetPage);
|
|
+ }
|
|
|
|
// Load Config page
|
|
if (NT_SUCCESS(PhGetMappedImageDataEntry(&PvMappedImage, IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG, &entry)) && entry->VirtualAddress)
|