unit HookAPIUnit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
ListBox1: TListBox;
Label1: TLabel;
Button3: TButton;
Button4: TButton;
Button5: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
function MyMessageBox(hWnd: HWND; lpText, lpCaption: PAnsiChar; uType: UINT):Integer;
stdcall;
procedure EnableDebugPriviledge();
/////// EnableDebugPriviledge();函数在实验成功后已显多余,当时纯粹是考虑了可能出现的
权限不足的情况
implementation
var
oldAddressEntry:array[1..5]of Byte;
newAddressEntry:array[1..5]of Byte=($E9,$00,$00,$00,$00); ///////////修改前 5 字节 JMP