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


  • Mod

    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


  • Mod

    Hier setzt ein systemweiter Message Hook an!



  • Alles klar, vielen Dank für deine Antwort.

    Herzliche Grüße

    Johannes


Anmelden zum Antworten