- 注册时间
- 2011-3-6
- 最后登录
- 1970-1-1
该用户从未签到
|
发表于 2012-3-22 08:58:08
|
显示全部楼层
方法1:ssdt hook 对付gpk的 inline hook , 难点是 hook掉 call 后面的函数地址,(hook ObCheckObjectAccess)
ObCheckObjectAccess这个函数关于进程句柄的获取,OpenProcess。9
还有一个问题 ce不能附加传奇3,是因为gpk hook了内核函数ObCheckObjectAccess
Gpk hook了内核函数ObCheckObjectAccess 可以说是"一石二鸟",线程、进程全部被保护起来了。
这样就导致以下两种反智辅的情景:
一、利用OpenProcess的Api函数返回为0,不能获取传奇3的进程句柄。
二、CE工具不能附加传奇3,弹出"打开进程失败"等提示。其实ce也是用api函数的OpenProcess
那么我们看下以下这个OpenProcess从ring3到ring0的执行路线:
Ring3用户层OpenProcess ->Ring0驱动层NtOpenProcess->Ring0驱动层ObOpenObjectByPointer(name)->Ring0驱动层 ObpCreateHandle->Ring0驱动层ObpIncrementHandleCount->Ring0驱动层ObCheckObjectAccess -> Ring0驱动层ObGetObjectSecurity。 |
|