既上一篇,使用sxe 的指令设置异常来断驱动的主函数的方法后,我们继续学习高端调试下断的方法。
利用断加载驱动的函数的方法,同样能够达到驱动的入口。这个加载驱动的函数就是:IopLoadDriver
具体的每个系统的IopLoadDriver的偏移地址可能不同,但是,我们可以通过windbg进行调试和获取:
使用uf nt!IopLoadDriver指令,然后在反汇编的代码框中进行查找:
找到:nt!IopLoadDriver+0x663 就是我们要下断的地址了。
使用 bp nt!IopLoadDriver+0x663 下断点:
然后,当你加载驱动的时候,windbg就会断下了,然后,你使用从函数返回的选项,返回到函数IopLoadDriver的调用点:
这个就是call里边就是驱动的入口了:
8057777c ff572c call dword ptr [edi+2Ch]
单步加入这个call: