360内核 inline Hook 分析

  

今天下载了360的最新的版本,想看下最近360在内核的钩子与以前有没有变化!

与以前一样还是通过分析找到360下钩子的地方。结果发现与以前没有什么变化。


Hook之前:

kd> u nt!KiFastCallEntry+0xe1
nt!KiFastCallEntry+0xe1:
8053e621 2be1            sub     esp,ecx
8053e623 c1e902          shr     ecx,2
8053e626 8bfc            mov     edi,esp
8053e628 3b35d4995580    cmp     esi,dword ptr [nt!MmUserProbeAddress (805599d4)]


Hook之后:

kd> u 8053E621
nt!KiFastCallEntry+0xe1:
8053e621 e90abbca01      jmp     821ea130

8053e626 8bfc            mov edi,esp
8053e628 3b35d4995580    cmp esi,dword ptr [nt!MmUserProbeAddress (805599d4)]

360还是inline hook nt!KiFastCallEntry+0xe1 这个地方!


 

 

不过,我们不能直接恢复这个钩子,因为360的驱动Hookport.sys会对这个钩子进行保护

我们需要把这保护的地方也打掉才行!
通过简单的分析我们知道具体的检查的函数是在:

kd> u f86b4354
Hookport+0xa354:

f86b4354 a184576bf8      mov     eax,dword ptr [Hookport+0xb784 (f86b5784)]
f86b4359 8038e9          cmp     byte ptr [eax],0E9h
f86b435c 750b            jne     Hookport+0xa369 (f86b4369)
f86b435e 8b4001          mov     eax,dword ptr [eax+1]
f86b4361 3b0574576bf8    cmp     eax,dword ptr [Hookport+0xb774 (f86b5774)]
f86b4367 7405            je      Hookport+0xa36e (f86b436e)
f86b4369 e894ffffff      call    Hookport+0xa302 (f86b4302)
f86b436e 33c0            xor     eax,eax
f86b4370 c20c00          ret     0Ch

 

这个函数很简单比较了第一个字节是不是等于0xE9和后面的4个字节是不是等于0x01cabb0a;

我就直接让这个函数返回

kd> eb f86b4354 c2 0c 00

 

现在我们再恢复刚才被Hook的地方

eb 8053e621 2b e1 c1 e9 02

 

到这儿360在内核的Hook被恢复了!我们看一下360在界面上的变化:

 

Untitled

 

不过总体感觉360比以前有进步了!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/russinovich/archive/2011/04/19/2020385.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值