我试图在特定进程上下文中的内核调试器加载特定模块时停止。
我所做的是首先设置sxe ld [process-name]
让我们说 calc.exe。
现在,当我运行 calc 时,它可以工作,但是当我设置sxe ld [dll-name]
(比如 kernel32/ntdll)时,它就无法工作。
我试图在特定进程上下文中的内核调试器加载特定模块时停止。
我所做的是首先设置sxe ld [process-name]
让我们说 calc.exe。
现在,当我运行 calc 时,它可以工作,但是当我设置sxe ld [dll-name]
(比如 kernel32/ntdll)时,它就无法工作。
我认为这通常只能停止加载内核模块(例如驱动程序)。但是,这个 SO 答案声称它可以用于用户模式进程,如果您!gflag +ksl
先发送(启用内核调试器符号的加载)。
它还描述了如何设置特定于进程的内核断点,例如
kd> .process
Implicit process is now 00112233`44556677
bp /p 0011223344556677 nt!NtMapViewOfSection
该NtMapViewOfSection
系统调用时,其他目的,负载的DLL所以由它阻止你应该抓住所有进一步的DLL加载。