标题:
[note]inline hook KiInsertQueueApc,比KV 2008更近一层的进程自我保护.
[打印本页]
作者:
点饭的百度空间
时间:
2008-5-4 10:20
标题:
[note]inline hook KiInsertQueueApc,比KV 2008更近一层的进程自我保护.
作者
WINDOWS内核疯狂爱好者sudami
(黑基版主苏大米)
转自:
http://hi.baidu.com/sudami/blog/ ... 8a651a95ca6b9b.html
5.1搞了一天半,总是在__
declspec(naked)
内局部判断出问题。今天下午忽然恍然大悟:
1. 对于 KiInsertQueueApc这样的
fastcall
类型的函数要自己完成堆栈平衡等操作;因为该函数调用的太频繁,故可能出现自身循环调用的情况,需要保存寄存器。fastcall函数的inline hook要区别对待。其他类型的直接用
MS—REN
的hook lib就行了.
2. 对于fastcall类型的,最好不要直接在其内部调用外部函数和全局变量. [个人意见]
3. 判断进程名的时候要注意是否是自己的进程在插APC,否则然系统会死掉,或起不到保护的效果,或者自己的进程什么也做不了。
4. 深层次的inline hook的基本原理如下,堆栈平衡很好实现(当然逃不过带反汇编引擎ARK):
pushfd
pushad
call MyFuction
popad
popfd
综上,做的这个测试程序比KV 2008的进程自我保护更进了一层,加了线程循环恢复inline hook,再做做防内存清0,基本能对付
IceSword、RKU、GMER、狙剑
一类的杀戮了。
简单的测试下,各位同学不要瞎起哄哦~~~
btw:感谢r0b1nh00d大哥、zhuwg牛的指导
[
Last edited by 点饭的百度空间 on 2008-5-4 at 10:26
]
作者:
qq200878
时间:
2008-5-4 16:53
微点的自我保护用的就是inline hook ,不知道吗?
作者:
gudan
时间:
2008-5-4 22:21
无语,不知道他下一次hook的目标是什么了,没准是int
欢迎光临 微点交流论坛 (http://bbs.micropoint.com.cn/)
bbs.micropoint.com.cn