class和hook區别做了哪些優化?程序員尤其 Windows 程序員會經常說“下個鈎子”,小編還是一名學生的時候,對說出這個短語的人真是崇拜至極,今天小編就來聊一聊關于class和hook區别做了哪些優化?接下來我們就一起去研究一下吧!
程序員尤其 Windows 程序員會經常說“下個鈎子”,小編還是一名學生的時候,對說出這個短語的人真是崇拜至極。
這麼多年過去了,小編還會不經意間蹦出這幾個字,即使已經了解這是一名程序員的基本功,說起來依然覺得有範兒。鈎子來源于英文詞hook。在Windows系統中一切皆消息,按鍵盤上的鍵,也是一個消息。Hook 的意思是鈎住,也就是在消息過去之前,先把消息鈎住,不讓其傳遞,使用戶可以優先處理。執行這種操作的函數也稱為鈎子函數。簡單地講,就是“要想從這過,留下買路财”。
要去公共廁所,必須先經過公廁門口老爺爺的收費允許,老爺爺就是在下“鈎子”,這個鈎子函數的功能是付款。回到工作過程中,程序員在讨論時也常說“可以先鈎住再處理”,即執行某操作之前,優先處理一下,再決定後面的執行走向。
有一些技術是利用鈎子的,比如一些程序經常會校驗自身簽名,不允許他人改動程序安裝包,這時如果鈎住校驗的函數,假裝處理為校驗通過(其實沒有通過,因為鈎子能優先處理并返回,所以執行不到原始的代碼了),這種情況下就欺騙了原始程序,從而達到目的。
以上就是鈎子的思想和原理,希望以後在和程序員交流的過程中,聽到這個詞時,讀者也能夠自信地對程序員點點頭。
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!