void SetToken()
{
HANDLE hToken;
if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
{
printf("打开进程的访问令牌失败\n");
return;
}
LUID luid;
if (!LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &luid))
{
printf("查看进程相关的特权信息失败\n");
CloseHandle(hToken);
return;
}
TOKEN_PRIVILEGES Privileges;
Privileges.PrivilegeCount = 1;
Privileges.Privileges[0].Luid = luid;
Privileges.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
if (!AdjustTokenPrivileges(hToken, FALSE, &Privileges, sizeof(Privileges), NULL, NULL))
{
printf("调整令牌特权失败\n");
CloseHandle(hToken);
return;
}
CloseHandle(hToken);
system("whoami");
}
windows API获取管理员权限
于 2023-03-06 11:40:22 首次发布