判断指定进程是否为x64的方法(在ntdll判断某个x64函数是否存在)

Posted 朝闻道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了判断指定进程是否为x64的方法(在ntdll判断某个x64函数是否存在)相关的知识,希望对你有一定的参考价值。

[cpp] view plain copy
 
 技术分享技术分享
  1. BOOL IsWow64ProcessEx(HANDLE hProcess)  
  2. {  
  3.     // 如果系统是x86的,那么进程就不可能有x64  
  4.     bool isX86 = false;  
  5. #ifndef _WIN64  
  6.     isX86 = GetProcAddress(GetModuleHandle(TEXT("ntdll")), "NtWow64DebuggerCall") == nullptr ? TRUE : FALSE;  
  7. #endif  
  8.     if (isX86)  
  9.         return FALSE;  
  10.   
  11.     // 进程架构未知,系统是x64的,可以利用IsWow64Process函数判断  
  12.     typedef BOOL(WINAPI *ISWOW64PROCESS)(HANDLE, PBOOL);  
  13.     ISWOW64PROCESS fnIsWow64Process;  
  14.     BOOL isWow64 = TRUE;  
  15.     fnIsWow64Process = (ISWOW64PROCESS)GetProcAddress(GetModuleHandle(TEXT("kernel32")), "IsWow64Process");  
  16.     if (fnIsWow64Process != nullptr)  
  17.         fnIsWow64Process(hProcess, &isWow64);  
  18.     return !isWow64;  
  19. }  

 

先用OpenProcess打开目标进程,再把句柄传进去就OK了。

http://blog.csdn.net/aqtata/article/details/18361209

以上是关于判断指定进程是否为x64的方法(在ntdll判断某个x64函数是否存在)的主要内容,如果未能解决你的问题,请参考以下文章

Excel 判断某行是不是为空怎么写

JS 判断某变量是不是为某数组中的一个值 的几种方法

JAVA里判断某时间是否在当天中

shell脚本判断是不是有某进程在运行

Java编程练习之判断Java文件名是否正确,判断邮箱格式是否正确和统计指定字符串中某字符现的次数

判断是否为数组的 JavaScript 方法总结