📄 system.pas
字号:
unit System;
interface
procedure _InitExe;
procedure _HandleFinally;
procedure _halt0;
type
TGUID = record
D1: LongWord;
D2: Word;
D3: Word;
D4: array[0..7] of Byte;
end;
const
Kernel32 = 'kernel32.dll';
User32 = 'user32.dll';
UrlMonLib = 'URLMON.DLL';
var
HKernel32: LongWord;
HUser32: LongWord;
HUrlMonLib:LongWord;
type
TFNExitProcess = procedure(uExitCode: LongWord); stdcall;
var
ExitCode: LongWord;
ExitProcess: TFNExitProcess;
function LoadLibraryA(lpLibFileName: PAnsiChar): LongWord; stdcall;
function LoadLibraryW(lpLibFileName: PWideChar): LongWord; stdcall;
function LoadLibrary(lpLibFileName: PChar): LongWord; stdcall;
function GetProcAddress(hModule: LongWord; lpProcName: PChar): Pointer; stdcall;
implementation
function LoadLibraryA; external kernel32 name 'LoadLibraryA';
function LoadLibraryW; external kernel32 name 'LoadLibraryW';
function LoadLibrary; external kernel32 name 'LoadLibraryA';
function GetProcAddress; external kernel32 name 'GetProcAddress';
procedure _InitExe;
const
PExitProcess: PChar = 'ExitProcess';
PKernelModul: PChar = Kernel32;
PUserModul: PChar = User32;
PHUrlMonLib:Pchar =UrlMonLib;
asm
PUSH PExitProcess
PUSH PHUrlMonLib
CALL LoadLibrary
MOV HUrlMonLib, EAX
PUSH PUserModul
CALL LoadLibrary
MOV HUser32, EAX
PUSH PKernelModul
CALL LoadLibrary
MOV HKernel32, EAX
PUSH EAX
CALL GetProcAddress
MOV ExitProcess, EAX
end;
procedure _HandleFinally;
asm
end;
procedure _halt0;
asm
PUSH ExitCode
CALL ExitProcess
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -