1. ssdt 和 shadow ssdt hook
瑞星hook了一大堆的ssdt,我就直接在核心裡面把它們都恢復了!
2. inline hook
瑞星hook了obreferenceobjectbyhandle前面的5個位元組
hook前:
kd> u nt!obreferenceobjectbyhandle
nt!obreferenceobjectbyhandle:
805b1ab6 8bff mov edi,edi
805b1ab8 55 push ebp
805b1ab9 8bec mov ebp,esp
805b1abb 51 push ecx
805b1abc 51 push ecx
805b1abd 53 push ebx
805b1abe 56 push esi
805b1abf 57 push edi
hook後:
kd> u 805b1ab6
nt!obreferenceobjectbyhandle:
*** error: symbol file could not be found. defaulted to export symbols for hookhelp.sys -
805b1ab6 e93d654378 jmp hookhelp!risinginlineunhook+0x4d98 (f89e7ff8)
805b1abb 51 push ecx
805b1abc 51 push ecx
805b1abd 53 push ebx
805b1abe 56 push esi
805b1abf 57 push edi
這個地方的hook與以前一樣還是沒有保護,直接恢復就完了,這點比360要差一些!
核心的hook全部被恢復之後發現瑞星居然沒有發現自已的核心鉤子已經被解除安裝了,而360卻可以發現自已的核心鉤子被解除安裝,從這兒可以看出360還是強於瑞星的。
讓我們看看核心鉤子被解除安裝掉之後瑞星在ui上的表現:
瑞星感覺自身工作的很正常,呵呵!
說句實話瑞星做為防毒軟體功能與其它殺軟相比還是要差一些的!
linux 核心 hook函式介紹
在編寫linux核心中的網路模組時,用到了鉤子函式也就是hook函式。現在來看看linux是如何實現hook函式的。先介紹乙個結構體 struct nf hook ops,這個結構體是實現鉤子函式必須要用到的結構體,所在檔案 linux netfilter.h 定義為 typedef unsigne...
Windows 核心Hook之IOAPIC程式設計
hook 系列中,包括應用程式 hook 程式設計 idt 和ioapic 程式設計,其中 iopic 顧名思義 i o advanced programmable interrupt controller 中斷控制器。在 windows 中有固定的兩個位址進行操作,第一 i o暫存器選擇暫存器,其...
Hook 核心函式技術細節
剛開始看到通過 ssdt 來 hook zw 核心函式的方法時不是很了解,等把 zw 反彙編後才發現技術細節.原來也沒什麼新鮮的,就是找到目標函式在 ssdt 中的位置 偏移量 位置 4 然後儲存並替換偏移量處的值為自己新的函式位址就行了。這種技術現在已是老掉牙了,不過在實際的軟體開發中也比較常用,...