Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.464 Beiträge
Delphi 12 Athens
|
AW: Dynamisches Array erweitern
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;
|
|
Zitat
|