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

📄 jwawinsvc.pas

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

{$IFDEF DYNAMIC_LINK}
var
  _NotifyBootConfigStatus: Pointer;

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


{$IFDEF DYNAMIC_LINK}
var
  _OpenSCManagerA: Pointer;

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

{$IFDEF DYNAMIC_LINK}
var
  _OpenSCManagerW: Pointer;

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

{$IFDEF UNICODE}

{$IFDEF DYNAMIC_LINK}
var
  _OpenSCManager: Pointer;

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

{$IFDEF DYNAMIC_LINK}
var
  _OpenSCManager: Pointer;

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


{$IFDEF DYNAMIC_LINK}
var
  _OpenServiceA: Pointer;

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

{$IFDEF DYNAMIC_LINK}
var
  _OpenServiceW: Pointer;

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

{$IFDEF UNICODE}

{$IFDEF DYNAMIC_LINK}
var
  _OpenService: Pointer;

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

{$IFDEF DYNAMIC_LINK}
var
  _OpenService: Pointer;

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


{$IFDEF DYNAMIC_LINK}
var
  _QueryServiceConfigA: Pointer;

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

{$IFDEF DYNAMIC_LINK}
var
  _QueryServiceConfigW: Pointer;

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

{$IFDEF UNICODE}

{$IFDEF DYNAMIC_LINK}
var
  _QueryServiceConfig: Pointer;

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

{$IFDEF DYNAMIC_LINK}
var
  _QueryServiceConfig: Pointer;

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


{$IFDEF DYNAMIC_LINK}
var
  _QueryServiceConfig2A: Pointer;

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

{$IFDEF DYNAMIC_LINK}
var
  _QueryServiceConfig2W: Pointer;

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

{$IFDEF UNICODE}

{$IFDEF DYNAMIC_LINK}
var
  _QueryServiceConfig2: Pointer;

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

{$IFDEF DYNAMIC_LINK}
var
  _QueryServiceConfig2: Pointer;

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


{$IFDEF DYNAMIC_LINK}
var
  _QueryServiceLockStatusA: Pointer;

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

{$IFDEF DYNAMIC_LINK}
var
  _QueryServiceLockStatusW: Pointer;

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

{$IFDEF UNICODE}

{$IFDEF DYNAMIC_LINK}
var
  _QueryServiceLockStatus: Pointer;

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

{$IFDEF DYNAMIC_LINK}
var
  _QueryServiceLockStatus: Pointer;

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


{$IFDEF DYNAMIC_LINK}
var
  _QueryServiceObjectSecurity: Pointer;

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

{$IFDEF DYNAMIC_LINK}
var
  _QueryServiceStatus: Pointer;

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

{$IFDEF DYNAMIC_LINK}
var
  _QueryServiceStatusEx: Pointer;

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


{$IFDEF DYNAMIC_LINK}
var
  _RegisterServiceCtrlHandlerA: Pointer;

functio

⌨️ 快捷键说明

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