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);
}
DLL注入提升进程权限(有时还需要注入程序使用管理员权限运行)
最新推荐文章于 2023-08-13 12:20:10 发布