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注入提升進程權限(有時還需要注入程序使用管理員權限運行)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.