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

📄 jwapatchapi.pas

📁 比较全面的win32api开发包
💻 PAS
📖 第 1 页 / 共 3 页
字号:

{$IFDEF DYNAMIC_LINK}
var
  _ApplyPatchToFileExA: Pointer;

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

{$IFDEF DYNAMIC_LINK}
var
  _ApplyPatchToFileExW: Pointer;

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

{$IFDEF DYNAMIC_LINK}
var
  _ApplyPatchToFileByHandlesEx: Pointer;

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

{$IFDEF DYNAMIC_LINK}
var
  _GetFilePatchSignatureA: Pointer;

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

{$IFDEF DYNAMIC_LINK}
var
  _GetFilePatchSignatureW: Pointer;

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

{$IFDEF DYNAMIC_LINK}
var
  _GetFilePatchSignatureByHandle: Pointer;

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

{$IFDEF UNICODE}


{$IFDEF DYNAMIC_LINK}
var
  _CreatePatchFile: Pointer;

function CreatePatchFile;
begin
  GetProcedureAddress(_CreatePatchFile, patchapi, 'CreatePatchFileW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_CreatePatchFile]
  end;
end;
{$ELSE}
function CreatePatchFile; external patchapi name 'CreatePatchFileW';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _CreatePatchFileEx: Pointer;

function CreatePatchFileEx;
begin
  GetProcedureAddress(_CreatePatchFileEx, patchapi, 'CreatePatchFileExW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_CreatePatchFileEx]
  end;
end;
{$ELSE}
function CreatePatchFileEx; external patchapi name 'CreatePatchFileExW';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _ExtractPatchHeaderToFile: Pointer;

function ExtractPatchHeaderToFile;
begin
  GetProcedureAddress(_ExtractPatchHeaderToFile, patchapi, 'ExtractPatchHeaderToFileW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_ExtractPatchHeaderToFile]
  end;
end;
{$ELSE}
function ExtractPatchHeaderToFile; external patchapi name 'ExtractPatchHeaderToFileW';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _TestApplyPatchToFile: Pointer;

function TestApplyPatchToFile;
begin
  GetProcedureAddress(_TestApplyPatchToFile, patchapi, 'TestApplyPatchToFileW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_TestApplyPatchToFile]
  end;
end;
{$ELSE}
function TestApplyPatchToFile; external patchapi name 'TestApplyPatchToFileW';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _ApplyPatchToFile: Pointer;

function ApplyPatchToFile;
begin
  GetProcedureAddress(_ApplyPatchToFile, patchapi, 'ApplyPatchToFileW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_ApplyPatchToFile]
  end;
end;
{$ELSE}
function ApplyPatchToFile; external patchapi name 'ApplyPatchToFileW';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _ApplyPatchToFileEx: Pointer;

function ApplyPatchToFileEx;
begin
  GetProcedureAddress(_ApplyPatchToFileEx, patchapi, 'ApplyPatchToFileExW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_ApplyPatchToFileEx]
  end;
end;
{$ELSE}
function ApplyPatchToFileEx; external patchapi name 'ApplyPatchToFileExW';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _GetFilePatchSignature: Pointer;

function GetFilePatchSignature;
begin
  GetProcedureAddress(_GetFilePatchSignature, patchapi, 'GetFilePatchSignatureW');
  asm
    mov esp, ebp
    pop ebp
    jmp [_GetFilePatchSignature]
  end;
end;
{$ELSE}
function GetFilePatchSignature; external patchapi name 'GetFilePatchSignatureW';
{$ENDIF DYNAMIC_LINK}

{$ELSE}


{$IFDEF DYNAMIC_LINK}
var
  _CreatePatchFile: Pointer;

function CreatePatchFile;
begin
  GetProcedureAddress(_CreatePatchFile, patchapi, 'CreatePatchFileA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_CreatePatchFile]
  end;
end;
{$ELSE}
function CreatePatchFile; external patchapi name 'CreatePatchFileA';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _CreatePatchFileEx: Pointer;

function CreatePatchFileEx;
begin
  GetProcedureAddress(_CreatePatchFileEx, patchapi, 'CreatePatchFileExA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_CreatePatchFileEx]
  end;
end;
{$ELSE}
function CreatePatchFileEx; external patchapi name 'CreatePatchFileExA';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _ExtractPatchHeaderToFile: Pointer;

function ExtractPatchHeaderToFile;
begin
  GetProcedureAddress(_ExtractPatchHeaderToFile, patchapi, 'ExtractPatchHeaderToFileA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_ExtractPatchHeaderToFile]
  end;
end;
{$ELSE}
function ExtractPatchHeaderToFile; external patchapi name 'ExtractPatchHeaderToFileA';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _TestApplyPatchToFile: Pointer;

function TestApplyPatchToFile;
begin
  GetProcedureAddress(_TestApplyPatchToFile, patchapi, 'TestApplyPatchToFileA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_TestApplyPatchToFile]
  end;
end;
{$ELSE}
function TestApplyPatchToFile; external patchapi name 'TestApplyPatchToFileA';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _ApplyPatchToFile: Pointer;

function ApplyPatchToFile;
begin
  GetProcedureAddress(_ApplyPatchToFile, patchapi, 'ApplyPatchToFileA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_ApplyPatchToFile]
  end;
end;
{$ELSE}
function ApplyPatchToFile; external patchapi name 'ApplyPatchToFileA';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _ApplyPatchToFileEx: Pointer;

function ApplyPatchToFileEx;
begin
  GetProcedureAddress(_ApplyPatchToFileEx, patchapi, 'ApplyPatchToFileExA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_ApplyPatchToFileEx]
  end;
end;
{$ELSE}
function ApplyPatchToFileEx; external patchapi name 'ApplyPatchToFileExA';
{$ENDIF DYNAMIC_LINK}

{$IFDEF DYNAMIC_LINK}
var
  _GetFilePatchSignature: Pointer;

function GetFilePatchSignature;
begin
  GetProcedureAddress(_GetFilePatchSignature, patchapi, 'GetFilePatchSignatureA');
  asm
    mov esp, ebp
    pop ebp
    jmp [_GetFilePatchSignature]
  end;
end;
{$ELSE}
function GetFilePatchSignature; external patchapi name 'GetFilePatchSignatureA';
{$ENDIF DYNAMIC_LINK}

{$ENDIF}


end.

⌨️ 快捷键说明

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