WinDbg下断驱动入口

这个问题虽然是比较老了,但是看雪上还有同学提到,在这里做个总结,给像我这样的新手看看。

 

1)直接修改入口

WinDbg下断驱动入口_第1张图片

用c32asm或者其他PE编辑工具,修改开头的几个字节,改成cc,即int 3。这样,驱动加载的时候就会断在这里了。

ps:这种方法对于有校验的驱动可能不太适用。


2)下断IopLoadDriver

WinDbg下断驱动入口_第2张图片

这里的EDI其实就是DriverObject。DriverObject+2c就是DriverInit。在这里单步进去就是DriverEntry了。

ps:这种方法下断IopLoadDriver对应的偏移,在不同的操作系统下,会有所不同。不过对应的代码基本上是如下形式:

push reg

call reg+xx


3)sxe ld:module name


sxe ld:hookport.sys

当hookport模块被加载的时候,就触发了一个异常:

得到模块的基地址base:

下断驱动模块执行入口点

bp base+poi(poi(base+3c)+base+28)

WinDbg下断驱动入口_第3张图片

ps:此方法可以下断boot型的驱动。



你可能感兴趣的:(c,Module,工具)