detours軟件介紹
detours professional 3.0是一個(gè)微軟官方開發(fā)的著名HOOK庫,擁有兩大功能,一是攔截x86機(jī)器上的任意的win32 API函數(shù);二是插入任意的數(shù)據(jù)段到PE文件中,修改DDL文件的導(dǎo)入表。軟件主要用于實(shí)現(xiàn)復(fù)雜的Hook操作,達(dá)到一般WIN32 API實(shí)現(xiàn)不了的一些效果,另外可以編譯成lib。
detours使用方法
detours是微軟開發(fā)的一個(gè)函數(shù)庫,專門用于捕獲系統(tǒng)API。在使用之前,必須做以下相關(guān)準(zhǔn)備工作:
1、下載本站提供的detours professional 3.0軟件;
2、安裝detours,一直NEXT
3、生成detours庫,
在安裝后的文件夾下找不到直接可以拿來用的LIB文件,但是卻有SRC文件(在**Microsoft ResearchDetours Express 2.1src下)。該文件夾下還有Makefile,可以直接用來生成庫。將Detours路徑下的SCR文件夾拷貝到**Microsoft Visual Studio 9.0VC路徑下,注意是整個(gè)文件夾(其它版本VC自己照著復(fù)制)在system32目錄找到cmd右鍵以管理員身份運(yùn)行,切換至 c:Program FilesMicrosoft Visual Studio 9.0VCbin目錄運(yùn)行vcvars32.bat,切換到Microsoft Visual Studio9.0VCSRC,然后輸入..binnmake指令,編譯成功后在Microsoft Visual Studio9.0VCLib文件下就能找到detoured.lib與detours.lib文件了。
detours庫可以攔截任意的API調(diào)用,攔截代碼是在動(dòng)態(tài)運(yùn)行時(shí)加載的。detours替換目標(biāo)API最前面的幾條指令,使其無條件的跳轉(zhuǎn)到用 戶提供的攔截函數(shù)。被替換的API函數(shù)的前幾條指令被保存到trampoline 函數(shù)(就是內(nèi)存中一個(gè)數(shù)據(jù)結(jié)構(gòu))中. trampoline保存了被替換的目標(biāo)API的前幾條指令和一個(gè)無條件轉(zhuǎn)移,轉(zhuǎn)移到目標(biāo)API余下的指令。
當(dāng)執(zhí)行到目標(biāo)API時(shí),直接跳到用戶提供的攔截函數(shù)中執(zhí)行,這時(shí)攔截函數(shù)就可以執(zhí)行自己的代碼了。當(dāng)然攔截函數(shù)可以直接返回,也可以調(diào)用 trampoline函數(shù),trampoline函數(shù)將調(diào)用被攔截的目標(biāo)API,目標(biāo)API調(diào)用結(jié)束后又會(huì)放回到攔截函數(shù)。下圖就是Detours API攔截的邏輯流程:
detours軟件說明
Hook基本原理
Windows 鉤子的本質(zhì)是一段用以處理系統(tǒng)消息的程序,通過系統(tǒng)調(diào)用,將其掛入到系統(tǒng)。鉤子的種類有很多,每一種鉤子負(fù)責(zé)截獲并處理相應(yīng)的消息。鉤子機(jī)制允許應(yīng)用程序截獲并處理發(fā)往指定窗口的消息或特定事件,其監(jiān)視的窗口即可以是本進(jìn)程內(nèi)的也可以是由其他進(jìn)程所創(chuàng)建的。在特定的消息發(fā)出,并在到達(dá)目的窗口之前,鉤子程序先行截獲此消息并得到對(duì)其的控制權(quán)。此時(shí)在鉤子函數(shù)中就可以對(duì)截獲的消息進(jìn)行各種修改處理,甚至強(qiáng)行終止該消息的繼續(xù)傳遞。
Detours庫是Microsoft研究院的一個(gè)開發(fā)庫,最新版本為3.0。它可以攔截任意的API調(diào)用,攔截代碼是在動(dòng)態(tài)運(yùn)行時(shí)加載的,替換目標(biāo)API最前面的幾條指令,使其無條件的跳轉(zhuǎn)到用戶提供的攔截函數(shù)。
detours更新日志
1.修改用戶提交bug
2.添加新功能
華軍小編推薦:
detours這款軟件的操作步驟是非常簡(jiǎn)單的,而且非??焖?,因此用戶可以放心使用。另外還推薦快表軟件、AlphaEbot動(dòng)作編輯軟件、河小象編程客戶端、自動(dòng)化測(cè)試工具AutoRunner、小海龜LOGO語言等相關(guān)軟件下載使用。
您的評(píng)論需要經(jīng)過審核才能顯示
有用
有用
有用