Jeśli to hook, to zapewne do każdego procesu została wprowadzona pewna biblioteka. Fakt, była kiedyś dyskusja na 4p dotycząca tego czy da się ustawić hooka na klawiaturę bez udziału biblioteki. Ponoć się da. Ja zresztą też pamiętam jak kilka ładnych lat temu, za czasów mego obcowania z Delphi, taki kod miałem. Działało bez DLL. Załóżmy jednak, że to rzadki przypadek.
Jeżeli hook wprowadzony jest za pomocą DLLa, to zapewne w każdym (lub w większości) procesów ta biblioteka będzie załadowana. Możesz użyć ProcessExplorera aby sprawdzić co piszczy w każdym procesie. Dodatkowo możesz też zakodzić sobie programik, który używa tylko kernel32.dll i na jego przykładzie porównywać załadowany biblioteki. Jak już wytropisz tę jedną jedyną, to tryb awaryjny i zmieniasz nazwę DLLa.
[updated]
Do sprawdzenia który program zakłada hooka możesz także użyć jakiegoś APISpy