-
-
[原创]Hide idt Hook By DrxHOOK
-
发表于:
2011-12-11 03:55
10141
-
[原创]Hide idt Hook By DrxHOOK
前段时间看了zhouws的
hide idt hook src,突然以前自己也瞎搞了一个隐藏IDT HOOK的玩意,差不多快烂了,于是整理一下也发布出来.
原理:与zhouws不同, 这个主要Pass检测, DrX Hook + 代码流离
lkd> u KiTrap01
nt!KiTrap01:
8054311c 6a00 push 0
8054311e 66c74424020000 mov word ptr [esp+2],0
80543125 55 push ebp
80543126 53 push ebx
80543127 56 push esi
80543128 57 push edi
80543129 0fa0 push fs
8054312b bb30000000 mov ebx,30h
A为8054311e, B为80543125
首先在B处设Inline Hook,这里我使用int 0C7做代理跳转到NewDBEntryAB, 然后在A下读写硬件断点,注意读写跟执行硬件断点是分离
当A处被读取的时候,NewDBEntryAB会捉捕到,然后清除断点,还原INLINE HOOK,接着在A处设INLINE HOOK,在B处设读断点
同理,B处被读取的时候,A处Inline HOOK, B处读断点,这样循环执行,总的来说就是跟检测代码躲猫猫.
效果如下:
不过WINDBG u KiTrap01貌似没被PASS,代码正常运行,弄了好久都搞不明白,求指教
附上代码,环境VS2008,WinDDK 7600.16385.1
系统XP SP2
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课