Einzelnen Beitrag anzeigen

Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.464 Beiträge
 
Delphi 12 Athens
 
#6

AW: Dynamisches Array erweitern

  Alt 23. Feb 2022, 16:45
Ich würde so vorgehen:
Delphi-Quellcode:
procedure WriteJump(var APos; ACommand: Byte; AAdress: Cardinal);
begin
  PByte(@APos)[0] := ACommand;
  PByte(@APos)[1] := Byte(AAdress shr 24);
  PByte(@APos)[2] := Byte(AAdress shr 16);
  PByte(@APos)[3] := Byte(AAdress shr 8);
  PByte(@APos)[4] := Byte(AAdress );
end;

var
  Buffer: TBytes;
const
  NOP: Byte = $90;
  JMP: Byte = $E9;
begin
  {Speicherbereich im lokalen Adressraum anlegen}
  SetLength(Buffer, 100);
  {komplett mit NOP füllen}
  FillChar(Buffer[0], Length(Buffer), NOP);
  {Jump eintragen}
  WriteJump(Buffer[0], JMP, $5F3C4412);
  {in den Zielbereich des anderen Prozess kopieren}
  WriteProcessMemory(ProcOpen, Pointer(Adresse), @Buffer[0], Length(Buffer), Wert);
end;
  Mit Zitat antworten Zitat