Warum die "normalen" Hooks in einer
DLL liegen müssen
(oder in der EXE, worin geziehlt lokal gehookt wird)
ist doch bestimmt klar?
Diese Hooks werden direkt angesprungen und es werden womöglich größere Strukturen als Parameter übergeben, weswegen sie im selben Adressraum liegen müssen, wie die gehookte Prozedur.
Diese Low-Level-Hooks laufen vermutlich auf Windows-Ebene, also noch außerhalb der Anwendungen ab, von wo aus dann die eigene Hookprozedur über das System im eigenen Prozess aufgerufen wird.