Delphi 进程提权写法

Posted qianqing

tags:

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

 1 procedure debugs; stdcall;
 2 var
 3   NewState: TTokenPrivileges;
 4   lpLuid: Int64;
 5   ReturnLength: DWord;
 6   hAccessToken: THandle;
 7   a: Boolean;
 8 begin
 9 
10   a := OpenProcessToken(GetCurrentProcess, TOKEN_Adjust_Privileges,   //获取进程令牌,成功返回非0,失败返回0,
11     hAccessToken);
12   ShowMessage(BoolToStr(a) +            + IntToStr(GetLastError())); // a=0则失败,成功则getlasterror为0
13   LookupPrivilegeValue(nil, SeDebugPrivilege, lpLuid);               //debug权限
14   NewState.PrivilegeCount := 1;
15   NewState.Privileges[0].Luid := lpLuid;
16   NewState.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
17   ReturnLength := 0;
18   AdjustTokenPrivileges(hAccessToken, False, NewState, 0, nil, ReturnLength);  //提权函数
19 end;

 

以上是关于Delphi 进程提权写法的主要内容,如果未能解决你的问题,请参考以下文章