驱动调试中怎么样让windbg停在DriverEntry

来源:互联网 发布:中科大软件学院学费 编辑:程序博客网 时间:2024/05/01 12:13

原文:http://blog.csdn.net/xum2008/article/details/7209785

一般说来,调速驱动程序分为两种:


1.存在PDB文件的调试:

这里的PDB文件其实就是调试符号文件,假如我们调试的这样的文件,我们可以再windbg中使用 :bp  驱动名!DriverEntry,这个时候当加载驱动的时候,程序就会断在入口了。

2.没有PDB文件的调试:

在调试别人的驱动程序时,也就是自己只有bin,并且在这个bin没有PDB文件,以及你没有它的代码。这种情况下,就出现问题了。好在我们可以查看SXE  LD 驱动的名字.sys来下断,这个时候,只要加载驱动,马上就能别windbg识别,然后我们可以使用:lmvm 驱动名,查看驱动在内存的相关信息,利用得到的信息下断点。

这个时候下的断点:bp base+poi(poi(base+3c)+base+28),这里poi是取值的意思。

下边我以调试XueTr.sys的驱动作为说明:


先设置好异常事件:


2。运行后,触发了异常:

3.查看XueTr.sys的相关信息,记录下起始地址,利用bp b22b9000+poi(poi(b22b9000+3c)+b22b9000+28)下断,断下后,即是驱动的入口了。


0 0
原创粉丝点击