14.09.2012, 17:14
(Dieser Beitrag wurde zuletzt bearbeitet: 14.09.2012, 17:15 von iNvIcTUs oRCuS.)
Da hab ich dich schon richtig verstanden, aber irgendwie hatte ich mit meinem Handy nen Verbindungsabbruch und der Beitrag wurde widererwarten nicht gepostet...
Egal... Hier siehst Du ein Beispiel...
[code=Delphi]var
BaseAdress: PByte;
begin
BaseAdress:= VirtualAllocEx (hProcess, nil, 1000, Mem_Commit or Mem_Reserve, Page_Execute_ReadWrite);[/code]
Da die Basisadresse des zugewiesenen Speichers ja bekannt ist (BaseAdress) musst Du davon ausgehend auch wissen wo der Jump hinsoll. Nehmen wir mal an die Basis Adresse ist 10000000h und der Jump steht an Adresse 10000500h. Dann könntest Du das auch so verstehen das der Jump an "Basisadresse + 0x500h" steht.
Das wiederrum würde dann so aussehen...
[code=Delphi]WriteProcessMemory(hProcess, Pointer(BaseAdress+$500), lpBuffer, nSize, lpNumberOfBytesWritten);[/code]
grEEtZ sILeNt heLLsCrEAm
Egal... Hier siehst Du ein Beispiel...
[code=Delphi]var
BaseAdress: PByte;
begin
BaseAdress:= VirtualAllocEx (hProcess, nil, 1000, Mem_Commit or Mem_Reserve, Page_Execute_ReadWrite);[/code]
Da die Basisadresse des zugewiesenen Speichers ja bekannt ist (BaseAdress) musst Du davon ausgehend auch wissen wo der Jump hinsoll. Nehmen wir mal an die Basis Adresse ist 10000000h und der Jump steht an Adresse 10000500h. Dann könntest Du das auch so verstehen das der Jump an "Basisadresse + 0x500h" steht.
Das wiederrum würde dann so aussehen...
[code=Delphi]WriteProcessMemory(hProcess, Pointer(BaseAdress+$500), lpBuffer, nSize, lpNumberOfBytesWritten);[/code]
grEEtZ sILeNt heLLsCrEAm
Irren ist menschlich. Aber wer richtigen Mist bauen will, braucht einen Computer !!!
Traineranfragen per PM werden prinzipiell gelöscht...
Traineranfragen per PM werden prinzipiell gelöscht...