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;
}  

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。