⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jwawinsvc.pas

📁 delphi NT本地API单元 用delphi写rootkit方便了。
💻 PAS
📖 第 1 页 / 共 5 页
字号:
{$ENDIF DYNAMIC_LINK}

{$IFDEF UNICODE}

{$IFDEF DYNAMIC_LINK}
var
  _CreateService: Pointer;

function CreateService;
begin
  GetProcedureAddress(_CreateService, advapi32, 'CreateServiceW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_CreateService]
  end;
end;
{$ELSE}
function CreateService; external advapi32 name 'CreateServiceW';
{$ENDIF DYNAMIC_LINK}
{$ELSE}

{$IFDEF DYNAMIC_LINK}
var
  _CreateService: Pointer;

function CreateService;
begin
  GetProcedureAddress(_CreateService, advapi32, 'CreateServiceA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_CreateService]
  end;
end;
{$ELSE}
function CreateService; external advapi32 name 'CreateServiceA';
{$ENDIF DYNAMIC_LINK}
{$ENDIF}


{$IFDEF DYNAMIC_LINK}
var
  _DeleteService: Pointer;

function DeleteService;
begin
  GetProcedureAddress(_DeleteService, advapi32, 'DeleteService');
  asm
    mov esp, ebp
    pop ebp
    jmp [_DeleteService]
  end;
end;
{$ELSE}
function DeleteService; external advapi32 name 'DeleteService';
{$ENDIF DYNAMIC_LINK}


{$IFDEF DYNAMIC_LINK}
var
  _EnumDependentServicesA: Pointer;

function EnumDependentServicesA;
begin
  GetProcedureAddress(_EnumDependentServicesA, advapi32, 'EnumDependentServicesA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_EnumDependentServicesA]
  end;
end;
{$ELSE}
function EnumDependentServicesA; external advapi32 name 'EnumDependentServicesA';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _EnumDependentServicesW: Pointer;

function EnumDependentServicesW;
begin
  GetProcedureAddress(_EnumDependentServicesW, advapi32, 'EnumDependentServicesW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_EnumDependentServicesW]
  end;
end;
{$ELSE}
function EnumDependentServicesW; external advapi32 name 'EnumDependentServicesW';
{$ENDIF DYNAMIC_LINK}

{$IFDEF UNICODE}

{$IFDEF DYNAMIC_LINK}
var
  _EnumDependentServices: Pointer;

function EnumDependentServices;
begin
  GetProcedureAddress(_EnumDependentServices, advapi32, 'EnumDependentServicesW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_EnumDependentServices]
  end;
end;
{$ELSE}
function EnumDependentServices; external advapi32 name 'EnumDependentServicesW';
{$ENDIF DYNAMIC_LINK}
{$ELSE}

{$IFDEF DYNAMIC_LINK}
var
  _EnumDependentServices: Pointer;

function EnumDependentServices;
begin
  GetProcedureAddress(_EnumDependentServices, advapi32, 'EnumDependentServicesA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_EnumDependentServices]
  end;
end;
{$ELSE}
function EnumDependentServices; external advapi32 name 'EnumDependentServicesA';
{$ENDIF DYNAMIC_LINK}
{$ENDIF}


{$IFDEF DYNAMIC_LINK}
var
  _EnumServicesStatusA: Pointer;

function EnumServicesStatusA;
begin
  GetProcedureAddress(_EnumServicesStatusA, advapi32, 'EnumServicesStatusA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_EnumServicesStatusA]
  end;
end;
{$ELSE}
function EnumServicesStatusA; external advapi32 name 'EnumServicesStatusA';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _EnumServicesStatusW: Pointer;

function EnumServicesStatusW;
begin
  GetProcedureAddress(_EnumServicesStatusW, advapi32, 'EnumServicesStatusW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_EnumServicesStatusW]
  end;
end;
{$ELSE}
function EnumServicesStatusW; external advapi32 name 'EnumServicesStatusW';
{$ENDIF DYNAMIC_LINK}

{$IFDEF UNICODE}

{$IFDEF DYNAMIC_LINK}
var
  _EnumServicesStatus: Pointer;

function EnumServicesStatus;
begin
  GetProcedureAddress(_EnumServicesStatus, advapi32, 'EnumServicesStatusW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_EnumServicesStatus]
  end;
end;
{$ELSE}
function EnumServicesStatus; external advapi32 name 'EnumServicesStatusW';
{$ENDIF DYNAMIC_LINK}
{$ELSE}

{$IFDEF DYNAMIC_LINK}
var
  _EnumServicesStatus: Pointer;

function EnumServicesStatus;
begin
  GetProcedureAddress(_EnumServicesStatus, advapi32, 'EnumServicesStatusA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_EnumServicesStatus]
  end;
end;
{$ELSE}
function EnumServicesStatus; external advapi32 name 'EnumServicesStatusA';
{$ENDIF DYNAMIC_LINK}
{$ENDIF}


{$IFDEF DYNAMIC_LINK}
var
  _EnumServicesStatusExA: Pointer;

function EnumServicesStatusExA;
begin
  GetProcedureAddress(_EnumServicesStatusExA, advapi32, 'EnumServicesStatusExA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_EnumServicesStatusExA]
  end;
end;
{$ELSE}
function EnumServicesStatusExA; external advapi32 name 'EnumServicesStatusExA';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _EnumServicesStatusExW: Pointer;

function EnumServicesStatusExW;
begin
  GetProcedureAddress(_EnumServicesStatusExW, advapi32, 'EnumServicesStatusExW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_EnumServicesStatusExW]
  end;
end;
{$ELSE}
function EnumServicesStatusExW; external advapi32 name 'EnumServicesStatusExW';
{$ENDIF DYNAMIC_LINK}

{$IFDEF UNICODE}

{$IFDEF DYNAMIC_LINK}
var
  _EnumServicesStatusEx: Pointer;

function EnumServicesStatusEx;
begin
  GetProcedureAddress(_EnumServicesStatusEx, advapi32, 'EnumServicesStatusExW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_EnumServicesStatusEx]
  end;
end;
{$ELSE}
function EnumServicesStatusEx; external advapi32 name 'EnumServicesStatusExW';
{$ENDIF DYNAMIC_LINK}
{$ELSE}

{$IFDEF DYNAMIC_LINK}
var
  _EnumServicesStatusEx: Pointer;

function EnumServicesStatusEx;
begin
  GetProcedureAddress(_EnumServicesStatusEx, advapi32, 'EnumServicesStatusExA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_EnumServicesStatusEx]
  end;
end;
{$ELSE}
function EnumServicesStatusEx; external advapi32 name 'EnumServicesStatusExA';
{$ENDIF DYNAMIC_LINK}
{$ENDIF}


{$IFDEF DYNAMIC_LINK}
var
  _GetServiceKeyNameA: Pointer;

function GetServiceKeyNameA;
begin
  GetProcedureAddress(_GetServiceKeyNameA, advapi32, 'GetServiceKeyNameA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_GetServiceKeyNameA]
  end;
end;
{$ELSE}
function GetServiceKeyNameA; external advapi32 name 'GetServiceKeyNameA';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _GetServiceKeyNameW: Pointer;

function GetServiceKeyNameW;
begin
  GetProcedureAddress(_GetServiceKeyNameW, advapi32, 'GetServiceKeyNameW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_GetServiceKeyNameW]
  end;
end;
{$ELSE}
function GetServiceKeyNameW; external advapi32 name 'GetServiceKeyNameW';
{$ENDIF DYNAMIC_LINK}

{$IFDEF UNICODE}

{$IFDEF DYNAMIC_LINK}
var
  _GetServiceKeyName: Pointer;

function GetServiceKeyName;
begin
  GetProcedureAddress(_GetServiceKeyName, advapi32, 'GetServiceKeyNameW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_GetServiceKeyName]
  end;
end;
{$ELSE}
function GetServiceKeyName; external advapi32 name 'GetServiceKeyNameW';
{$ENDIF DYNAMIC_LINK}
{$ELSE}

{$IFDEF DYNAMIC_LINK}
var
  _GetServiceKeyName: Pointer;

function GetServiceKeyName;
begin
  GetProcedureAddress(_GetServiceKeyName, advapi32, 'GetServiceKeyNameA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_GetServiceKeyName]
  end;
end;
{$ELSE}
function GetServiceKeyName; external advapi32 name 'GetServiceKeyNameA';
{$ENDIF DYNAMIC_LINK}
{$ENDIF}


{$IFDEF DYNAMIC_LINK}
var
  _GetServiceDisplayNameA: Pointer;

function GetServiceDisplayNameA;
begin
  GetProcedureAddress(_GetServiceDisplayNameA, advapi32, 'GetServiceDisplayNameA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_GetServiceDisplayNameA]
  end;
end;
{$ELSE}
function GetServiceDisplayNameA; external advapi32 name 'GetServiceDisplayNameA';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _GetServiceDisplayNameW: Pointer;

function GetServiceDisplayNameW;
begin
  GetProcedureAddress(_GetServiceDisplayNameW, advapi32, 'GetServiceDisplayNameW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_GetServiceDisplayNameW]
  end;
end;
{$ELSE}
function GetServiceDisplayNameW; external advapi32 name 'GetServiceDisplayNameW';
{$ENDIF DYNAMIC_LINK}

{$IFDEF UNICODE}

{$IFDEF DYNAMIC_LINK}
var
  _GetServiceDisplayName: Pointer;

function GetServiceDisplayName;
begin
  GetProcedureAddress(_GetServiceDisplayName, advapi32, 'GetServiceDisplayNameW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_GetServiceDisplayName]
  end;
end;
{$ELSE}
function GetServiceDisplayName; external advapi32 name 'GetServiceDisplayNameW';
{$ENDIF DYNAMIC_LINK}
{$ELSE}

{$IFDEF DYNAMIC_LINK}
var
  _GetServiceDisplayName: Pointer;

function GetServiceDisplayName;
begin
  GetProcedureAddress(_GetServiceDisplayName, advapi32, 'GetServiceDisplayNameA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_GetServiceDisplayName]
  end;
end;
{$ELSE}
function GetServiceDisplayName; external advapi32 name 'GetServiceDisplayNameA';
{$ENDIF DYNAMIC_LINK}
{$ENDIF}


{$IFDEF DYNAMIC_LINK}
var
  _LockServiceDatabase: Pointer;

function LockServiceDatabase;
begin
  GetProcedureAddress(_LockServiceDatabase, advapi32, 'LockServiceDatabase');
  asm
    mov esp, ebp
    pop ebp
    jmp [_LockServiceDatabase]
  end;
end;
{$ELSE}
function LockServiceDatabase; external advapi32 name 'LockServiceDatabase';
{$ENDIF DYNAMIC_LINK}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -