驅(qū)動(dòng)學(xué)習(xí)筆記3.2.4inline hook實(shí)例-44課_第1頁
驅(qū)動(dòng)學(xué)習(xí)筆記3.2.4inline hook實(shí)例-44課_第2頁
驅(qū)動(dòng)學(xué)習(xí)筆記3.2.4inline hook實(shí)例-44課_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、3.2.4 驅(qū)動(dòng)InLine HOOK實(shí)例-44課A、選取HOOK地址B、分析等HOOK函數(shù)參數(shù)C、構(gòu)建HOOK D、實(shí)現(xiàn)HOOK E、測(cè)試效果:26代碼32 ssdt hookeb ba52c07e 90u nu n jmpOpenPro OpenPro/0 xE9ss l100/jmp my_NtOpenPros my_NtOpenPro/ NtOpenPros=jmps /my_NtOpenPros-RealNtOpenPros-5;/ 定義一下NtOpenPros的原型extern C (typedefNTSUS stdcall NTOPENPROSOUT PHANDLE ProsHa

2、ndle, sMask,IN ACS_MASK AcIN POBJECT_ATTRIBUTES Objectributes,I);NT_ID CntIdNTOPENPROS*RealNtOpenPros;PEPROSEP;/ 自定義的NtOpenPro #pragma PAGECODEs函數(shù) ZwOpenProsNTS OUT IN IN INUS declspec(naked) stdcall MyNtOpenPros(PHANDLE ProsHandle,ACS_MASK DesiredAcs,POBJECT_ATTRIBUTES Objectributes,PCNT_ID CntId )

3、NTSUSrc;HANDLE;KdPr(+Entry MyNtOpenPros+n);/rc = (NTSCntId );US)RealNtOpenPros( ProsHandle, DesiredAcs, Objectributes,if( (CntId != NULL) )= CntId-UniquePros;KdPr( =%dn,(*);/ 如果是被保護(hù)的,則,并將句柄設(shè)置為空if(= My)KdPr(被保護(hù)進(jìn)程 My=%d n,( f)My);/調(diào)試輸出 類似C語言的 PrPro rc = SsHandle = NULL; /這個(gè)是關(guān)鍵US_ACS_DENIED; /這個(gè)返回值/PsL

4、ookupProsByProsId(ULONG),&EP);EP=PsGetCurrentPros();KdPr( A asmS Pros Name-:%s-n,(PTSTR)(ULONG)EP+0 x174);/3/ add esp,10 /彈出4個(gè)參數(shù) retn 0 x10 asm/3/ add esp,10 /彈出4個(gè)參數(shù)push0 x0C4mov eax,RealNtOpenPro add eax,5jmp eaxs/return rc;SSDT_Adr=(PLONG)*SSDT_Adr;/ 0 xE9HOOK跳ULONGjmpaddr= (ULONG)MyNtOpenPro HOOK

5、s-(ULONG)RealNtOpenPros-5; /SSDT asmmovebx,SSDT_Adrmov eax,jmpaddrmov mov3mov or movBYTE ptr ds:ebx,0 xe9DWORD ptr ds:ebx+1,eaxeax, cr0 eax, 10000h cr0, eaxsti=筆記:以 32 課為例今天寫一個(gè)內(nèi)聯(lián) HOOK,打開虛擬機(jī),在 WINDBG 里看一下 u nOpenPros函數(shù),因?yàn)?JMP 需要 5 字節(jié),看一下函數(shù)的前三句都適合,所以取第一句最省事.用 SSDT 找到找到 OP 函數(shù)的地址,804e5a88,再看一下地址里的內(nèi)容,就是 NtOP 函數(shù)的地址 8058270a找到地址之后先寫入 5 個(gè)字節(jié)跳到 就返回空,如果不是則跳回原有函數(shù)+5的第一句 push 0c4h自己的地址,然后判斷是否被保護(hù)的進(jìn)程,如果是的話的地址,也就是原有函數(shù)的第二句,當(dāng)然還要寫好原有在虛擬機(jī)里進(jìn)試,輸入被保護(hù)的3 斷點(diǎn)斷下來了,原有函數(shù)已經(jīng)被 HOOK后就被了,看一下f775b074 90自己的函數(shù) u f775b0001 3

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論