EasyHook庫系列使用教程之四鉤子的啟動與停止

2021-08-21 06:29:14 字數 760 閱讀 8571

此文的產生花費了大量時間對easyhook進行深入了解同一時候參考了大量文件

先來簡單比較一下easyhook與detour鉤取後程式流程

detours:鉤取api函式後。產生兩個位址,乙個位址相應真hook函式位址。乙個相應真實api位址

easyhook:鉤取api函式後,所有api指向同一位址。通過acl控制是否跳轉到真實api位址

detour:僅僅要鉤取之後,相關於乙個api變成兩個函式

easyhook:鉤取之後,相關於還是乙個api,通過控制acl來推斷是否跳轉到真實api

easyhook使用中的一種特殊情況:

須要實現這樣乙個功能,截獲開啟檔案(createfile)和獲取檔案大小(getfilesize)函式,且在開啟檔案時須要獲取檔案的大小,即在hookcreatefile中同一時候使用createfile和getfilesize。

此時問題來了。

createfile此時呼叫的是真實的api,而getfilesize將會呼叫hookgetfilesize。

假設存在很多其它的函式,必將導致問題。

easyhook的啟動與停止

easyhook兩種acl表。一種是包括方式(

lhsetexclusiveacl

),一種是排除方式(

lhsetexclusiveacl

),包括方式。對於增加到acl中的線珵。所有hook。排除方式。對於增加到acl中的執行緒,所有取消hook。

通過動態調整開關狀態就可以實現hook的啟動與停止

EasyHook庫系列使用教程之四鉤子的啟動與停止

此文的產生花費了大量時間對easyhook進行深入了解同時參考了大量文件 先來簡單比較一下easyhook與detour鉤取後程式流程 detours 鉤取api函式後,產生兩個位址,乙個位址對應真hook函式位址,乙個對應真實api位址 easyhook 鉤取api函式後,所有api指向同一位址,...

EasyHook庫系列使用教程之四鉤子的啟動與停止

此文的產生花費了大量時間對easyhook進行深入了解同一時候參考了大量文件 先來簡單比較一下easyhook與detour鉤取後程式流程 detours 鉤取api函式後。產生兩個位址,乙個位址相應真hook函式位址。乙個相應真實api位址 easyhook 鉤取api函式後,所有api指向同一位...

EasyHook庫的使用

easyhook的官網,最近在做的專案中,因為要去過濾掉cmd的彈框,所以用到了這個庫,在使用的過程中,遇到了一些坑,然後也解決了一些問題,特再次記錄下來,方便自己以後查閱 1.了解 首先我查詢了網上的相關資料,都查的有點暈了,但有用的就那麼幾個,其它的就是引用這個幾個例子,這樣感覺效率不高,後面我...