zoukankan      html  css  js  c++  java
  • 提升进程权限为DEBUG权限

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

    一句话就把程序提升为DEBUG权限了,然后就可以随便结束其他进程了.

    好东西跟大家分享~!

    http://www.lsworks.net/article/9.html

  • 相关阅读:
    VSCode一键调用DOSBox运行MASM/TASM代码的自定义任务
    C# | VS2019连接MySQL的三种方法以及使用MySQL数据库教程
    Visual Studio 2019连接MySQL数据库详细教程
    Visual Studio 2022 激活码
    Python | 使用SVM支持向量机进行鸢尾花分类
    Python | __init__.py的神奇用法
    Java简单介绍及Java生态
    NoSQL:一个帝国的崛起
    学习哪门语言好
    浅析HTTP协议
  • 原文地址:https://www.cnblogs.com/findumars/p/4998992.html
Copyright © 2011-2022 走看看