ULONG SymbolSize,
PVOID UserContext)
{
- if ((UINT)UserContext == -1)
+ if ((UINT_PTR)UserContext == -1)
{
printf("%s ", pSymInfo->Name);
}
{
if (!bX64)
{
- printf("%s@%d ", pSymInfo->Name, (UINT)UserContext);
+ printf("%s@%p ", pSymInfo->Name, UserContext);
}
else
{
- printf("%s <+ %d> ", pSymInfo->Name, (UINT)UserContext);
+ printf("%s <+ %p> ", pSymInfo->Name, UserContext);
}
}
return TRUE;
pW32pServiceTable = ImageSymToVa(hProcess, &Sym.Symbol, pModule, "W32pServiceTable");
pW32pServiceLimit = ImageSymToVa(hProcess, &Sym.Symbol, pModule, "W32pServiceLimit");
pW32pArgumentTable = ImageSymToVa(hProcess, &Sym.Symbol, pModule, "W32pArgumentTable");
-// printf("pW32pServiceTable = %p\n", pW32pServiceTable);
-// printf("pW32pServiceLimit = %p\n", pW32pServiceLimit);
-// printf("pW32pArgumentTable = %p\n", pW32pArgumentTable);
+ printf("pW32pServiceTable = %p\n", pW32pServiceTable);
+ printf("pW32pServiceLimit = %p\n", pW32pServiceLimit);
+ printf("pW32pArgumentTable = %p\n", pW32pArgumentTable);
if (!pW32pServiceTable || !pW32pServiceLimit || !pW32pArgumentTable)
{
for (i = 0; i < dwServiceLimit; i++)
{
printf("0x%x:", i+0x1000);
- SymEnumSymbolsForAddr(hProcess, (DWORD64)pdwEntries32[i], EnumSymbolsProc, (PVOID)(DWORD)pW32pArgumentTable[i]);
+ SymEnumSymbolsForAddr(hProcess, (DWORD64)pdwEntries32[i], EnumSymbolsProc, (PVOID)(DWORD_PTR)pW32pArgumentTable[i]);
printf("\n");
}
}
for (i = 0; i < dwServiceLimit; i++)
{
printf("0x%x:", i+0x1000);
- SymEnumSymbolsForAddr(hProcess, (DWORD64)pdwEntries64[i], EnumSymbolsProc, (PVOID)(DWORD)pW32pArgumentTable[i]);
+ SymEnumSymbolsForAddr(hProcess, (DWORD64)pdwEntries64[i], EnumSymbolsProc, (PVOID)(DWORD_PTR)pW32pArgumentTable[i]);
printf("\n");
}
}