Funktion aus einer dll die in einen anderen prozess injected ist callen?
-
Hallo,
habe hier eine DLL injected in x.exe (x.dll)
jetzt will ich in einer zweiten dll injected in y.exe eine Fuktion aus x.dll aufrufen, geht das? Wenn das nicht geht, wie tausche ich einfach Daten zwischen den beiden DLLS aus? (ohne pipes wenn's geht)Grüße
MaxPayne
-
Wenn beide dlls von der Anwendung geladen sind, sind Aufrufe von Funktionen daraus kein Problem. Den Datenaustausch macht man dann einfach über Parameterlisten der aufgerufenen Funktionen. Man kann aber auch SendMessage einsetzen, nur dann braucht man die aktuellen Fenster-Handles.
-
Ehm, nein, die zwei dlls sind in 2 prozessen injected mit der SetWindowsHookEx Methode.. (http://www.edgeofnowhere.cc/viewtopic.php?p=2483118)
-
Pipes muss man keine nehmen, abewr man benötigt IPC (Inter process communication), also shared memory/file, Nachrichten oder was auch immer.
Da die DLL in einem anderen Prozess liegt muss dort auch Code laufen, der auch Deinen Befehl entgegennehmen kann. Also entweder in einem eigenen Thead oder in einem laufenden Thread der auch aktiv ist.