KdEnteredDebugger是内核全局变量对吧,直接就可以EXTERN后访问对吧。 为什么TP还要通过IoAllocateMdl方式去访问呢? 我看大家为了防蓝屏都是HOOK的IoAllocateMdl去将KdEnteredDebugger指向一个0。我特别就想搞懂原理,为什么TP不用直接全局变量获址方式去访问KdEnteredDebugger呢
[培训]科锐逆向工程师培训第53期2025年7月8日开班!
hzqst 因为直接使用VA访问可以被硬断捕获然后XX
style 你的意思是默认全局KdEnteredDebugger是不能直接修改的,而他不是通过CR0方式修改的,而是通过IoAllocateMdl去过WRITEPROTECT修改的,这样理解对吗?
MDL映射可以通过另一个虚拟地址访问&KdEnteredDebugger这个地址,避免了被windbg ba r4 KdEnteredDebugger跟踪到检测代码的尴尬,我这样说明白了吗
hzqst style 你的意思是默认全局KdEnteredDebugger是不能直接修改的,而他不是通过CR0方式修改的,而是通 ...
ugvjewxf 1楼解释的很清楚,感谢一楼,
空白即是正义 初衷应该只是MDL稳定 但是强行不被断VA访问的话 通过windbg下就死循环了 疯狂进入调试器 这里纠正说法:避免了被IDA断下跟踪到代码的尴尬