阅读:2472回复:9
注册表监控驱动Win7下蓝屏
注册表监控驱动用的是内核Hook方式,在XP下跑的好好的,但在Win7下蓝屏,经过调试发现在SYSCALL的时候蓝屏,也就是把自己的函数地址替换成系统函数地址时蓝屏,没有任何头绪呀。但在安全模式下正常加载起来。望高手指点呀
|
|
禁止发言
|
沙发#
发布于:2010-08-26 10:24
用户被禁言,该主题自动屏蔽! |
板凳#
发布于:2010-08-26 10:44
RealRegQueryKey = SYSCALL(ZwQueryKey);
SYSCALL(ZwQueryKey) = (PVOID)HookRegQueryKey; 调用到SYSCALL(ZwQueryKey) = (PVOID)HookRegQueryKey;蓝屏 SYSCALL宏定义如下: #if defined (_ALPHA_) #define SYSCALL(_function) ServiceTable->ServiceTableBaseAddress[(*(PULONG)_function)&0x0000ffff] #else #define SYSCALL(_function) ServiceTable->ServiceTableBaseAddress[*(PULONG)((PUCHAR)_function+1)] #endif |
|
地板#
发布于:2010-08-26 10:59
奇怪的是XP下或者Win7的安全模式下都没问题,函数也正常Hook上。
|
|
禁止发言
|
地下室#
发布于:2010-08-26 12:05
用户被禁言,该主题自动屏蔽! |
禁止发言
|
5楼#
发布于:2010-08-26 12:05
用户被禁言,该主题自动屏蔽! |
6楼#
发布于:2010-08-26 17:05
在哪加呀,第一段是保护,第二段是取消保护吗?这两段分别加在哪呀?谢谢
|
|
禁止发言
|
7楼#
发布于:2010-08-26 17:38
用户被禁言,该主题自动屏蔽! |
禁止发言
|
8楼#
发布于:2010-08-26 17:39
用户被禁言,该主题自动屏蔽! |
9楼#
发布于:2010-08-26 17:52
非常感谢,问题解决了。or eax, not 010000h跟or eax, not 0FFFEFFFFh意思是一样的吧?
|
|