码迷,mamicode.com
首页 > 系统相关 > 详细

VC进程提权

时间:2015-02-27 11:22:23      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:

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

下面是提权代码

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

 

VC进程提权

标签:

原文地址:http://www.cnblogs.com/-jpp/p/4302699.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!