Forum: Win32/Win64 API (native code)
Delphi
by Apollonius,
14. Aug 2008
Was heißt für dich "in deinem Prozess"? Wenn du Zugriff auf globale Variablen brauchst, würde ich SendMessage nehmen. Alles andere wird sehr unschön. Wenn es dir nur darum geht, denn Code aus deinem Prozess zu holen, kannst du ihn ja einfach mit VirtualAllocEx und WriteProcessMemory hinüberschieben und dann diesen Funktionszeiger verwenden. Das Problem mit GetModuleHandle und GetProcAddress löst...
Forum: Win32/Win64 API (native code)
Delphi
by Apollonius,
14. Aug 2008
Ja, das geht auch ohne CreateRemoteThread. Aber die Funktionen erhältst du nicht so einfach. Schließlich brauchst du auch erst mal die Zeiger auf GetModuleHandle und GetProcAddress.
Wenn du viele Prozesse hooken willst, solltest du vielleicht über SendMessage nachdenken.
Forum: Win32/Win64 API (native code)
Delphi
by Apollonius,
14. Aug 2008
Und wie sorgst du dafür, dass dein Code in den fremden Prozess gemappt wird? :gruebel:
Du kannst auf das Mappen natürlich verzichten, indem du zum Beispiel mit Fensternachrichten arbeitest, aber das war wohl nicht deine Intention.
Forum: Win32/Win64 API (native code)
Delphi
by Apollonius,
14. Aug 2008
Ich habe zwar nicht ganz verstanden, wie du das erreichen willst, aber es funktioniert auf jeden Fall. Du kannst zum Beispiel einen Thread injizieren, den du nicht bei LoadLibrary starten lässt, sondern bei einer selbst geschriebenen Funktion, die du mit VirtualAllocEx und WriteProcessMemory in den fremden Speicher beförderst. Das einzige Problem ist dabei, dass man nicht einfach auf fremde...