Die Fehlerbehandlung mache ich später. Habe die Stelle jetzt so abgeändert, wobei Target das komplette Image von Notepad enthält.
Delphi-Quellcode:
BaseAddress := VirtualAllocEx(ProcessInfo.hProcess,
Pointer(PImageNtHeaders(
Cardinal(Target) + Cardinal(Windows.PImageDosHeader(Target).
_lfanew))^.OptionalHeader.ImageBase),
NtHeaders.OptionalHeader.SizeOfImage,
MEM_RESERVE or MEM_COMMIT, PAGE_READWRITE);
Ergebniss: Notepad startet ganz normal Allerdings werden VirtualAllocEx, WriteProcessMemory und co korrekt ausgeführt. Vermutlich muss man noch irgendwas am EntryPoint feilen oder?
Sorry mein Fehler .. ne Notepad startet mit meiner MessageBox, aber wieder bekomme ich ERROR_BAD_EXE_FORMAT bei CreateThread.