BOOL SetPrivilege()
{
HANDLE hToken;
TOKEN_PRIVILEGES NewState;
LUID luidPrivilegeLUID;
//获取进程令牌
if(!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hToken)||!LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &luidPrivilegeLUID))
{
printf("SetPrivilege Error\n");
return FALSE;
}
NewState.PrivilegeCount = 1;
NewState.Privileges[0].Luid = luidPrivilegeLUID;
NewState.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
//提示进程权限,注意该函数也可以改变线程的权限,如果hToken指向一个线程的令牌
if(!AdjustTokenPrivileges(hToken, FALSE, &NewState, NULL, NULL, NULL))
{
printf("AdjustTokenPrivilege Errro\n");
return FALSE;
}
return TRUE;
}提示进程SeDebugPriviLege权限
最新推荐文章于 2025-04-26 00:48:41 发布
本文介绍了一个使用C++实现的函数,用于在Windows系统中调整当前进程的权限,包括获取进程令牌、查找权限ID、设置权限状态并应用到进程中。
577

被折叠的 条评论
为什么被折叠?



