1. 程式人生 > >Debug權限提升

Debug權限提升

begin pre cnblogs attr eval token ble spa ret

procedure SetPrivilege;
 
var
 
OldTokenPrivileges, TokenPrivileges: TTokenPrivileges;
 
ReturnLength: dword;
 
hToken: THandle;
 
Luid: int64;
 
begin
 
OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES, hToken);
 
LookupPrivilegeValue(nil, SeDebugPrivilege, Luid);
 
TokenPrivileges.Privileges[
0].luid := Luid; TokenPrivileges.PrivilegeCount := 1; TokenPrivileges.Privileges[0].Attributes := 0; AdjustTokenPrivileges(hToken, False, TokenPrivileges, SizeOf(TTokenPrivileges), OldTokenPrivileges, ReturnLength); OldTokenPrivileges.Privileges[0].luid := Luid; OldTokenPrivileges.PrivilegeCount :
= 1; OldTokenPrivileges.Privileges[0].Attributes := TokenPrivileges.Privileges[0].Attributes or SE_PRIVILEGE_ENABLED; AdjustTokenPrivileges(hToken, False, OldTokenPrivileges, ReturnLength, PTokenPrivileges(nil)^, ReturnLength); end;

http://www.delphi6.com/thread-3.htm

Debug權限提升