TA . 在Shadow SSDT Hook .里遇到问题。请指教。3Q
本帖最后由 xmlpull 于 2012-3-30 03:09 编辑这是老大的。SSSDT HOOK。 Sys部分的截图。
好了。结果我也去仿照。mov rax,rcx ; rcx = ID - 0x1000;
mov r10,rdx ; rdx = Shadow SSDT;
mov r10,
mov eax, ;<- 运行到这步就蓝屏了。
sar eax,4
movsxd r11,eax
add r11,rdx
mov rax,r11
ret。还有个奇怪问题。
如图。明明SSSDT就为红线所画。可以 dp 看到的内容。好神奇。
用了老大的工具。
dp .dd 该地址还是 。神奇的符号。
{:soso__6235880048239246314_3:}{:soso__6235880048239246314_3:}
结贴吧。
原来非GUI程序不能访问野。 刚刚看到这个帖子。。。
我估计你也是把代码写到DRIVER_ENTRY里了。。。
纠正一个错误,只有IDLE进程和SMSS不能访问WIN32K的内存空间,普通的CUI进程是可以的。 Tesla.Angela 发表于 2012-3-30 18:36 static/image/common/back.gif
刚刚看到这个帖子。。。
我估计你也是把代码写到DRIVER_ENTRY里了。。。
嗯。后来解决了。!!!!
把代码写到 IOCTL 里面。!
3Q。 TA。
最近写代码 遇到个效率问题。不知道TA。怎么解决这样的问题的。例如
在自己的 Inline Hook OpenProcess 里面。我需要从R3 传入 多个 自己想要输出 消息的进程名/句柄。
if(HANDLE == handle || HANDLE == handle || HANDLE == handle...........HANDLE == handle )
{
Dbgprintf("XXX");
}
OpenProcess 系统是频繁调用的。
所有感觉这样的效率非常不高。所以有什么 艺术 代码 ? 求指教、
xmlpull 发表于 2012-3-30 22:10 static/image/common/back.gif
嗯。后来解决了。!!!!
把代码写到 IOCTL 里面。!
用for循环遍历数组 Tesla.Angela 发表于 2012-4-1 07:58 static/image/common/back.gif
用for循环遍历数组
for循环。。。。这个与他那个遍历有啥区别。。。。。bitmap就好了
一个bit代表一个pid
要判断某个pid是不是自己感兴趣的。。。。直接算相应pid值得bit是不是被置位的就好了
比如,pid5543,那你只要算一下你的相应bitmap的第5543bit是不是1.这个是O(1)的速度了。。。 xmlpull 发表于 2012-3-30 22:10 static/image/common/back.gif
嗯。后来解决了。!!!!
把代码写到 IOCTL 里面。!
另外我记得以前有人说过OpenProcess(pid+0)、OpenProcess(pid+1)、OpenProcess(pid+2)、OpenProcess(pid+3)都是可以的,反OpenProcess最好是打开之后用ObRefObj来反查PEPROCESS,如果是的话就关闭句柄并返回失败。 sb666 发表于 2012-4-3 13:59 static/image/common/back.gif
在64位的系统搞进程保护何必ssdthook呢?挂了也白挂,反正都要日pG
不如用ObRegisterCallbacks还防得严密 ...
我也觉得,到了X64时代要改变思想,不能老是HOOK了。 xmlpull 发表于 2012-3-30 22:10 static/image/common/back.gif
嗯。后来解决了。!!!!
把代码写到 IOCTL 里面。!
得要留心一下這個問題
页:
[1]