Hook (informatyka)

Hooki – szereg technik pozwalających ingerować w zachowanie systemu operacyjnego i aplikacji poprzez przechwytywanie wywołań funkcji i komunikatów.

Hooki bywają wykorzystywane przez niektóre typy szkodliwego oprogramowania, takie jak np. rootkity czy keyloggery. Mogą być także używane do debugowania kodu lub obsługi komunikatów zanim trafią one do swojego docelowego miejsca. Wykorzystywane są np. w bibliotece języka JavaScript - React.js - od wersji 16.8.[1]

Przykłady

  • Windows API posiada system hooków, które umożliwiają przechwytywanie wiadomości między oknami[2] czy zdarzeń myszki i klawiatury[3].
  • Edytor Emacs posiada system, który umożliwia wywołanie kodu w odpowiedzi na zdarzenia takie jak np. zmiana trybów edytora.
  • OS X posiada system w którym przy każdym logowaniu wywoływany jest kod użytkownika, jest to realizowane za pomocą login hooks[4].
  • MediaWiki posiada system hooków, który pozwala tworzyć dodatki usprawniające działanie użytkowników systemu, m.in. na Wikipedii[5].

Przypisy

  1. Introducing Hooks. reactjs.org.
  2. Oknami w systemie Windows są nie tylko okna w dosłownym znaczeniu, ale wszystkie elementy UI takie jak np. przyciski, istnieją także ukryte okna.
  3. Miscrosoft MSDN: Hooks Overview.
  4. Archived - Mac OS X: Creating a login hook.
  5. Manual:Hooks - MediaWiki, www.mediawiki.org [dostęp 2017-12-19] (ang.).