转自: http://www.tinystrong.com/label/rtladjustprivilege

小时候爸爸告诉我,给进程提权要用 LookupPrivilegeValue()
长大了才知道给进程提权要用 RtlAdjustPrivilege()
这是为什么呢….

别着急,听咱慢慢跟您说: RtlAdjustPrivilege() 这玩意是在 NTDLL.DLL 里的一个不为人知的函数, MS没有公开,原因就是这玩意实在是太NB了, 以至于不需要任何其他函数的帮助,仅凭这一个函数就可以获得进程ACL的任意权限,真的是纯爷们! 下面是函数定义:

NTSTATUS RtlAdjustPrivilege(
  ULONG Privilege,
  BOOLEAN Enable,
  BOOLEAN CurrentThread,
  PBOOLEAN Enabled
)

用法也很简单:

#define SE_DEBUG_PRIVILEGE 0x14 //DEBUG 权限
int s;
RtlAdjustPrivilege(SE_DEBUG_PRIVILEGE,true,false,&s); //爷们函数

使用前请 LoadLibrary NTDLL 先!