如何在windbg调试驱动时下断点需要在源程序修改吗
发布网友
发布时间:2022-03-26 16:06
我来回答
共1个回答
热心网友
时间:2022-03-26 17:35
1.编译好你的驱动,假设名为ShowSSDT.sys,并把驱动符号文件ShowSSDT.pdb发送到MySysSymbols文件夹下(之前设定的自己的调试符号文件夹)
2.启动虚拟机,选择调试方式进入系统
3.在Windbg中按下Ctrl+Break,输入bu ShowSSDT!DriverEntry(设置断点)回车确认然后输入g命令继续执行
4.把ShowSSDT.sys拖到虚拟机中(也可以通过网上邻居将驱动文件复制过去\\192.168.1.22\C$),在虚拟机系统中启动InstDrv,加载此驱动(也可以使用SRVINSTW.EXE将驱动作为服务安装到系统,然后使用net start 驱动名或是 net stop 驱动名)
5.回到Windbg窗口,如果一切正常的话,你会看到已经中断在ShowSSDT.sys的入口代码处了
接下来,要单步还是要下断点、要继续执行什么的,就全由你来作主了~~
F9设置断点,在按一次则取消断点
F10单步前进,即单步执行,遇到函数(call指令),不会进入函数内部,而是继续函数返回后的工作
F11单步进入,即单步执行,遇到函数(call指令),则进入函数内部继续单步执行
Debug->Break中断调试(只有在中断的情况下才能设置断点)