mirror of
https://github.com/silverf0x/RpcView
synced 2026-06-08 17:26:38 +00:00
Merge branch 'master' of https://github.com/silverf0x/RpcView
This commit is contained in:
+1
-1
@@ -4,7 +4,7 @@ project(RpcView)
|
||||
|
||||
set(RPCVIEW_VERSION_MAJOR 0)
|
||||
set(RPCVIEW_VERSION_MINOR 2)
|
||||
set(RPCVIEW_VERSION_RELEASE 0)
|
||||
set(RPCVIEW_VERSION_RELEASE 1)
|
||||
|
||||
# configure a header file to pass some of the CMake settings to the source code
|
||||
configure_file (
|
||||
|
||||
+2
-2
@@ -19,7 +19,7 @@
|
||||
#pragma comment(lib,"Version.lib")
|
||||
#pragma comment(lib,"Userenv.lib")
|
||||
|
||||
#define MAX_SIMPLE_DICT_ENTRIES 0x400
|
||||
#define MAX_SIMPLE_DICT_ENTRIES 0x200
|
||||
#define RPC_MAX_ENDPOINT_PROTOCOL_SIZE 0x100
|
||||
#define RPC_MAX_ENDPOINT_NAME_SIZE 0x100
|
||||
#define RPC_MAX_DLL_NAME_SIZE 0x100
|
||||
@@ -191,7 +191,7 @@ BOOL WINAPI GetRpcServerAddressCallback(HANDLE hProcess, UINT Index, VOID PTR_T
|
||||
UNREFERENCED_PARAMETER(Index);
|
||||
|
||||
if (!ReadProcessMemory(hProcess,pSimpleDictEntry,&RpcInterface,sizeof(RpcInterface),NULL)) goto End;
|
||||
|
||||
|
||||
if ( (RpcInterface.RpcServerInterface.Length==sizeof(RPC_SERVER_INTERFACE_T)) &&
|
||||
(!memcmp(&RpcInterface.RpcServerInterface.TransferSyntax, &DceRpcSyntaxUuid, sizeof(DceRpcSyntaxUuid))))
|
||||
{
|
||||
|
||||
@@ -18,9 +18,13 @@ static UINT64 RPC_CORE_RUNTIME_VERSION[] = {
|
||||
0xA0000295A0132LL, //10.0.10586.306
|
||||
0xA0000380603E8LL, //10.0.14342.1000
|
||||
0xA000038190000LL, //10.0.14361.0
|
||||
0xA000038390000LL, //10.0.14393.0
|
||||
0xA000038390000LL, //10.0.14393.0
|
||||
0xA000038390052LL, //10.0.14393.82
|
||||
0xA00003AD70000LL //10.0.15063.138
|
||||
0xA00003AD70000LL, //10.0.15063.0
|
||||
0xA00003AD701BFLL, //10.0.15063.447
|
||||
0xA00003AD702A2LL, //10.0.15063.674
|
||||
0xA00003F6803E8LL, //10.0.16232.1000
|
||||
0xA00003FAB000FLL, //10.0.16299.15
|
||||
};
|
||||
|
||||
#ifdef _WIN64
|
||||
|
||||
@@ -17,9 +17,12 @@ static UINT64 RPC_CORE_RUNTIME_VERSION[] = {
|
||||
0xA0000295A0132LL, //10.0.10586.306
|
||||
0xA0000380603E8LL, //10.0.14342.1000
|
||||
0xA000038190000LL, //10.0.14361.0
|
||||
0xA000038390000LL, //10.0.14393.0
|
||||
0xA000038390052LL, //10.0.14393.82
|
||||
0xA00003AD70000LL //10.0.15063.138
|
||||
0xA000038390000LL, //10.0.14393.0
|
||||
0xA00003AD70000LL, //10.0.15063.0
|
||||
0xA00003AD701BFLL, //10.0.15063.447
|
||||
0xA00003AD702A2LL, //10.0.15063.674
|
||||
0xA00003F6803E8LL, //10.0.16232.1000
|
||||
0xA00003FAB000FLL, //10.0.16299.15
|
||||
};
|
||||
|
||||
#define RPC_CORE_DESCRIPTION "Windows 10 64bits runtime core"
|
||||
|
||||
@@ -444,7 +444,7 @@ void MainWindow_C::ConfigureSymbols()
|
||||
CurrentSymbolsPath,
|
||||
&bOk
|
||||
);
|
||||
if ( bOk && !NewSymbolsPath.isEmpty() )
|
||||
if ( bOk )
|
||||
{
|
||||
pSettings->setValue("SymbolsPath",NewSymbolsPath);
|
||||
SetEnvironmentVariableA("RpcViewSymbolPath",NewSymbolsPath.toAscii());
|
||||
|
||||
+16
-4
@@ -1,3 +1,4 @@
|
||||
#define _CRT_SECURE_NO_WARNINGS
|
||||
#include "Pdb.h"
|
||||
#include <conio.h>
|
||||
#include <Strsafe.h>
|
||||
@@ -80,8 +81,9 @@ End:
|
||||
BOOL WINAPI GetPdbFilePath(HANDLE hProcess, VOID* pModuleBase, UCHAR* pPdbPath, UINT PdbPathSize)
|
||||
{
|
||||
CV_INFO_PDB70 Pdb70Info;
|
||||
CHAR SymbolPath[MAX_PATH];
|
||||
BOOL bResult = FALSE;
|
||||
CHAR SymbolPath[MAX_PATH] = { 0 };
|
||||
CHAR NtSymbolPath[MAX_PATH] = { 0 };
|
||||
BOOL bResult = FALSE;
|
||||
|
||||
if (!GetModulePdbInfo(hProcess, pModuleBase, &Pdb70Info)) goto End;
|
||||
/*
|
||||
@@ -97,7 +99,18 @@ BOOL WINAPI GetPdbFilePath(HANDLE hProcess, VOID* pModuleBase, UCHAR* pPdbPath,
|
||||
}
|
||||
else
|
||||
{
|
||||
if (GetEnvironmentVariableA("RpcViewSymbolPath", SymbolPath, sizeof(SymbolPath)) == 0) goto End;
|
||||
int iResult;
|
||||
char* pStar = NULL;
|
||||
|
||||
if (GetEnvironmentVariableA("RpcViewSymbolPath", NtSymbolPath, sizeof(NtSymbolPath)) == 0)
|
||||
{
|
||||
if (GetEnvironmentVariableA("_NT_SYMBOL_PATH", NtSymbolPath, sizeof(NtSymbolPath)) == 0) goto End;
|
||||
}
|
||||
iResult = sscanf(NtSymbolPath, "srv*%259s", SymbolPath);
|
||||
if (iResult == 0) goto End;
|
||||
pStar = strchr(SymbolPath+4, '*');
|
||||
if (pStar != NULL) *pStar = 0;
|
||||
|
||||
StringCbPrintfA((STRSAFE_LPSTR)pPdbPath, PdbPathSize, "%s\\%s\\%08X%04X%04X%02X%02X%02X%02X%02X%02X%02X%02X%X\\%s",
|
||||
SymbolPath,
|
||||
Pdb70Info.PdbFileName,
|
||||
@@ -116,7 +129,6 @@ BOOL WINAPI GetPdbFilePath(HANDLE hProcess, VOID* pModuleBase, UCHAR* pPdbPath,
|
||||
Pdb70Info.PdbFileName
|
||||
);
|
||||
}
|
||||
//printf("pdb path: %s\n",pPdbPath);
|
||||
bResult = TRUE;
|
||||
End:
|
||||
return (bResult);
|
||||
|
||||
Reference in New Issue
Block a user