进程权限的提升

VOID PromotePrivilege()
{
	HANDLE hToken = NULL;  //令牌句柄
	//获取需要提升权限的进程令牌      
						                                 //得到 当前进程句柄            所有权限
	BOOL IsOk = OpenProcessToken(GetCurrentProcess(),TOKEN_ALL_ACCESS,&hToken);
	if (IsOk == TRUE)
	{
		TOKEN_PRIVILEGES tp;

		tp.PrivilegeCount = 1;
		//使用LookupPrivilegeValue函数,根据权限的“名称字符串”
		//取得权限对应系统上的LUID。同一个权限在不同系统上的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);
	}
}

直接调用这个函数即可。

发布了37 篇原创文章 · 获赞 12 · 访问量 9258

猜你喜欢

转载自blog.csdn.net/weixin_43265881/article/details/103548709
今日推荐