【问题标题】:How to break when a DLL is loaded in kernel debugger mode?在内核调试器模式下加载 DLL 时如何中断?
【发布时间】:2019-08-08 12:50:44
【问题描述】:

在用户态调试中,我通常使用以下命令来中断:

sxe ld Something.dll

我在内核模式下尝试过同样的方法,但它不起作用。有不同的命令吗?

【问题讨论】:

  • 会在入口点设置一个未解决的断点工作:bu Something!_DllMainCRTStartup 或bu Something!DllMain?

标签: windbg


【解决方案1】:

你会想跑:

!gflag +ksl
sxe ld Something.dll
g

您可能还想参考 [1],其中讨论了使用上述方法在启动时附近闯入进程。

[1]How do I debug a process that starts at boot time?

【讨论】:

  • 像魅力一样工作。这应该是公认的答案
  • 这似乎对我不起作用。我试图闯入一个 DLL,该 DLL 作为登录时发生的计划任务的一部分加载,但内核调试器永远不会闯入。
【解决方案2】:

在进行内核模式调试时:使用sxe,您将只能中断内核模式二进制文件,如 *.sys 文件。

不适用于 *.dll 等用户模式二进制文件

如果您分享您正在努力实现的目标,也许我们可以找到其他方法来实现这一目标!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-11
    • 2012-07-10
    • 2015-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-31
    • 1970-01-01
    相关资源
    最近更新 更多