zoukankan      html  css  js  c++  java
  • 判断指定进程是否为x64的方法(在ntdll判断某个x64函数是否存在)

    [cpp] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    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

  • 相关阅读:
    springcloud随便写点
    简单的数组排序
    简单wait(),notify()方法
    热词
    mysql日期函数
    springboot和jsp,以及引入jquery
    用户,权限,角色的关系
    通过字节码获取到的方法
    数据库并发事物
    在spring的业务层获取request,response
  • 原文地址:https://www.cnblogs.com/findumars/p/5277576.html
Copyright © 2011-2022 走看看