360内核 inline Hook 分析
来源:互联网 发布:0基础php自学要多久 编辑:程序博客网 时间:2024/05/16 16:11
今天下载了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
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在界面上的变化:
不过总体感觉360比以前有进步了!
- 360内核 inline Hook 分析
- Windows内核API HOOK 之 Inline Hook
- Windows内核API HOOK 之 Inline Hook
- Windows 内核API HOOK 之 Inline Hook
- Windows内核API HOOK 之 Inline Hook
- NT内核下的inline hook
- 详谈内核三步走Inline Hook实现
- 详谈内核三步走Inline Hook实现
- 详谈内核三步走Inline Hook实现
- 详谈内核三步走Inline Hook实现
- 【原创】详谈内核三步走Inline Hook实现
- Inline Hook
- Inline Hook
- inline hook
- inline hook
- Inline Hook
- Inline Hook
- inline hook
- UVALive
- 关于腾讯云服务器不能用公网ip访问的解决方案
- React-Native中关于样式的良好实践
- Java面试中hashCode()与equals(Object obj)方法关系的准确回答
- 安装mycat1.6环境(win7系统)
- 360内核 inline Hook 分析
- 《罪犯与女儿》,看完你会热泪盈眶
- scala/spark/python使用
- Java 最大相同字串
- 存储器类型
- 进程内存分配
- c# IComparer比较字符串
- 【洛谷2704】【NOI2001】炮兵阵地
- POJ1724 ROADS