Ich weiß nicht, ob's der einzige Fehler ist, aber der ist ziemlich offensichtlich:
Delphi-Quellcode:
VirtualProtect(base,Size,PAGE_EXECUTE_READWRITE,oldprotec);
WriteProcessMemory(GetCurrentProcess, base, @NewAddress, Size, geschrieben);
// NIMN. so nun sollte die Adresse überschrieben sein
VirtualProtect(base,Size,oldprotec,sinnfrei);
Vielleicht liest du dir vorher nochmal sorgfältig die Doku (sprich das
PSDK) durch und entscheidest dich dann für
VirtualProtectEx und die Übergabe des Zielprozeßhandles anstatt
GetCurrentProcess. Ich habe den Code nichtmal ausgepackt, sondern nur in WinRAR schnell angeschaut, also nicht meckern, falls ich noch andere Fehler übersehen habe.