windbg源码驱动调试
环境信息
虚拟机:win7 32位
windbg:6.12(版本不存在太大影响)
设置过程
- 配置windbg
配置好双机调试后,点击windbg菜单栏的debug->Break产生中断,控制权交给windbg
中断产生后,点击File->Open Sourse File(Ctrl+O)打开源码文件,就会显示出代码窗口
因为有驱动源码,可以直接在驱动入口处下断点进行调试,格式为"bu 驱动名!DriverEntry",这里调试的驱动名为Clear,所以输入调试命令"bu Clear!DriverEntry",最后输入"g"把运行权交回给虚拟机
- 虚拟机加载驱动,windbg触发中断即可进行源码调试
使用驱动加载工具加载驱动,正常情况下会触发中断并把控制权交给windbg
如果看到下面这些信息,说明成功中断在驱动的入口点处,可以开始源码调试
无源码驱动调试
- 定位驱动入口点
使用CFF Explorer打开驱动文件,查看Option Header里AddressOfEntryPoint的值
通过驱动名+入口点偏移的方式可以定位到驱动的入口点,这里驱动名为cscc,所以应该下断点的位置为cscc+0x2920
- 入口点处下断点