Показать сообщение отдельно

  #2  
Старый 02.12.2006, 18:13
ProTeuS
HARDstasy
Регистрация: 26.11.2004
Сообщений: 1,367
Провел на форуме:
4226592

Репутация: 2175


Отправить сообщение для ProTeuS с помощью ICQ
По умолчанию

понравился, держи +8


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

const buf:array[0..2] of byte=($0,$84, $85);
const appname='1.exe';


var
Form1: TForm1;
i:cardinal;
sti:tstartupinfo;
lpPi:tprocessinformation;
h:HWND;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin

if not CreateProcess(nil,AppName,nil,nil,false,CREATE_NEW _CONSOLE or
NORMAL_PRIORITY_CLASS,nil,nil,StI,lpPI) then
begin
messageboxa(0,'Error patching!','Error',0);
halt(1);
end;
repeat
readprocessmemory(lppi.hProcess,pointer($004026EB) ,@buf[0],1,i);
until buf[0] = $0F;

suspendthread(lppi.hThread);

writeprocessmemory(lppi.hProcess,pointer($004026EC ),@buf[2],1,i); //JE

resumethread(lppi.hThread);
closehandle(lppi.hProcess);
halt;
end;

end.
 
Ответить с цитированием