编写函数,除去了所有特权,只留下SeChangeNotifyPrivilege和SeBackupPrivilege两项特权。
时间: 2024-03-23 15:39:20 浏览: 10
以下是一个示例函数,可以实现您所需的功能:
```c++
BOOL SetPrivileges(HANDLE hToken)
{
TOKEN_PRIVILEGES tp = { 0 };
LUID luid;
if (!LookupPrivilegeValue(NULL, SE_CHANGE_NOTIFY_NAME, &luid))
{
return FALSE;
}
tp.PrivilegeCount = 1;
tp.Privileges[0].Luid = luid;
tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
if (!AdjustTokenPrivileges(hToken, FALSE, &tp, sizeof(TOKEN_PRIVILEGES), NULL, NULL))
{
return FALSE;
}
if (!LookupPrivilegeValue(NULL, SE_BACKUP_NAME, &luid))
{
return FALSE;
}
tp.PrivilegeCount = 1;
tp.Privileges[0].Luid = luid;
tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
if (!AdjustTokenPrivileges(hToken, FALSE, &tp, sizeof(TOKEN_PRIVILEGES), NULL, NULL))
{
return FALSE;
}
return TRUE;
}
```
该函数将特权列表设置为只包含SeChangeNotifyPrivilege和SeBackupPrivilege。您需要传递一个有效的令牌句柄给这个函数,它将更新该句柄所代表的进程的特权列表。如果函数成功,则返回TRUE,否则返回FALSE。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![mp4](https://img-home.csdnimg.cn/images/20210720083504.png)