zoukankan      html  css  js  c++  java
  • 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比以前有进步了!

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    SharePoint 2013 开启訪问请求
    鸟哥Linux私房菜知识点总结3到5章
    火狐浏览器中加入httprequest的方法
    xhprof安装&&使用
    第一篇、Android Supersu 权限管理定制,隐藏过滤权限,指定APP最高权限
    Android 推断程序在手机中是否是活动状态或者正在执行状态
    【Java并发编程实战】—–synchronized
    24岁菜鸟,能一个人撑起App开发吗
    技术与经济之八:关于优惠与红包
    关于notepad++如何自动补全标签的问题
  • 原文地址:https://www.cnblogs.com/russinovich/p/2020385.html
Copyright © 2011-2022 走看看