进程权限提升

// TestEnum.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include <iostream>
#include <Windows.h>
using namespace std;

int EnableDebugPri(const char* name) {

	HANDLE hToken;
	// 打开权限
	if(!OpenProcessToken(
		GetCurrentProcess(),
		TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY,
		&hToken
		)) 
	{
		cout << "error" << endl;
		return -1;
	}

	// 查询
	LUID luid;
	if(!LookupPrivilegeValue(NULL,name,&luid)) {
		cout << "error" << endl;
		return -1;
	}

	// 调整
	TOKEN_PRIVILEGES tp;
	tp.PrivilegeCount = 1;
	tp.Privileges[0].Luid = luid;
	tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
	if(!AdjustTokenPrivileges(hToken,FALSE,&tp,NULL,NULL,NULL)) {
		cout << "error" << endl;
		return -1;
	}
	cout << "succeed" << endl;
	return 0;
}



int main(int argc, char* argv[])
{
	
	EnableDebugPri(SE_DEBUG_NAME);
	return 0;
}

你可能感兴趣的:(进程权限提升)