我写一个驱动里面需要从80000000开始暴力搜索2G内存寻找ntoskrnl.exe的基址,因为可能出现指针无效的内存访问异常,加载了一个seh来处理,绝大部分的情况都可以处理,也好几天运行的很好,但是最近一加载就出现PAGE_FAULT_IN_NONPAGED_AREA错...
全文
回复(5) 2005-07-12 11:42 来自版块 - 内核编程
表情
hnwgzc可能是你企图访问莫个虚拟地址,但是对应该地址的PTE不存在,这样会导致一个Page Fault,这种情况下SEH 是不管用的。最好用MmIsAddressValid检查后,才访问! OSR有两篇文章:《So What is A Page Fault?》《Bugchecks Ex...(2005-07-15 09:11)
baiyuanfan恩,请教了各位高手,的确kernelmode SEH是有问题的。如果处理的非法地址是non-paged区域里的,会发生page_fault_in_nonpaged_area的KeBugCheckEx,代码到不了SEH里。在此帖出改进过的不用SEH的版本。 //rewrite 7...(2005-07-13 20:09)
bmyyyud是会不太好用的(2005-07-13 16:55)
baiyuanfan因为错误根本断不下来,不知道当时的irql是多少,但是在driverentry里应该是passive了。(2005-07-12 12:01)
baiyuanfan__declspec(naked)//self-reloc,rawmem searcher void* __stdcall searchkmod(char* modname){ __asm{ push ebp ...(2005-07-12 11:43)

返回顶部