summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
b37377e)
svn path=/trunk/; revision=71092
-#define MAX_SYMBOL_NAME 1024
-typedef struct _SYMINFO_EX
-{
- SYMBOL_INFO si;
- CHAR achName[MAX_SYMBOL_NAME];
-} SYMINFO_EX;
-
-typedef struct _SYMBOL64_EX
-{
- IMAGEHLP_SYMBOL64 sym64;
- CHAR achName[MAX_SYMBOL_NAME];
-} SYMBOL64_EX, *PSYMBOL64_EX;
typedef enum _PARAM_TYPES
{
typedef enum _PARAM_TYPES
{
- strcpy_s(szFullFileName, sizeof(szFullFileName), "%systemroot%\\system32");
+ strcpy_s(szFullFileName, sizeof(szFullFileName), "%systemroot%\\system32\\");
strcat_s(szFullFileName, sizeof(szFullFileName), pszModuleName);
hmod = LoadModuleWithSymbolsFullPath(szFullFileName);
if (hmod != NULL)
strcat_s(szFullFileName, sizeof(szFullFileName), pszModuleName);
hmod = LoadModuleWithSymbolsFullPath(szFullFileName);
if (hmod != NULL)
- /* Try SysWoW64 */
- strcpy_s(szFullFileName, sizeof(szFullFileName), "%systemroot%\\system32");
+ /* Try SysWOW64 */
+ strcpy_s(szFullFileName, sizeof(szFullFileName), "%systemroot%\\SysWOW64\\");
strcat_s(szFullFileName, sizeof(szFullFileName), pszModuleName);
hmod = LoadModuleWithSymbolsFullPath(szFullFileName);
if (hmod != NULL)
strcat_s(szFullFileName, sizeof(szFullFileName), pszModuleName);
hmod = LoadModuleWithSymbolsFullPath(szFullFileName);
if (hmod != NULL)
GetFunctionFromForwarder(
_In_ PCSTR pszForwarder)
{
GetFunctionFromForwarder(
_In_ PCSTR pszForwarder)
{
- CHAR szDllName[MAX_SYMBOL_NAME];
+ CHAR szDllName[MAX_SYM_NAME];
PCH pchDot, pszName;
ULONG64 ullFunction;
HMODULE hmod;
PCH pchDot, pszName;
ULONG64 ullFunction;
HMODULE hmod;
DWORD64 dwModuleBase;
ULONG i;
IMAGEHLP_STACK_FRAME StackFrame;
DWORD64 dwModuleBase;
ULONG i;
IMAGEHLP_STACK_FRAME StackFrame;
+ SYMBOL_INFO_PACKAGE sym;
dwModuleBase = (DWORD_PTR)hmod;
dwModuleBase = (DWORD_PTR)hmod;
RtlZeroMemory(&sym, sizeof(sym));
sym.si.SizeOfStruct = sizeof(SYMBOL_INFO);
RtlZeroMemory(&sym, sizeof(sym));
sym.si.SizeOfStruct = sizeof(SYMBOL_INFO);
- sym.si.MaxNameLen = MAX_SYMBOL_NAME;
+ sym.si.MaxNameLen = MAX_SYM_NAME;
/* Try to find the symbol */
if (!SymFromAddr(ghProcess, ullFunction, &ullDisplacement, &sym.si))
/* Try to find the symbol */
if (!SymFromAddr(ghProcess, ullFunction, &ullDisplacement, &sym.si))