VC进程提权

如果我们想读取目标进程中的内存 就需要将进程提权 否则访问失败。

下面是提权代码

#include <TlHelp32.h>   
  
/***************************************************/
/*  函数: 进程提权
/*  参数:HANDLE 目标进程句柄
/*	返回: 是否成功
/*  创建人:			日期				内容
/*	金胖胖		2015年2月27日		新建
/***************************************************/
bool ImprovePermission(HANDLE hProcessHandle)  
{  
    HANDLE  hToken = NULL;  //令牌指针
    LUID  luid  = {0};		//系统权限的特权值 结构体
    TOKEN_PRIVILEGES tp  = {0};  

    if(!::OpenProcessToken(hProcessHandle,TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken))
	{
		return false; 
	}

    if(!::LookupPrivilegeValue(NULL,SE_DEBUG_NAME,&luid)) 
	{  
        ::CloseHandle(hToken);  
        return false;  
    }  

    tp.PrivilegeCount  = 1;  
    tp.Privileges[0].Luid = luid;  
    tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;  
    ::AdjustTokenPrivileges(hToken,FALSE,&tp,sizeof(tp),NULL,NULL);  
    ::CloseHandle(hToken); 

	return true;
}  
原文地址:https://www.cnblogs.com/-jpp/p/4302699.html