Hab noch nen kleinen Fehler bei mir entdeckt: Man darf die Adresse nicht mit WriteProcessMemory usw. in den Prozess reinschreiben, sondern dies reicht aus:
createremotethread(hproc,nil,0,getprocaddress(getmodulehandle('kernel32.dll'),'FreeLibrary'),Pointer(hdll),0,TID);
Dadurch kommt bei mir eine Frage auf! Wieso muss ich das
Handle der
DLL nicht in den Prozess hineinschreiben, wie den Namen der
DLL beim Starten? Und warum funktioniert die Methode mit WriteProcessMemoy usw. nicht? Für mich ist dies irgendwie unlogisch...