Dll Hooking über Api Hook

Also es geht erstmal um diesen Artikel / Quellcode: http://www.codeguru.com/cpp/w-p/dll/hooking/article.php/c127

Und zwar wollte ich hierbei fragen, es wird ja mit einem WH_CBT gearbeitet, okay, dieser kommt beim erstellen, zerstören, max, min etc. von fenstern und so weiter. Das ist alles klar, aber wie kommt es das dabei die Dll einspringt und sich an den process attacht, kurz gesagt, im DLLMain in die if bedingung kommt wenn die Hook-Callback aufgerufen wird?
 
Meinst Du wie die DLL überhaupt "injected" wird?
Das passiert mit der
Code:
hHook = SetWindowsHookEx( WH_CBT, HookProc, hDLL, 0 );
(dllmain.cpp), wird in der Testanwendung selbst per "InstallHook()" aufgerufen.
http://msdn.microsoft.com/en-us/library/ms644990(VS.85).aspx
 
Jaa.. aber der Hook wird ja global gesetzt, dann springt er bei nem zerstören / erschaffen / minimieren / max... an und dann wird plötzlich zudem DllMain aufgerufen, und ich möcht wissen wieso o.o bitte ^^
 
Komische Sache oder? Aber ich hab diese Beobachtung schon oefters gemacht. Egal welche PE ich lade, ob DLL, EXE oder sogar SYS... immer wird der EP gecallt. Bestimmt n Bug von MS ;)
 
Du bist so fiieß xD, ich hätte den hook halt so verstanden:

- System kriegt Adresse & Handle zur Funktion / DLL
- System ruft bei bedarf direkt die Funktion der DLL auf. ( Funktion Ließt aus ( ändert ), ruft nächsten Hook in der Reihe )

und in dieser Ansicht gibt es eben keinen Aufruf der DLLMain :)
 
Zurück
Oben