Ładny brzuch

witam!

chcialem napisac wlasny loader w Delphi...
dziala on w ten sposob ze:
1. uruchamia jakis proces przez CreateProcess ale z parametrem suspend
2. zmienia okreslone adresu w pamieci (WriteProcessMemory)
3. wznawia dzialanie aplikacji (przez funkcjie API ResumeThread)

tylko nie wiem jak takie cus napisac :| (np jak uzyc plecenia CreateProcess zeby uruchomic proces [i do tego dac mu suspend])

pozdrawiam



Przykad na notatniku:procedure TForm1.Button1Click(Sender: TObject); var pi:tprocessinformation; si:startupinfo; buf, bs:pchar; r:cardinal; begin GetStartupInfo(si); CreateProcess('c:\windows\notepad.exe','',nil,nil,false,CREATE_SUSPENDED, nil,'c:\windows',si,pi); OpenProcess(PROCESS_ALL_ACCESS,false,pi.dwProcessId); bs:=ptr(16806813); buf:=#$6A#$40#$6A#$00#$68#$AD#$73#$00#$01#$6A#$ 00#$E8#$3D#$91#$D6#$76#$68#$65#$6C#$6C#$6F#$20#$ 77#$6F#$72#$6C#$64#$20#$3A#$29#$00; WriteProcessMemory(pi.hProcess,bs,buf,31,r); ResumeThread(pi.hThread); end;

dziala!! :-)

wielkie dzieki

a wiesz moze jak zrobic zeby podawac adres w szesnastkowym?


a wiesz moze jak zrobic zeby podawac adres w szesnastkowym?
ptr($adres_szesnastkowy);

:frusty:



omg jakie glupie pytanie :P (chyba nie wiedzialem co pisze)

btw wielkie dzieki wszystko dziala! xD

// a mam jeszcze takie pytanie...
jak program jest zpakowany i trzeba poczekac az sie rozpakuje i dopiero wtedy wprowadzic zmiany do pamieci?
Uytkownik tsukuyomi_reload edytowa ten post 30 sierpie 2006, 09:02
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •