瑞星的核心Hook分析

2022-03-01 19:37:23 字數 1300 閱讀 8968

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 然後儲存並替換偏移量處的值為自己新的函式位址就行了。這種技術現在已是老掉牙了,不過在實際的軟體開發中也比較常用,...