Zitat von
idefix2:
Zitat:
Bei
DLL-Injektionen werden etliche Kopien dieser
DLL an andere Prozesse erstellt.
Ich verstehe nicht ganz, was Du meinst. Wenn mehrere Prozesse eine
DLL laden und verwenden, dann gibt es im Speicher ein Exemplar der
DLL, das mit separaten Datenbereichen für jede Instanz, die sie geladen hat, arbeitet. Aber in dem Fall eines globalen Hooks wird ja nur ein
DLL Prozess gestartet, und der bekommt dann alle Ereignisse mit, egal an welchen Prozess das Ereignisse geschickt werden.
So ganz genau weiß ich es leider nicht, die echten Experten (außer Dir?!) halten sich ja in dieser Diskussion auffällig zurück. Ob nun nur eine
DLL „mit separaten Datenbereichen“ oder x-mal die Kopie derselben
DLL verwendet wird, läuft letztlich - vom Speicherverbrauch abgesehen - auf dasselbe hinaus, weil der Programmcode ja identisch sein muß.
In meinem Programm „Prozesse“ (auch hier im Forum zu finden) läßt sich über die Spalte „Module“ (dahinter steckt ein Modulschnappschuß) recht gut verfolgen, daß eine Hook-
DLL in mehr als einem Prozeß als Modul existiert und damit wohl insgesamt auch mehrere Male (?) im Speicher vorhanden ist. In welche Prozesse sich die
DLL einklinkt und in welche nicht, konnte ich allerdings noch kein System erkennen.