Hook:Alle Funktionen der DLL im virtuellen Speicher des Ziels oder nur Callback?



  • Hi Leute!
    Ich hab eine Frage,und zwar wird doch wenn ich einen Globalen Hook
    setze meine Callback Funktion in den Virtuellen Speicher von jedem
    Prozess eingeblendet,so weit richtig?
    Gilt das für die gesammte DLL?
    Also für alle andere Funktionen und für die DLLMain?
    Kann ich also auch mit diesen Funktionen auf den Speicher der Anwendungen
    zugreifen oder muss ich warten bis meine Callback aufgerufen wird?

    Danke im voraus!



  • Ja die ganze DLL. Die DLL erhält aber in jedem prozeß ihren eigenen Satz globaler Variablen. Deine letzte Frage versteh ich ned so ganz, die DLL muss nicht sofort in jeden Prozeß eingeblendet werden, sondern erst wenn es nötig wird.



  • Ok also die ganze DLL die den Hook enthält?
    Naja,wann wird sie denn eingeblendet?

    Danke im voraus!



  • WinAPI schrieb:

    Ok also die ganze DLL die den Hook enthält?
    Naja,wann wird sie denn eingeblendet?

    Ja in dem Augenblick, wo Du SetWindowsHookEx aufrufsat, bzw. bei Prozessen die erst später gestartet werden, schon beim start.



  • Jochen Kalmbach schrieb:

    WinAPI schrieb:

    Ok also die ganze DLL die den Hook enthält?
    Naja,wann wird sie denn eingeblendet?

    Ja in dem Augenblick, wo Du SetWindowsHookEx aufrufsat, bzw. bei Prozessen die erst später gestartet werden, schon beim start.

    nö, AFAIK bei einem msg-hook z.b. erst wenn die 1. msg ankommt. deshalb sendet man doch zum entsprchenden window n null-message oder ne HWND_BROADCAST-Msg zu allen.



  • Hmmm wer hat jetzt Recht? 😃
    Und hab ich das jetzt richtig verstanden:
    Wenn ich einen Hook setze dann wird die gesammte DLL in alle Prozesse eingeblendet?
    Oder wird die ganze DLL erst nach einer Message eingeblendet?
    Ach und wird,nach dem einblenden,sofort die DLL Main aufgerufen,jedesmal wenn ein
    Prozess startet (im virtuellen Speicher des neuen Prozess)?

    Danke im voraus!


Anmelden zum Antworten