多维时空 发表于 2017-6-1 17:25:58

调试无符号驱动的时,快速到达DriverEntry的方法——2

既上一篇,使用sxe 的指令设置异常来断驱动的主函数的方法后,我们继续学习高端调试下断的方法。




利用断加载驱动的函数的方法,同样能够达到驱动的入口。这个加载驱动的函数就是:IopLoadDriver




具体的每个系统的IopLoadDriver的偏移地址可能不同,但是,我们可以通过windbg进行调试和获取:




使用uf nt!IopLoadDriver指令,然后在反汇编的代码框中进行查找:







找到:nt!IopLoadDriver+0x663 就是我们要下断的地址了。




使用 bp nt!IopLoadDriver+0x663 下断点:







然后,当你加载驱动的时候,windbg就会断下了,然后,你使用从函数返回的选项,返回到函数IopLoadDriver的调用点:




这个就是call里边就是驱动的入口了:

8057777c ff572c call dword ptr


单步加入这个call:






这种方法的缺点是不能调试boot类型的驱动以及不使用IopLoadDriver这个系统调用或者绕或这个系统调用加载的驱动的方法。
页: [1]
查看完整版本: 调试无符号驱动的时,快速到达DriverEntry的方法——2