AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

warum HookHandle global machen?

Ein Thema von originalhanno · begonnen am 13. Apr 2006 · letzter Beitrag vom 18. Apr 2006
 
Robert Marquardt
(Gast)

n/a Beiträge
 
#13

Re: warum HookHandle global machen?

  Alt 15. Apr 2006, 17:38
Zitat von thkerkmann:

meiner Meinung nach müssen die Handles sogar lokal sein. Sie gehören dem Prozess, der den Hook (in der dll) installiert, damit er sich daraus wieder verabschieden kann. Global muss also nicht das Handle sein, sondern die HookProcedure muss global zur Verfügung gestellt werden - und das geht eben über die dll.
Meinung zaehlt nicht sondern nur die Realitaet.
Das Problem ist der Aufruf von NextHookEx. DLLs in verschiedenen Prozessen sind immer in Kopie geladen.
Die Datensegmente werden nie kopiert. Nur eine der Kopien hat daher eine von SetWindowsHookEx mit einem Wert versehene Hook-Variable und diese wird nun mal in allen Kopien fuer NextHookEx gebraucht.
Zitat von thkerkmann:
Die dll wird bei systemweiten Hooks nämlich nicht mit der Beendigung deines Programmes entladen, sondern erst, wenn keine Ereignisse mehr über sie laufen, d.h. ALLE Prozesse, die in die Hook-Kette eingeklinkt sind, beendet wurden. Im spätesten Fall erst beim Windows beenden.
Quatsch. Da die DLL pro Prozess separat geladen wird, wird sie einfach mit dem Prozess entladen und faellt aus der Verwaltung fuer die Hook-Chain.
Ruft man UnhookWindowsHookEx auf so wird die Hook-Chain sprich die Funktionsaufrufe aufgegeben. Ob die DLLs entladen werden oder ob Windows sie einfach als Zombies stehen laesst weiss ich nicht. Da sie nun funktionslos sind ist das ja theoretisch egal (praktisch sind Hooks Angriffsvektoren fuer allerlei Sauereien).
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz