go my file uploader
This commit is contained in:
38
tools/peview/include/peview.h
Normal file
38
tools/peview/include/peview.h
Normal file
@@ -0,0 +1,38 @@
|
||||
#ifndef PEVIEW_H
|
||||
#define PEVIEW_H
|
||||
|
||||
#include <ph.h>
|
||||
#include <guisup.h>
|
||||
#include <prsht.h>
|
||||
#include "resource.h"
|
||||
|
||||
extern PPH_STRING PvFileName;
|
||||
|
||||
// peprp
|
||||
|
||||
VOID PvPeProperties(
|
||||
VOID
|
||||
);
|
||||
|
||||
// libprp
|
||||
|
||||
VOID PvLibProperties(
|
||||
VOID
|
||||
);
|
||||
|
||||
// misc
|
||||
|
||||
PPH_STRING PvResolveShortcutTarget(
|
||||
_In_ PPH_STRING ShortcutFileName
|
||||
);
|
||||
|
||||
VOID PvCopyListView(
|
||||
_In_ HWND ListViewHandle
|
||||
);
|
||||
|
||||
VOID PvHandleListViewNotifyForCopy(
|
||||
_In_ LPARAM lParam,
|
||||
_In_ HWND ListViewHandle
|
||||
);
|
||||
|
||||
#endif
|
||||
181
tools/peview/libprp.c
Normal file
181
tools/peview/libprp.c
Normal file
@@ -0,0 +1,181 @@
|
||||
/*
|
||||
* Process Hacker -
|
||||
* PE viewer
|
||||
*
|
||||
* Copyright (C) 2010 wj32
|
||||
*
|
||||
* This file is part of Process Hacker.
|
||||
*
|
||||
* Process Hacker is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Process Hacker is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Process Hacker. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <peview.h>
|
||||
#include <mapimg.h>
|
||||
#include <uxtheme.h>
|
||||
|
||||
INT_PTR CALLBACK PvpLibExportsDlgProc(
|
||||
_In_ HWND hwndDlg,
|
||||
_In_ UINT uMsg,
|
||||
_In_ WPARAM wParam,
|
||||
_In_ LPARAM lParam
|
||||
);
|
||||
|
||||
PH_MAPPED_ARCHIVE PvMappedArchive;
|
||||
|
||||
VOID PvLibProperties(
|
||||
VOID
|
||||
)
|
||||
{
|
||||
NTSTATUS status;
|
||||
PROPSHEETHEADER propSheetHeader = { sizeof(propSheetHeader) };
|
||||
PROPSHEETPAGE propSheetPage;
|
||||
HPROPSHEETPAGE pages[1];
|
||||
|
||||
status = PhLoadMappedArchive(PvFileName->Buffer, NULL, TRUE, &PvMappedArchive);
|
||||
|
||||
if (!NT_SUCCESS(status))
|
||||
{
|
||||
PhShowStatus(NULL, L"Unable to load the archive file", status, 0);
|
||||
return;
|
||||
}
|
||||
|
||||
propSheetHeader.dwFlags =
|
||||
PSH_NOAPPLYNOW |
|
||||
PSH_NOCONTEXTHELP |
|
||||
PSH_PROPTITLE;
|
||||
propSheetHeader.hwndParent = NULL;
|
||||
propSheetHeader.pszCaption = PvFileName->Buffer;
|
||||
propSheetHeader.nPages = 0;
|
||||
propSheetHeader.nStartPage = 0;
|
||||
propSheetHeader.phpage = pages;
|
||||
|
||||
// Exports page
|
||||
memset(&propSheetPage, 0, sizeof(PROPSHEETPAGE));
|
||||
propSheetPage.dwSize = sizeof(PROPSHEETPAGE);
|
||||
propSheetPage.pszTemplate = MAKEINTRESOURCE(IDD_LIBEXPORTS);
|
||||
propSheetPage.pfnDlgProc = PvpLibExportsDlgProc;
|
||||
pages[propSheetHeader.nPages++] = CreatePropertySheetPage(&propSheetPage);
|
||||
|
||||
PropertySheet(&propSheetHeader);
|
||||
|
||||
PhUnloadMappedArchive(&PvMappedArchive);
|
||||
}
|
||||
|
||||
INT_PTR CALLBACK PvpLibExportsDlgProc(
|
||||
_In_ HWND hwndDlg,
|
||||
_In_ UINT uMsg,
|
||||
_In_ WPARAM wParam,
|
||||
_In_ LPARAM lParam
|
||||
)
|
||||
{
|
||||
switch (uMsg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
{
|
||||
ULONG fallbackColumns[] = { 0, 1, 2, 3 };
|
||||
HWND lvHandle;
|
||||
PH_MAPPED_ARCHIVE_MEMBER member;
|
||||
PH_MAPPED_ARCHIVE_IMPORT_ENTRY importEntry;
|
||||
|
||||
PhCenterWindow(GetParent(hwndDlg), NULL);
|
||||
|
||||
lvHandle = GetDlgItem(hwndDlg, IDC_LIST);
|
||||
PhSetListViewStyle(lvHandle, FALSE, TRUE);
|
||||
PhSetControlTheme(lvHandle, L"explorer");
|
||||
PhAddListViewColumn(lvHandle, 0, 0, 0, LVCFMT_LEFT, 60, L"DLL");
|
||||
PhAddListViewColumn(lvHandle, 1, 1, 1, LVCFMT_LEFT, 200, L"Name");
|
||||
PhAddListViewColumn(lvHandle, 2, 2, 2, LVCFMT_LEFT, 40, L"Ordinal/Hint");
|
||||
PhAddListViewColumn(lvHandle, 3, 3, 3, LVCFMT_LEFT, 40, L"Type");
|
||||
PhAddListViewColumn(lvHandle, 4, 4, 4, LVCFMT_LEFT, 60, L"Name type");
|
||||
PhSetExtendedListView(lvHandle);
|
||||
ExtendedListView_AddFallbackColumns(lvHandle, 4, fallbackColumns);
|
||||
|
||||
member = *PvMappedArchive.LastStandardMember;
|
||||
|
||||
while (NT_SUCCESS(PhGetNextMappedArchiveMember(&member, &member)))
|
||||
{
|
||||
if (NT_SUCCESS(PhGetMappedArchiveImportEntry(&member, &importEntry)))
|
||||
{
|
||||
INT lvItemIndex;
|
||||
PPH_STRING name;
|
||||
WCHAR number[PH_INT32_STR_LEN_1];
|
||||
PWSTR type;
|
||||
|
||||
name = PhZeroExtendToUtf16(importEntry.DllName);
|
||||
lvItemIndex = PhAddListViewItem(lvHandle, MAXINT, name->Buffer, NULL);
|
||||
PhDereferenceObject(name);
|
||||
|
||||
name = PhZeroExtendToUtf16(importEntry.Name);
|
||||
PhSetListViewSubItem(lvHandle, lvItemIndex, 1, name->Buffer);
|
||||
PhDereferenceObject(name);
|
||||
|
||||
// Ordinal is unioned with NameHint, so this works both ways.
|
||||
PhPrintUInt32(number, importEntry.Ordinal);
|
||||
PhSetListViewSubItem(lvHandle, lvItemIndex, 2, number);
|
||||
|
||||
switch (importEntry.Type)
|
||||
{
|
||||
case IMPORT_OBJECT_CODE:
|
||||
type = L"Code";
|
||||
break;
|
||||
case IMPORT_OBJECT_DATA:
|
||||
type = L"Data";
|
||||
break;
|
||||
case IMPORT_OBJECT_CONST:
|
||||
type = L"Const";
|
||||
break;
|
||||
default:
|
||||
type = L"Unknown";
|
||||
break;
|
||||
}
|
||||
|
||||
PhSetListViewSubItem(lvHandle, lvItemIndex, 3, type);
|
||||
|
||||
switch (importEntry.NameType)
|
||||
{
|
||||
case IMPORT_OBJECT_ORDINAL:
|
||||
type = L"Ordinal";
|
||||
break;
|
||||
case IMPORT_OBJECT_NAME:
|
||||
type = L"Name";
|
||||
break;
|
||||
case IMPORT_OBJECT_NAME_NO_PREFIX:
|
||||
type = L"Name, no prefix";
|
||||
break;
|
||||
case IMPORT_OBJECT_NAME_UNDECORATE:
|
||||
type = L"Name, undecorate";
|
||||
break;
|
||||
default:
|
||||
type = L"Unknown";
|
||||
break;
|
||||
}
|
||||
|
||||
PhSetListViewSubItem(lvHandle, lvItemIndex, 4, type);
|
||||
}
|
||||
}
|
||||
|
||||
ExtendedListView_SortItems(lvHandle);
|
||||
|
||||
EnableThemeDialogTexture(hwndDlg, ETDT_ENABLETAB);
|
||||
}
|
||||
break;
|
||||
case WM_NOTIFY:
|
||||
{
|
||||
PvHandleListViewNotifyForCopy(lParam, GetDlgItem(hwndDlg, IDC_LIST));
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
127
tools/peview/main.c
Normal file
127
tools/peview/main.c
Normal file
@@ -0,0 +1,127 @@
|
||||
/*
|
||||
* Process Hacker -
|
||||
* PE viewer
|
||||
*
|
||||
* Copyright (C) 2010 wj32
|
||||
*
|
||||
* This file is part of Process Hacker.
|
||||
*
|
||||
* Process Hacker is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Process Hacker is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Process Hacker. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include <peview.h>
|
||||
#include <objbase.h>
|
||||
|
||||
PPH_STRING PvFileName = NULL;
|
||||
|
||||
static BOOLEAN NTAPI PvCommandLineCallback(
|
||||
_In_opt_ PPH_COMMAND_LINE_OPTION Option,
|
||||
_In_opt_ PPH_STRING Value,
|
||||
_In_opt_ PVOID Context
|
||||
)
|
||||
{
|
||||
if (!Option)
|
||||
PhSwapReference(&PvFileName, Value);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static VOID PvpInitializeDpi(
|
||||
VOID
|
||||
)
|
||||
{
|
||||
HDC hdc;
|
||||
|
||||
if (hdc = GetDC(NULL))
|
||||
{
|
||||
PhGlobalDpi = GetDeviceCaps(hdc, LOGPIXELSY);
|
||||
ReleaseDC(NULL, hdc);
|
||||
}
|
||||
}
|
||||
|
||||
INT WINAPI wWinMain(
|
||||
_In_ HINSTANCE hInstance,
|
||||
_In_opt_ HINSTANCE hPrevInstance,
|
||||
_In_ PWSTR lpCmdLine,
|
||||
_In_ INT nCmdShow
|
||||
)
|
||||
{
|
||||
static PH_COMMAND_LINE_OPTION options[] =
|
||||
{
|
||||
{ 0, L"h", NoArgumentType }
|
||||
};
|
||||
PH_STRINGREF commandLine;
|
||||
|
||||
if (!NT_SUCCESS(PhInitializePhLibEx(0, 0, 0)))
|
||||
return 1;
|
||||
|
||||
PhGuiSupportInitialization();
|
||||
PvpInitializeDpi();
|
||||
|
||||
PhApplicationName = L"PE Viewer";
|
||||
|
||||
PhUnicodeStringToStringRef(&NtCurrentPeb()->ProcessParameters->CommandLine, &commandLine);
|
||||
|
||||
PhParseCommandLine(
|
||||
&commandLine,
|
||||
options,
|
||||
sizeof(options) / sizeof(PH_COMMAND_LINE_OPTION),
|
||||
PH_COMMAND_LINE_IGNORE_FIRST_PART,
|
||||
PvCommandLineCallback,
|
||||
NULL
|
||||
);
|
||||
|
||||
if (!PvFileName)
|
||||
{
|
||||
static PH_FILETYPE_FILTER filters[] =
|
||||
{
|
||||
{ L"Supported files (*.exe;*.dll;*.ocx;*.sys;*.scr;*.cpl;*.ax;*.acm;*.lib;*.winmd;*.efi)", L"*.exe;*.dll;*.ocx;*.sys;*.scr;*.cpl;*.ax;*.acm;*.lib;*.winmd;*.efi" },
|
||||
{ L"All files (*.*)", L"*.*" }
|
||||
};
|
||||
PVOID fileDialog;
|
||||
|
||||
CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
|
||||
|
||||
fileDialog = PhCreateOpenFileDialog();
|
||||
PhSetFileDialogFilter(fileDialog, filters, sizeof(filters) / sizeof(PH_FILETYPE_FILTER));
|
||||
|
||||
if (PhShowFileDialog(NULL, fileDialog))
|
||||
{
|
||||
PvFileName = PhGetFileDialogFileName(fileDialog);
|
||||
}
|
||||
|
||||
PhFreeFileDialog(fileDialog);
|
||||
}
|
||||
|
||||
if (!PvFileName)
|
||||
return 1;
|
||||
|
||||
if (PhEndsWithString2(PvFileName, L".lnk", TRUE))
|
||||
{
|
||||
PPH_STRING targetFileName;
|
||||
|
||||
CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
|
||||
targetFileName = PvResolveShortcutTarget(PvFileName);
|
||||
|
||||
if (targetFileName)
|
||||
PhMoveReference(&PvFileName, targetFileName);
|
||||
}
|
||||
|
||||
if (!PhEndsWithString2(PvFileName, L".lib", TRUE))
|
||||
PvPeProperties();
|
||||
else
|
||||
PvLibProperties();
|
||||
|
||||
return 0;
|
||||
}
|
||||
102
tools/peview/misc.c
Normal file
102
tools/peview/misc.c
Normal file
@@ -0,0 +1,102 @@
|
||||
/*
|
||||
* Process Hacker -
|
||||
* PE viewer
|
||||
*
|
||||
* Copyright (C) 2011 wj32
|
||||
*
|
||||
* This file is part of Process Hacker.
|
||||
*
|
||||
* Process Hacker is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Process Hacker is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Process Hacker. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#define CINTERFACE
|
||||
#define COBJMACROS
|
||||
#include <peview.h>
|
||||
#include <shobjidl.h>
|
||||
#undef CINTERFACE
|
||||
#undef COBJMACROS
|
||||
#include <cpysave.h>
|
||||
|
||||
static GUID CLSID_ShellLink_I = { 0x00021401, 0x0000, 0x0000, { 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46 } };
|
||||
static GUID IID_IShellLinkW_I = { 0x000214f9, 0x0000, 0x0000, { 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46 } };
|
||||
static GUID IID_IPersistFile_I = { 0x0000010b, 0x0000, 0x0000, { 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46 } };
|
||||
|
||||
PPH_STRING PvResolveShortcutTarget(
|
||||
_In_ PPH_STRING ShortcutFileName
|
||||
)
|
||||
{
|
||||
PPH_STRING targetFileName;
|
||||
IShellLinkW *shellLink;
|
||||
IPersistFile *persistFile;
|
||||
WCHAR path[MAX_PATH];
|
||||
|
||||
targetFileName = NULL;
|
||||
|
||||
if (SUCCEEDED(CoCreateInstance(&CLSID_ShellLink_I, NULL, CLSCTX_INPROC_SERVER, &IID_IShellLinkW_I, &shellLink)))
|
||||
{
|
||||
if (SUCCEEDED(IShellLinkW_QueryInterface(shellLink, &IID_IPersistFile_I, &persistFile)))
|
||||
{
|
||||
if (SUCCEEDED(IPersistFile_Load(persistFile, ShortcutFileName->Buffer, STGM_READ)) &&
|
||||
SUCCEEDED(IShellLinkW_Resolve(shellLink, NULL, SLR_NO_UI)))
|
||||
{
|
||||
if (SUCCEEDED(IShellLinkW_GetPath(shellLink, path, MAX_PATH, NULL, 0)))
|
||||
{
|
||||
targetFileName = PhCreateString(path);
|
||||
}
|
||||
}
|
||||
|
||||
IPersistFile_Release(persistFile);
|
||||
}
|
||||
|
||||
IShellLinkW_Release(shellLink);
|
||||
}
|
||||
|
||||
return targetFileName;
|
||||
}
|
||||
|
||||
// Copied from appsup.c
|
||||
|
||||
VOID PvCopyListView(
|
||||
_In_ HWND ListViewHandle
|
||||
)
|
||||
{
|
||||
PPH_STRING text;
|
||||
|
||||
text = PhGetListViewText(ListViewHandle);
|
||||
PhSetClipboardString(ListViewHandle, &text->sr);
|
||||
PhDereferenceObject(text);
|
||||
}
|
||||
|
||||
VOID PvHandleListViewNotifyForCopy(
|
||||
_In_ LPARAM lParam,
|
||||
_In_ HWND ListViewHandle
|
||||
)
|
||||
{
|
||||
if (((LPNMHDR)lParam)->hwndFrom == ListViewHandle && ((LPNMHDR)lParam)->code == LVN_KEYDOWN)
|
||||
{
|
||||
LPNMLVKEYDOWN keyDown = (LPNMLVKEYDOWN)lParam;
|
||||
|
||||
switch (keyDown->wVKey)
|
||||
{
|
||||
case 'C':
|
||||
if (GetKeyState(VK_CONTROL) < 0)
|
||||
PvCopyListView(ListViewHandle);
|
||||
break;
|
||||
case 'A':
|
||||
if (GetKeyState(VK_CONTROL) < 0)
|
||||
PhSetStateAllListViewItems(ListViewHandle, LVIS_SELECTED, LVIS_SELECTED);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
1003
tools/peview/peprp.c
Normal file
1003
tools/peview/peprp.c
Normal file
File diff suppressed because it is too large
Load Diff
43
tools/peview/peview.manifest
Normal file
43
tools/peview/peview.manifest
Normal file
@@ -0,0 +1,43 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
||||
<assemblyIdentity
|
||||
name="PE Viewer"
|
||||
processorArchitecture="*"
|
||||
version="2.0.0.0"
|
||||
type="win32"
|
||||
/>
|
||||
<description>PE Viewer</description>
|
||||
<dependency>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity
|
||||
type="win32"
|
||||
name="Microsoft.Windows.Common-Controls"
|
||||
version="6.0.0.0"
|
||||
processorArchitecture="*"
|
||||
publicKeyToken="6595b64144ccf1df"
|
||||
language="*"
|
||||
/>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<security>
|
||||
<requestedPrivileges>
|
||||
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
|
||||
</requestedPrivileges>
|
||||
</security>
|
||||
</trustInfo>
|
||||
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
||||
<application>
|
||||
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
|
||||
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
|
||||
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
|
||||
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
|
||||
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
|
||||
</application>
|
||||
</compatibility>
|
||||
<asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
|
||||
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
|
||||
<dpiAware>true</dpiAware>
|
||||
</asmv3:windowsSettings>
|
||||
</asmv3:application>
|
||||
</assembly>
|
||||
220
tools/peview/peview.rc
Normal file
220
tools/peview/peview.rc
Normal file
@@ -0,0 +1,220 @@
|
||||
// Microsoft Visual C++ generated resource script.
|
||||
//
|
||||
#include "resource.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
#include "winres.h"
|
||||
#include "../../ProcessHacker/include/phappres.h"
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// English (Australia) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENA)
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_AUS
|
||||
#pragma code_page(1252)
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE
|
||||
BEGIN
|
||||
"#include ""winres.h""\r\n"
|
||||
"#include ""../../ProcessHacker/include/phappres.h""\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE
|
||||
BEGIN
|
||||
"\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// DESIGNINFO
|
||||
//
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
GUIDELINES DESIGNINFO
|
||||
BEGIN
|
||||
IDD_PEGENERAL, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 293
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 273
|
||||
END
|
||||
|
||||
IDD_PEIMPORTS, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 293
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 273
|
||||
END
|
||||
|
||||
IDD_PEEXPORTS, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 293
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 273
|
||||
END
|
||||
|
||||
IDD_LIBEXPORTS, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 293
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 273
|
||||
END
|
||||
|
||||
IDD_PECLR, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 293
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 273
|
||||
END
|
||||
|
||||
IDD_PELOADCONFIG, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 293
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 273
|
||||
END
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Dialog
|
||||
//
|
||||
|
||||
IDD_PEGENERAL DIALOGEX 0, 0, 300, 280
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "General"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
LTEXT "Target machine:",IDC_STATIC,7,62,53,8
|
||||
LTEXT "Static",IDC_TARGETMACHINE,78,62,215,8
|
||||
LTEXT "Checksum:",IDC_STATIC,7,95,36,8
|
||||
LTEXT "Static",IDC_CHECKSUM,78,95,215,8
|
||||
LTEXT "Subsystem:",IDC_STATIC,7,106,38,8
|
||||
LTEXT "Subsystem version:",IDC_STATIC,7,117,64,8
|
||||
LTEXT "Characteristics:",IDC_STATIC,7,129,51,8
|
||||
LTEXT "Static",IDC_SUBSYSTEM,78,106,215,8
|
||||
LTEXT "Static",IDC_SUBSYSTEMVERSION,78,117,215,8
|
||||
CONTROL "",IDC_LIST,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,7,153,286,119
|
||||
LTEXT "Sections:",IDC_STATIC,7,143,30,8
|
||||
EDITTEXT IDC_CHARACTERISTICS,76,129,217,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER
|
||||
LTEXT "Time stamp:",IDC_STATIC,7,73,40,8
|
||||
LTEXT "Static",IDC_TIMESTAMP,78,73,215,8
|
||||
LTEXT "Image base:",IDC_STATIC,7,84,41,8
|
||||
LTEXT "Static",IDC_IMAGEBASE,78,84,215,8
|
||||
ICON "",IDC_FILEICON,14,18,20,20
|
||||
GROUPBOX "File",IDC_FILE,7,7,286,51
|
||||
EDITTEXT IDC_NAME,44,17,242,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER
|
||||
EDITTEXT IDC_COMPANYNAME,44,29,242,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER
|
||||
LTEXT "Version:",IDC_STATIC,15,41,27,8
|
||||
EDITTEXT IDC_VERSION,44,41,242,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER
|
||||
CONTROL "<a>Company Name Link</a>",IDC_COMPANYNAME_LINK,"SysLink",LWS_NOPREFIX | NOT WS_VISIBLE | WS_TABSTOP,46,29,240,9
|
||||
END
|
||||
|
||||
IDD_PEIMPORTS DIALOGEX 0, 0, 300, 280
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Imports"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
CONTROL "",IDC_LIST,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,7,7,286,266
|
||||
END
|
||||
|
||||
IDD_PEEXPORTS DIALOGEX 0, 0, 300, 280
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Exports"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
CONTROL "",IDC_LIST,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,7,7,286,266
|
||||
END
|
||||
|
||||
IDD_LIBEXPORTS DIALOGEX 0, 0, 300, 280
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Exports"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
CONTROL "",IDC_LIST,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,6,6,287,267
|
||||
END
|
||||
|
||||
IDD_PECLR DIALOGEX 0, 0, 300, 280
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "CLR"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
LTEXT "Runtime Version:",IDC_STATIC,7,7,55,8
|
||||
LTEXT "Static",IDC_RUNTIMEVERSION,78,7,215,8
|
||||
LTEXT "Flags:",IDC_STATIC,7,19,20,8
|
||||
EDITTEXT IDC_FLAGS,76,19,217,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER
|
||||
LTEXT "Version String:",IDC_STATIC,7,31,48,8
|
||||
LTEXT "Static",IDC_VERSIONSTRING,78,31,215,8
|
||||
END
|
||||
|
||||
IDD_PELOADCONFIG DIALOGEX 0, 0, 300, 280
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Load config"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
CONTROL "",IDC_LIST,"SysListView32",LVS_REPORT | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,7,7,286,266
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// RT_MANIFEST
|
||||
//
|
||||
|
||||
IDR_RT_MANIFEST RT_MANIFEST "peview.manifest"
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// AFX_DIALOG_LAYOUT
|
||||
//
|
||||
|
||||
IDD_PELOADCONFIG AFX_DIALOG_LAYOUT
|
||||
BEGIN
|
||||
0
|
||||
END
|
||||
|
||||
#endif // English (Australia) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
||||
221
tools/peview/peview.vcxproj
Normal file
221
tools/peview/peview.vcxproj
Normal file
@@ -0,0 +1,221 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{72C124A2-3C80-41C6-ABA1-C4948B713204}</ProjectGuid>
|
||||
<RootNamespace>peview</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<WindowsTargetPlatformVersion>10.0.10586.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectDir)obj\$(Configuration)$(PlatformArchitecture)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)obj\$(Configuration)$(PlatformArchitecture)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(ProjectDir)obj\$(Configuration)$(PlatformArchitecture)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)bin\$(Configuration)$(PlatformArchitecture)\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(ProjectDir)obj\$(Configuration)$(PlatformArchitecture)\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\phnt\include;..\..\phlib\include;include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_PHLIB_;_WINDOWS;WIN32;DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CallingConvention>StdCall</CallingConvention>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>phlib.lib;ntdll.lib;uxtheme.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\..\phlib\bin\$(Configuration)$(PlatformArchitecture);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalManifestDependencies>
|
||||
</AdditionalManifestDependencies>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<MinimumRequiredVersion>5.01</MinimumRequiredVersion>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\phnt\include;..\..\phlib\include;include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_PHLIB_;_WINDOWS;WIN64;DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CallingConvention>StdCall</CallingConvention>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>phlib.lib;ntdll.lib;uxtheme.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\..\phlib\bin\$(Configuration)$(PlatformArchitecture);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalManifestDependencies>
|
||||
</AdditionalManifestDependencies>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
<MinimumRequiredVersion>5.02</MinimumRequiredVersion>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\phnt\include;..\..\phlib\include;include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_PHLIB_;_WINDOWS;WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CallingConvention>StdCall</CallingConvention>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<EnableEnhancedInstructionSet>StreamingSIMDExtensions</EnableEnhancedInstructionSet>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>phlib.lib;ntdll.lib;uxtheme.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\..\phlib\bin\$(Configuration)$(PlatformArchitecture);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalManifestDependencies>
|
||||
</AdditionalManifestDependencies>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<SetChecksum>true</SetChecksum>
|
||||
<MinimumRequiredVersion>5.01</MinimumRequiredVersion>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<AdditionalIncludeDirectories>..\..\phnt\include;..\..\phlib\include;include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>_PHLIB_;_WINDOWS;WIN64;DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CallingConvention>StdCall</CallingConvention>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
<TreatWarningAsError>true</TreatWarningAsError>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>phlib.lib;ntdll.lib;uxtheme.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>..\..\phlib\bin\$(Configuration)$(PlatformArchitecture);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalManifestDependencies>
|
||||
</AdditionalManifestDependencies>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
<SetChecksum>true</SetChecksum>
|
||||
<MinimumRequiredVersion>5.02</MinimumRequiredVersion>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="libprp.c" />
|
||||
<ClCompile Include="main.c" />
|
||||
<ClCompile Include="misc.c" />
|
||||
<ClCompile Include="peprp.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="include\peview.h" />
|
||||
<ClInclude Include="resource.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="peview.rc" />
|
||||
<ResourceCompile Include="version.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\phlib\phlib.vcxproj">
|
||||
<Project>{477d0215-f252-41a1-874b-f27e3ea1ed17}</Project>
|
||||
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Manifest Include="peview.manifest" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
52
tools/peview/peview.vcxproj.filters
Normal file
52
tools/peview/peview.vcxproj.filters
Normal file
@@ -0,0 +1,52 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="libprp.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="main.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="peprp.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="misc.c">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="include\peview.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="resource.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="peview.rc">
|
||||
<Filter>Resource Files</Filter>
|
||||
</ResourceCompile>
|
||||
<ResourceCompile Include="version.rc">
|
||||
<Filter>Resource Files</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Manifest Include="peview.manifest">
|
||||
<Filter>Resource Files</Filter>
|
||||
</Manifest>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
41
tools/peview/resource.h
Normal file
41
tools/peview/resource.h
Normal file
@@ -0,0 +1,41 @@
|
||||
//{{NO_DEPENDENCIES}}
|
||||
// Microsoft Visual C++ generated include file.
|
||||
// Used by peview.rc
|
||||
//
|
||||
#define IDR_RT_MANIFEST 1
|
||||
#define IDD_PEGENERAL 102
|
||||
#define IDD_PEIMPORTS 103
|
||||
#define IDD_PEEXPORTS 104
|
||||
#define IDD_LIBEXPORTS 105
|
||||
#define IDD_PECLR 106
|
||||
#define IDD_PEEXPORTS1 107
|
||||
#define IDD_PELOADCONFIG 107
|
||||
#define IDC_TARGETMACHINE 1003
|
||||
#define IDC_CHECKSUM 1004
|
||||
#define IDC_SUBSYSTEM 1005
|
||||
#define IDC_SUBSYSTEMVERSION 1006
|
||||
#define IDC_CHARACTERISTICS 1007
|
||||
#define IDC_LIST 1008
|
||||
#define IDC_FILEICON 1009
|
||||
#define IDC_TIMESTAMP 1010
|
||||
#define IDC_RUNTIMEVERSION 1011
|
||||
#define IDC_FILE 1011
|
||||
#define IDC_FLAGS 1012
|
||||
#define IDC_COMPANYNAME 1012
|
||||
#define IDC_EDIT1 1013
|
||||
#define IDC_VERSION 1013
|
||||
#define IDC_VERSIONSTRING 1014
|
||||
#define IDC_IMAGEBASE 1015
|
||||
#define IDC_NAME 1044
|
||||
#define IDC_COMPANYNAME_LINK 1279
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 108
|
||||
#define _APS_NEXT_COMMAND_VALUE 40001
|
||||
#define _APS_NEXT_CONTROL_VALUE 1016
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
||||
35
tools/peview/version.rc
Normal file
35
tools/peview/version.rc
Normal file
@@ -0,0 +1,35 @@
|
||||
#include "winres.h"
|
||||
#include "../../ProcessHacker/include/phappres.h"
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION PHAPP_VERSION_NUMBER
|
||||
PRODUCTVERSION PHAPP_VERSION_NUMBER
|
||||
FILEFLAGSMASK 0x17L
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS 0x4L
|
||||
FILETYPE 0x1L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "0c0904b0"
|
||||
BEGIN
|
||||
VALUE "CompanyName", "wj32"
|
||||
VALUE "FileDescription", "PE Viewer"
|
||||
VALUE "FileVersion", PHAPP_VERSION_STRING
|
||||
VALUE "InternalName", "peview"
|
||||
VALUE "LegalCopyright", "Licensed under the GNU GPL, v3."
|
||||
VALUE "OriginalFilename", "peview.exe"
|
||||
VALUE "ProductName", "Process Hacker"
|
||||
VALUE "ProductVersion", PHAPP_VERSION_STRING
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0xc09, 1200
|
||||
END
|
||||
END
|
||||
Reference in New Issue
Block a user