约有 37 项符合查询结果, 以下是第 2 - 4项。
费时 < 1 秒。
void MarkPdeNotPresent( PPDE pPde ){ __asm { mov eax, pPde and dword ptr [eax], 0xFFFFFFFE //mark the pde not present }}内核做拦截页错误处理,hook后驱动中自己修改pde,在执行到这一句时and dword ptr [eax], 0xFFFFFFFE,cpu重启,没有蓝屏(所以也没有dump分析)不知道什么原因,请前辈们指点一二,感激不尽
Posted in Windows内核调试
by
特来劲同学
on 2012-09-07
internal是的第7章,第383页,书上说HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management下的LargePageDrivers里填上驱动名,可我测试了总是不成功,请老师和各位大侠帮忙看下原因在何处
Posted in Windows内核调试
by
特来劲同学
on 2012-09-05
MmLoadSystemImage——>MiLoadImageSection(MmMapViewOfSection、MiUnmapViewOfSection?)
为什么在要调用者2个函数呢? 不是很明白,请老师指点下迷津
代码如下:
MiLoadImageSection (
IN OUT PSECTION *InputSectionPointer,
OUT PVOID *ImageBaseAddress,
IN PUNICODE_STRING ImageFileName,
IN ULONG LoadInSessionSpace,
IN PKLDR_DATA_TABLE_ENTRY ...
Posted in Windows内核调试
by
特来劲同学
on 2012-04-10
既然内核是用大页面映射,而其他模块用小页面映射,那么大页面的虚拟内存和物理内存(pfn)如何管理?内存管理器如何协调两种不同大小的页面?
Posted in Windows内核调试
by
特来劲同学
on 2010-12-20
先感谢老师,有点开窍了,呵呵,太笨了
那照老师这样说,进程的C0000000-C0800000的进程页表中,后半部分C0400000-C0800000除了页目录之外(好像还有什么超空间之类的其他私有页)其他所有都为0咯? 老师我这种说发对吗?
刚用windbg看了一下
lkd> !pte 805cc3fc VA 805cc3fcPDE at 00000000C0602010 PTE at 00000000C0402E60contains ...
Posted in Windows内核调试
by
特来劲同学
on 2010-12-20
老师 ,还是有点疑问,根据老师的指引,我再把我的疑惑表述下:在进程,创建时,他复制了系统内核页表的页目录到自身(实际上是拷贝的父进程),想应整个页表中的高于80000000的页表项pte也复制么?好像是复制,呵呵忘记了。先不管,复制也好,不复制也好,当后来一个内核模块加载到系统中时,并且在某一个进程是调用其代码和数据时,页错误总能把代码和数据带到该进程,正确设置其pte使其能正常执行,我的疑惑是,当该内核模块从系统中卸载时,系统如何保持相关的一致性的?假如系统所有进程都引用过该内核模块,则其页表中pte必定指向相关pfn,既然卸载了,相关fpn则应该释放,否则不是还可以继续引用么?难道系统卸载内核模块是遍历系统所有进程,删除相关pte?不解
Posted in Windows内核调试
by
特来劲同学
on 2010-12-19
调了搞了半天,疑问越来越多,现在的几个问题都没有解决。。郁闷
1.此dpc定时器是在哪个中断(也可能是idl或时钟,idl可以明显显示出来看)后触发的?不过好像这个问题没什么多大意义,主要就是想找到这个中断
2.定位定时器对象
3.dpc例程的地址(解决2的话这个就顺带解决了,现在假如2没解决的情况下如何找)
4.如何找到dpc定时器的设置者?kisettimerex在哪个模块里调用的。
求老师前辈们慷慨教育,晚辈不胜感激.
Posted in Windows内核调试
by
特来劲同学
on 2010-12-18