c++ 进程权限的提升

时间:2023-03-09 05:37:04
c++ 进程权限的提升

//提升权限

void CManageProcessDlg::DebugPrivilege()

{

 HANDLE hToken = NULL;

 //打开当前进程的访问令牌

 int hRet = OpenProcessToken(GetCurrentProcess(),TOKEN_ALL_ACCESS,&hToken);

if( hRet)

 {

  TOKEN_PRIVILEGES tp;

  tp.PrivilegeCount = 1;

  //取得描述权限的LUID

  LookupPrivilegeValue(NULL,SE_DEBUG_NAME,&tp.Privileges[0].Luid);

  tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

  //调整访问令牌的权限

  AdjustTokenPrivileges(hToken,FALSE,&tp,sizeof(tp),NULL,NULL);

CloseHandle(hToken);

 }

}