#1 楼
由于某些原因,我尚未确定,通过名称(fdisk.sys)在此模块上设置断点的所有努力都失败了。该驱动程序在启动时未加载(至少在我现在正在调查的时候还没有加载)。它由模块加载,然后不久又再次卸载。我最终使用调试器(在我的VM内)逐步执行启动驱动程序的模块,在文件写入磁盘后停止执行,并使用十六进制编辑器将第一条指令更改为INT 3.可行;当驱动程序加载异常时,内核调试器将捕获该异常,并且我可以开始进行检查。 phew
现在我要弄清楚为什么我不能按名称打断它...
#2 楼
可能已经晚了,但是:如果您使用WinDBG(kd)调试内核,请使用
sxe -c ".echo fdisk loaded;" ld:fdisk.sys
这在用户和内核模式下可用,并导致在模块加载之后和入口点之前插入调试器。
#3 楼
对于windbg,请在这里查看我的答案如何可靠地手动解压缩Windows驱动程序?在连接后第一次中断
当从bootphase加载它们时,它会简单地打印出所有驱动程序详细信息,对于其他VM,您需要设置
sxe -ibp; and reboot
并在Initial Breakin上运行脚本
评论
请注意,sxe ld将仅在第一次加载时起作用,而同一模块的子序列负载将不起作用,请在此处查看pavel和raj之间的交换,以获取部分工作方法以sxe ld周期性中断osronline.com/showthread.cfm?link= 233022
– blabb
2014年5月11日7:57