五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

「winds平臺」IATHook&原理與實現(xiàn)(4)

2021-12-28 15:59 作者:rkvir逆向工程學院  | 我要投稿




作者?| 榴蓮

編輯?| 楌橪


IAT(Import Address Table) HOOK與我們以往學習過的HOOK有著較大的區(qū)別。無論是InlineHook還是HotFixHook,都是基于指令的修改,劫持流程來實現(xiàn)HOOK的。而IATHOOK則是采取另一種劫持思路。這里就不得不提到一個Windows系統(tǒng)的文件格式,PE(Portable Executable)文件格式。

在我們編寫一個Windows程序的時候,通常需要調(diào)用許多系統(tǒng)或第三方的函數(shù)。而需要調(diào)用這些函數(shù),就必須要加載導出這些函數(shù)的動態(tài)鏈接庫。對于動態(tài)鏈接庫來說,這些函數(shù)是導出函數(shù)。而對于調(diào)用者,也就是我們而言,這些函數(shù)就是導入函數(shù)。而導入函數(shù)的相關信息就存儲在PE文件格式的數(shù)據(jù)目錄表中的導入表中。導入表內(nèi)有三個表,分別是序號,地址以及函數(shù)名,進行分別存儲。當調(diào)用者調(diào)用一個函數(shù)的時候,就會去導入表中尋找對應函數(shù)名的函數(shù)地址。那么我們在這個位置就可以做一些事情了。只要將導入地址表(Import Address Table)中我們想要HOOK的函數(shù)的地址,替換成我們自己的函數(shù)的地址。那么當調(diào)用者再次調(diào)用函數(shù)的時候,因為地址被我們替換。被調(diào)用的將是我們提供的HOOK函數(shù),而不是原來的函數(shù)。

那么以MessageBoxA為例,我們實際上來體驗一下IATHOOK的實現(xiàn)方式。

首先,我們需要一個目標程序,代碼如下:

然后我們來看一下HOOK后的效果:

正常情況下:

HOOK后:

?

接下來,我們將使用代碼實現(xiàn)IAT Hook,我這里采用的操作系統(tǒng)是Windows 10 20H2(19042.1288),集成開發(fā)環(huán)境采用的是Visual Studio 2017。


閱讀全文


??公眾號:極安御信安全研究院(即可獲得文章全部內(nèi)容)

「winds平臺」IATHook&原理與實現(xiàn)(4)的評論 (共 條)

分享到微博請遵守國家法律
大关县| 三穗县| 维西| 政和县| 阳原县| 兴山县| 和硕县| 芦山县| 瑞昌市| 临沭县| 土默特右旗| 斗六市| 阆中市| 义乌市| 浦城县| 贵港市| 鄂托克旗| 来凤县| 河曲县| 湖南省| 佛冈县| 阳高县| 襄城县| 威信县| 陈巴尔虎旗| 东丽区| 瑞安市| 河北省| 常州市| 天峻县| 云林县| 盐源县| 临夏县| 金堂县| 铜川市| 陈巴尔虎旗| 二连浩特市| 隆化县| 江城| 陇南市| 余干县|