openprocess提升为测试权限

Posted hshy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了openprocess提升为测试权限相关的知识,希望对你有一定的参考价值。

BOOL  EnableDebugPrivilege()
{
	HANDLE hToken;
	BOOL fOk=FALSE;
	if(OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&hToken)) //Get Token
	{
		TOKEN_PRIVILEGES tp;
		tp.PrivilegeCount=1;
		if(!LookupPrivilegeValue(NULL,SE_DEBUG_NAME,&tp.Privileges[0].Luid))//Get Luid
			printf("Can‘t lookup privilege value.
");
		tp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;//这一句很关键,修改其属性为SE_PRIVILEGE_ENABLED
		if(!AdjustTokenPrivileges(hToken,FALSE,&tp,sizeof(tp),NULL,NULL))//Adjust Token
			printf("Can‘t adjust privilege value.
");
		fOk=(GetLastError()==ERROR_SUCCESS);
		CloseHandle(hToken);
	}
	return fOk;
}

  

以上是关于openprocess提升为测试权限的主要内容,如果未能解决你的问题,请参考以下文章

c++ 使用 OpenProcess() 提升 .exe 的权限

AdjustTokenPrivileges启用权限

Windows 调用OpenProcess失败

VsCode 代码片段-提升研发效率

VC++ 2008,OpenProcess 总是返回错误 5(拒绝访问)

十条jQuery代码片段助力Web开发效率提升