Jupp ist möglich wird auch bereits eingesetzt.
Stichwörter: Globale Hooks (
DLL) mit
API Hooks (IAT)
Edit das ganze genauer:
1. Bei einem globalen Hook wird die Hook-
DLL von jedem (gleichberechtigten) Prozess, der gerade läuft oder später gestartet wird, geladen und (vor bestimmten Events) ausgeführt.
2. Ein
API Hook ist ein Verfahren, bei dem z.B. über IAT-Manipulation (Import Address Table) Funktionen-adressen "verbogen" werden.
Dh du kannst die Funktion "MessageBox()" hooken und umleiten auf deine eigene Funktion, die wiederum weiß, wie die originale Funktion aufzurufen ist und sie halt je nachdem auch aufruft.
Vereinst du nun 1 und 2, so kannste global APIs belauschen!
Also in der
DLL, die per SetWindowsHookEx() als globaler Hook gesetzt wird, werden beim Start die gewünschten APIs gehookt. Dadurch dass die
DLL von jedem Prozess dank SetWindowHookEx() geladen wird, werden auch alle Instanzen
API-gehookt.
Ist komisch zum Erklären, da man eben zwischen den 2 Hooks unterscheiden muss.