📄 maintester.pas
字号:
unit maintester;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
Button2: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
lib: thandle;
type Tautoasm=function(script: pchar; enable: boolean;allocid: pinteger):boolean; stdcall;
type Tinitialize=function(pid: dword; phandle: dword):boolean; stdcall;
type Treloadsymbolsandmodules=function:boolean; stdcall;
type Treloadmodulelistonly=function:boolean; stdcall;
var autoasm: tautoasm;
var initialize: Tinitialize;
var reloadsymbolsandmodules: Treloadsymbolsandmodules;
var reloadmodulelistonly: Treloadmodulelistonly;
var processhandle: dword;
processid: dword;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
lib:=loadlibrary('ceautoassembler.dll');
autoasm:=getprocaddress(lib,'CEAutoAsm');
initialize:=getprocaddress(lib,'CEInitialize');
reloadsymbolsandmodules:=getprocaddress(lib,'CEReloadSymbolsAndModules');
reloadmodulelistonly:=getprocaddress(lib,'CEReloadModuleListOnly');
processid:=getcurrentprocessid;
processhandle:=openprocess(process_all_access,true,processid);
initialize(processid,processhandle);
end;
procedure TForm1.Button1Click(Sender: TObject);
var x:integer;
i: integer;
begin
for i:=0 to 9999 do
begin
x:=-1;
autoasm(pchar(memo1.text),true,@x);
// autoasm('',false,@x);
end;
showmessage('id='+inttostr(x));
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
freelibrary(lib);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -