这三个函数主要用来提升进程的权限
1 OpenProcessToken()函数:获取进程的令牌句柄
OpenProcessToken的原型.
BOOL WINAPI OpenProcessToken(
__in HANDLE ProcessHandle,
__in DWORD DesiredAccess,
__out PHANDLE TokenHandle
);
第一个参数 进程句柄(当前进程为GetCurrentProcess()为参数)
第二个参数 访问令牌特权(可以参考msdnhttps://msdn.microsoft.com/zh-cn/library/aa374905)
第三个参数 令牌句柄 返回的参数 就是AdjustTokenPrivileges的第一个参数
2LookupPrivilegeValue()函数:
在认识这个函数之前我们需要了解一下结构体
TOKEN_PRIVILEGES结构体
typedef struct _TOKEN_PRIVILEGES
{
DWORD PrivilegeCount;
LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY];
}TOKEN_PRIVILEGES;
第一个参数是个特权数组。
第二个参数是要修改的特权数目
LUID_AND_ATTRIBUTES 结构体
typedef struct _LUID_AND_ATTRIBUTES
{
LUID Luid;
DWORD Attributes;
} LUID_AND_ATTRIBUTES;
LookupPrivilegeValue的原型
BOOL WINAPI LookupPrivilegeValue(
__in