Hallo erstmal,
Habe mal wieder ein Problem.
Ich möchte über eine (injected)
DLL ein WinSocketSend ausführen.
Dazu muss ich von meinem Programm erst Speicher im Zielprogramm sichern und meine Daten reinschreiben (den Buffer).
Läuft momentan so ab:
Delphi-Quellcode:
Uses madRemote;
..
Lenge := 4 + Length(Unit1.Name) + 3 + Length(Edit1.Text) + 1;
for Long := 1 to Length(Unit1.Name) do
begin
NewName := NewName + IntToHex(ord(Unit1.Name[Long]), 2);
end;
for Long2 := 1 to Length(Edit1.Text) do
begin
NewText := NewText + IntToHex(ord(Edit1.Text[Long2]), 2);
end;
SollBuffer := Pchar('F3001000' + NewName + '203A20'+ NewText + '00');
Place := AllocMemEx(Lenge, Unit1.PID);
Proc := OpenProcess(PROCESS_VM_WRITE, False, Unit1.PID);
WriteProcessMemory(Proc, Place, SollBuffer, Lenge, BytesWritten);
CloseHandle(Proc);
FreeMemEx(Place, Proc);
..
Der SollBuffer besteht nur aus HexWerten und das ist falsch.
Die HexWerte müssen in ein konformes Format umgewandelt werden, hat da jemand ne Idee?