30 (*isProcWow64) = FALSE;
32 if (!g_IsWow64Process) {
34 if (!kernelLib)
return FALSE;
36 FARPROC procPtr = GetProcAddress(kernelLib,
"IsWow64Process");
37 if (!procPtr)
return FALSE;
39 g_IsWow64Process = (
BOOL(WINAPI *)(IN HANDLE, OUT
PBOOL))procPtr;
41 if (!g_IsWow64Process) {
44 return g_IsWow64Process(processHandle, isProcWow64);
49 BOOL isScanner32bit = TRUE;
51 isScanner32bit = FALSE;
53 BOOL isScannerWow64 = FALSE;
56 const BOOL isSystem64bit = !isScanner32bit || isScannerWow64;
62 BOOL isProcessWow = FALSE;
76 if (!g_Wow64GetThreadContext) {
78 if (!kernelLib)
return FALSE;
81 if (!procPtr)
return FALSE;
83 g_Wow64GetThreadContext = (
BOOL(WINAPI*)(IN HANDLE, IN OUT PWOW64_CONTEXT))procPtr;
85 return g_Wow64GetThreadContext(hThread,
lpContext);
93 if (!g_Wow64DisableWow64FsRedirection) {
95 if (!kernelLib)
return FALSE;
97 FARPROC procPtr = GetProcAddress(kernelLib,
"Wow64DisableWow64FsRedirection");
98 if (!procPtr)
return FALSE;
100 g_Wow64DisableWow64FsRedirection = (
BOOL(WINAPI *) (OUT PVOID*))procPtr;
102 if (!g_Wow64DisableWow64FsRedirection) {
105 return g_Wow64DisableWow64FsRedirection(OldValue);
110 if (!g_Wow64RevertWow64FsRedirection) {
112 if (!kernelLib)
return FALSE;
114 FARPROC procPtr = GetProcAddress(kernelLib,
"Wow64RevertWow64FsRedirection");
115 if (!procPtr)
return FALSE;
117 g_Wow64RevertWow64FsRedirection = (
BOOL(WINAPI *) (IN PVOID))procPtr;
119 if (!g_Wow64RevertWow64FsRedirection) {
122 return g_Wow64RevertWow64FsRedirection(OldValue);
bool is_process_64bit(IN HANDLE process)
BOOL wow64_disable_fs_redirection(OUT PVOID *OldValue)
BOOL is_process_wow64(IN HANDLE processHandle, OUT BOOL *isProcWow64)
IN OUT PWOW64_CONTEXT lpContext
HMODULE get_kernel32_hndl()
BOOL(CALLBACK *_MiniDumpWriteDump)(HANDLE hProcess
BOOL wow64_get_thread_context(IN HANDLE hThread, IN OUT PWOW64_CONTEXT lpContext)
BOOL wow64_revert_fs_redirection(IN PVOID OldValue)
size_t fill_iat(BYTE *vBuf, size_t vBufSize, IN const peconv::ExportsMapper *exportsMap, IN OUT IATBlock &iat, IN ThunkFoundCallback *callback)