在网上也看到了一些提升进程令牌的函数但都不怎么好用,最后我还是从一个黑客后门程序的源代码中提取出了一个好的提升进程令牌的函数,不敢独享,跟大家分享下.那个后门真的写的很好... 

Hysia提示你: 

这个函数用在对付病毒的程序中效果很好,只有提升自身权限才能KILL掉病毒进程我曾写写出来尝试结束Winlogon进程,导致的结果是,我的电脑立刻蓝屏后重启!


//提升进程权限为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;


用法就不用说了吧,


procedure TForm1.FormCreate(Sender: TObject);


begin SetPrivilege; ...