进程权限

如果用户使用管理员这样的一个被授予高特权的账户登录,那么除了与这个账户对应的安全令牌之外,还会创建一个经过筛选的住处,
后者将只被授予标准用户的权限,这个筛选的令牌最后会与系统代表最终用户启动的所有进程关联。
taskmgr任务管理器点show process from all users,PID将变化,因为window只允许在进程边界上进行权限提升,一时进程启动,再要求更多的权限就已经迟了。
不过,一个未提升权限的进程可以生成一个提升权限的进程,再发出IPC调用。GetTokenInformation

希望被高度的里程继承什么权限,注以那种权限来启动VS。

生成带盾的EXE图标 独立生成UAC清单 *.manifest   Manifest Tool->Input and Output->Embed Manifest

 

//C:\\test\\testpromiss\\Debug\\testpromiss.exe

#include <iostream>

void main()
{
 std::cout<<"test token\n"<<std::endl;
 getchar();
}

//test project will run upon exe as administrator

#include <iostream>
#include <shlwapi.h> 

void evolation()
{
 SHELLEXECUTEINFO sei = { sizeof(SHELLEXECUTEINFO) };
 sei.lpVerb = L"runas";
 sei.lpFile = L"C:\\test\\testpromiss\\Debug\\testpromiss.exe";
 sei.nShow = SW_SHOWNORMAL;
 if( !ShellExecuteEx(&sei) )
 {
  DWORD dwle = GetLastError();
  if(dwle == ERROR_CANCELLED)
  {
   std::cout<<"deny allow"<<std::endl;
  }
  else if(dwle == ERROR_FILE_NOT_FOUND)
  {
   std::cout<<"exe not founed"<<std::endl;
  }
  else
  {
   std::cout<<"other fail"<<std::endl;
  }
 }
}

void main()
{
 evolation();
 getchar();

}


 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值