阅读:2936回复:3
为什么总是出现异常?
NTSTATUS MyNtCreateFile(...)
{ ...................... __try{ ProbeForRead(ObjectAttributes->ObjectName,ObjectAttributes->Length,4); ProbeForRead(ObjectAttributes->ObjectName->Buffer,ObjectAttributes->ObjectName->Length,4); KdPrint(("FileName =%S%S%S\n",Parent?Parent->Buffer:L"",Parent?L"\\":L"",ObjectAttributes->ObjectName->Buffer)); } __except(EXCEPTION_EXECUTE_HANDLER) { KdPrint(("CATCH THE exception\n")); } KdPrint(("goto the real CreateFile\n")); ............. } 这一段是我HOOK了ZwCreateFile函数中的我的自己的MyZwCreateFile函数,为什么总是捕获到了异常了呢,ObjectAttributes->ObjectName,ObjectAttributes->ObjectName->Buffer总是不可读的吗?我自己 随便打开一个文件佳,也是那样,并不获得文件名,网上很多这样的HOOK ZwCreateFile函数得到文件名的,自己运行后总是不行啊? |
|
沙发#
发布于:2010-04-08 20:16
如果并不是用这个ProbeForRead去测试是否可读的话,就会出现 PAGE_FAULT_IN_NONPAGED_AREA这个错误.!大牛门这个怎么解决啊
|
|
板凳#
发布于:2010-04-08 21:02
我的是XPSP3的环境,在03上有时能看到得到的文件名,XPSP3总是异常....
|
|
地板#
发布于:2010-09-03 14:42
事过几个月,自己来回答下,ProbeForRead是测试r3空间的,对于r0空间的都是异常
|
|