📄 jwatlhelp32.pas
字号:
{$ENDIF}
implementation
const
kernel32 = 'kernel32.dll';
{$IFDEF DYNAMIC_LINK}
var
_CreateToolhelp32Snapshot: Pointer;
function CreateToolhelp32Snapshot;
begin
GetProcedureAddress(_CreateToolhelp32Snapshot, kernel32, 'CreateToolhelp32Snapshot');
asm
mov esp, ebp
pop ebp
jmp [_CreateToolhelp32Snapshot]
end;
end;
{$ELSE}
function CreateToolhelp32Snapshot; external kernel32 name 'CreateToolhelp32Snapshot';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_Heap32ListFirst: Pointer;
function Heap32ListFirst;
begin
GetProcedureAddress(_Heap32ListFirst, kernel32, 'Heap32ListFirst');
asm
mov esp, ebp
pop ebp
jmp [_Heap32ListFirst]
end;
end;
{$ELSE}
function Heap32ListFirst; external kernel32 name 'Heap32ListFirst';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_Heap32ListNext: Pointer;
function Heap32ListNext;
begin
GetProcedureAddress(_Heap32ListNext, kernel32, 'Heap32ListNext');
asm
mov esp, ebp
pop ebp
jmp [_Heap32ListNext]
end;
end;
{$ELSE}
function Heap32ListNext; external kernel32 name 'Heap32ListNext';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_Heap32First: Pointer;
function Heap32First;
begin
GetProcedureAddress(_Heap32First, kernel32, 'Heap32First');
asm
mov esp, ebp
pop ebp
jmp [_Heap32First]
end;
end;
{$ELSE}
function Heap32First; external kernel32 name 'Heap32First';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_Heap32Next: Pointer;
function Heap32Next;
begin
GetProcedureAddress(_Heap32Next, kernel32, 'Heap32Next');
asm
mov esp, ebp
pop ebp
jmp [_Heap32Next]
end;
end;
{$ELSE}
function Heap32Next; external kernel32 name 'Heap32Next';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_Toolhelp32ReadProcessMemory: Pointer;
function Toolhelp32ReadProcessMemory;
begin
GetProcedureAddress(_Toolhelp32ReadProcessMemory, kernel32, 'Toolhelp32ReadProcessMemory');
asm
mov esp, ebp
pop ebp
jmp [_Toolhelp32ReadProcessMemory]
end;
end;
{$ELSE}
function Toolhelp32ReadProcessMemory; external kernel32 name 'Toolhelp32ReadProcessMemory';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_Process32FirstW: Pointer;
function Process32FirstW;
begin
GetProcedureAddress(_Process32FirstW, kernel32, 'Process32FirstW');
asm
mov esp, ebp
pop ebp
jmp [_Process32FirstW]
end;
end;
{$ELSE}
function Process32FirstW; external kernel32 name 'Process32FirstW';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_Process32NextW: Pointer;
function Process32NextW;
begin
GetProcedureAddress(_Process32NextW, kernel32, 'Process32NextW');
asm
mov esp, ebp
pop ebp
jmp [_Process32NextW]
end;
end;
{$ELSE}
function Process32NextW; external kernel32 name 'Process32NextW';
{$ENDIF DYNAMIC_LINK}
{$IFDEF UNICODE}
{$IFDEF DYNAMIC_LINK}
var
_Process32First: Pointer;
function Process32First;
begin
GetProcedureAddress(_Process32First, kernel32, 'Process32FirstW');
asm
mov esp, ebp
pop ebp
jmp [_Process32First]
end;
end;
{$ELSE}
function Process32First; external kernel32 name 'Process32FirstW';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_Process32Next: Pointer;
function Process32Next;
begin
GetProcedureAddress(_Process32Next, kernel32, 'Process32NextW');
asm
mov esp, ebp
pop ebp
jmp [_Process32Next]
end;
end;
{$ELSE}
function Process32Next; external kernel32 name 'Process32NextW';
{$ENDIF DYNAMIC_LINK}
{$ELSE}
{$IFDEF DYNAMIC_LINK}
var
_Process32First: Pointer;
function Process32First;
begin
GetProcedureAddress(_Process32First, kernel32, 'Process32First');
asm
mov esp, ebp
pop ebp
jmp [_Process32First]
end;
end;
{$ELSE}
function Process32First; external kernel32 name 'Process32First';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_Process32Next: Pointer;
function Process32Next;
begin
GetProcedureAddress(_Process32Next, kernel32, 'Process32Next');
asm
mov esp, ebp
pop ebp
jmp [_Process32Next]
end;
end;
{$ELSE}
function Process32Next; external kernel32 name 'Process32Next';
{$ENDIF DYNAMIC_LINK}
{$ENDIF}
{$IFDEF DYNAMIC_LINK}
var
_Thread32First: Pointer;
function Thread32First;
begin
GetProcedureAddress(_Thread32First, kernel32, 'Thread32First');
asm
mov esp, ebp
pop ebp
jmp [_Thread32First]
end;
end;
{$ELSE}
function Thread32First; external kernel32 name 'Thread32First';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_Thread32Next: Pointer;
function Thread32Next;
begin
GetProcedureAddress(_Thread32Next, kernel32, 'Thread32Next');
asm
mov esp, ebp
pop ebp
jmp [_Thread32Next]
end;
end;
{$ELSE}
function Thread32Next; external kernel32 name 'Thread32Next';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_Module32FirstW: Pointer;
function Module32FirstW;
begin
GetProcedureAddress(_Module32FirstW, kernel32, 'Module32FirstW');
asm
mov esp, ebp
pop ebp
jmp [_Module32FirstW]
end;
end;
{$ELSE}
function Module32FirstW; external kernel32 name 'Module32FirstW';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_Module32NextW: Pointer;
function Module32NextW;
begin
GetProcedureAddress(_Module32NextW, kernel32, 'Module32NextW');
asm
mov esp, ebp
pop ebp
jmp [_Module32NextW]
end;
end;
{$ELSE}
function Module32NextW; external kernel32 name 'Module32NextW';
{$ENDIF DYNAMIC_LINK}
{$IFDEF UNICODE}
{$IFDEF DYNAMIC_LINK}
var
_Module32First: Pointer;
function Module32First;
begin
GetProcedureAddress(_Module32First, kernel32, 'Module32FirstW');
asm
mov esp, ebp
pop ebp
jmp [_Module32First]
end;
end;
{$ELSE}
function Module32First; external kernel32 name 'Module32FirstW';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_Module32Next: Pointer;
function Module32Next;
begin
GetProcedureAddress(_Module32Next, kernel32, 'Module32NextW');
asm
mov esp, ebp
pop ebp
jmp [_Module32Next]
end;
end;
{$ELSE}
function Module32Next; external kernel32 name 'Module32NextW';
{$ENDIF DYNAMIC_LINK}
{$ELSE}
{$IFDEF DYNAMIC_LINK}
var
_Module32First: Pointer;
function Module32First;
begin
GetProcedureAddress(_Module32First, kernel32, 'Module32First');
asm
mov esp, ebp
pop ebp
jmp [_Module32First]
end;
end;
{$ELSE}
function Module32First; external kernel32 name 'Module32First';
{$ENDIF DYNAMIC_LINK}
{$IFDEF DYNAMIC_LINK}
var
_Module32Next: Pointer;
function Module32Next;
begin
GetProcedureAddress(_Module32Next, kernel32, 'Module32Next');
asm
mov esp, ebp
pop ebp
jmp [_Module32Next]
end;
end;
{$ELSE}
function Module32Next; external kernel32 name 'Module32Next';
{$ENDIF DYNAMIC_LINK}
{$ENDIF}
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -