Zitat von
c113plpbr:
Wer will kann sie sich ja mal anschauen, und ggf. auch kritisieren (aber bitte nur konstruktive Kritik).
Die ganze Arbeit musst Du dir nicht machen...
Der Trick bei CreateRemoteThread besteht ja darin, dass die TThreadFunc aufrufkompatibel zu LoadLibrary ist.
Das heisst, dass Du per CreateRemoteThread einen Thread an der Adresse von LoadLibrary erzeugst und als 'Thread'-Parameter die Adresse des Dateinamens im entfernten Prozess angibst. Und das schöne darin ist, dass man anhand des ExitCodes des Threads (= Rückgabe von LoadLibrary) feststellen kann, ob das Laden erfolgreich war.
Das gleiche gilt für FreeLibrary.
ps: wie oben schon erwähnt, sollte man nicht versuchen aus einem 32-Bit Programm einen RemoteThread in einem 64-Bit Prozess zu erzeugen, da sich die LoadLibrary-Funktion dort an einer anderen Adresse befindet (man müsste also die Adresse aus der 64-Bit-Version der kernel32.dll auslesen - nicht sonderlich trivial).