delphi Debug权限提升  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi Debug权限提升


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;

推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.048733949661255 seconds