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

OpenProcessToken,LookupPrivilegeValue,AdjustTokenPrivileges提升进程权限

时间:2015-06-17 01:55:06      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:进程权限提升

对于一些运行的程序,我们希望它们能尽可能的像操作系统能做的事情一样多,但是操作系统对于每个进程都有权限划分,那么此时我们就需要对期望中的进程进行提升权限,查看MSDN和一些其他资料之后,写了个可用于提升进程权限的函数,可被用在程序中直接调用。代码如下:

//传入Privileges参数,用于取得想要获取的权限
//查看MSDN的LookupPrivilegeValue函数宏定义权限表可自行修改;
BOOL GetPrivilege(TCHAR* Privileges)   
{   
    HANDLE hToken;
    TOKEN_PRIVILEGES tkp;
    LUID namevalue;
    if(!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hToken))
    {
        return FALSE;
    }
    if(!LookupPrivilegeValue(NULL, Privileges, &namevalue))
    {
        CloseHandle(hToken);
        return FALSE;
    }
    tkp.PrivilegeCount = 1;
    tkp.Privileges[0].Luid = namevalue;
    tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
    if(!AdjustTokenPrivileges(hToken, FALSE, &tkp, sizeof(tkp), NULL, NULL))
    {
        CloseHandle(hToken);
        return FALSE;
    }
    CloseHandle(hToken);
    if(GetLastError() == ERROR_NOT_ALL_ASSIGNED)
    {
        return FALSE;
    }
    return TRUE;
}


本文出自 “开心就好” 博客,请务必保留此出处http://11611854.blog.51cto.com/5414664/1662560

OpenProcessToken,LookupPrivilegeValue,AdjustTokenPrivileges提升进程权限

标签:进程权限提升

原文地址:http://11611854.blog.51cto.com/5414664/1662560

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