鉤子(hook)是啥

仇諾伊發表於2017-12-13

經常在找問題時,發現有的大佬給的答案裡面說下個鉤子啥的,一臉懵逼,啥是鉤子? 鉤子來源於Hook,在windows系統中,所有的都是訊息,按了一下鍵盤,就是一個訊息,Hook的意思就是勾住,在訊息過去之前先把訊息勾住,不讓其執行,然後自己優先處理。也就是這個技術提供了一個入口,能夠針對不同的訊息或者api在執行前,先執行你的操作。“你的操作”就是鉤子函式。

所以如果聽到說“先hook住,再處理”,也就是在執行某某操作之前,優先處理一下,再決定後面的執行走向。 有一些技術時利用hook的,比如一些程式經常會校驗自身簽名,不允許你改動程式安裝包,這個時候如果Hook住校驗的函式,假裝處理為校驗通過(其實根本沒通過,因為你能優先處理並返回,所以執行不到原始的程式碼了),這種情況下酒欺騙了原始程式,從而達到目的。

相關文章