📄 jwapatchapi.pas
字号:
{$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 + -