鉤子編程

鉤子編程 （ hooking ） ， 也稱作 “ 掛鉤 ” ， 是計算機程序設計術語 ， 指通過攔截間的函數調用 、 消息傳遞 、 事件傳遞來修改或擴展操作系統 、 應用程序或其他軟件組件的行爲的各種技術 。 處理被攔截的函數調用 、 事件 、 消息的代碼 ， 被稱爲鉤子 （ hook ） 。 鉤子編程有多種用途 ， 如調試 、 擴展功能 。 例如在鍵盤或鼠標事件到達應用程序之前攔截這些事件 ； 攔截應用程序或其他模塊的操作系統調用以監督行爲 、 修改功能 。 也廣泛用於benchmarking程序 ， 如度量3D遊戲的幀率 。 鉤子編程也被用於惡意代碼 ， 如rootkit是各種通過假扮系統API調用輸出來隱藏自身進程的可見性的工具與技術 ； 遊戲外掛是另一類例子 。