Kurze Frage: Laden von DLLs (VC++2002)
-
Hiho,
beginne grade in oben genannter Entwicklungsumgebung mit WinAPI Entwicklung. Beim obligatorischen Hallo-Welt ist mir die Ausgabe im Debugfenster aufgefallen:
'hello.exe': Loaded 'C:\WINDOWS\system32\ntdll.dll', No symbols loaded.
'hello.exe': Loaded 'C:\WINDOWS\system32\kernel32.dll', No symbols loaded.
'hello.exe': Loaded 'C:\WINDOWS\system32\user32.dll', No symbols loaded.
'hello.exe': Loaded 'C:\WINDOWS\system32\gdi32.dll', No symbols loaded.
'hello.exe': Loaded 'C:\WINDOWS\system32\SSSensor.dll', No symbols loaded.Tja die Frage ist, warum die SSSensor.dll geladen wird. Laut google hat diese dll wohl irgendwas mit der sygate firewall zu tun (die ich auch installiert habe) aber was hat das im debug-fenster meiner hello-Applikation zu suchen ?!
Herzliche Grüße
Johannes
-
Ganz einfach: Sie wird in Deinen Prozess geladen. Vermutlich ist die DLL in der Registry so eingetragen, dass diese immer in den Adressraum jedes Prozesses geladen wird.
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\AppInit_DLLs
Auf diese Weise die Firewall direkt Einfluss auf den Prozess nehmen.
-
Hiho,
danke für die Antwort. Der von dir angegebene Schlüssel existiert bei mir nicht, statt "Windows" hat er "Windows NT" im Namen. Wie auch immer, hab die Reg abgegrast nach "appinit" und diese 2 Einträge werden gefunden. Beide sind jedoch leer.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\win.ini\Windows
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows
Gibt es noch andere Möglichkeiten warum (bzw. wo) diese DLL geladen wird ?
Danke nochmal
Herzliche Grüße
Johannes
-
Hiho,
ich habe das "Phänomen" jetzt mal genauer angeschaut, indem ich das Programm soweit gestutzt habe, bis oben besagte dll nicht mehr geladen wird:
while( GetMessage( &msg, NULL, 0, 0 ) )Diese Zeile ist entscheidend. Sobald ich eine andere Schleifenkondition verwende wird die SSSensor.dll nicht mehr geladen. Die Funktion GetMessage ist hier also entscheidend. Kann mir jemand sagen warum ?
Herzliche Grüße
Johannes
-
Hier setzt ein systemweiter Message Hook an!
-
Alles klar, vielen Dank für deine Antwort.
Herzliche Grüße
Johannes