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

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

分类: 高端调试 320人阅读 评论(0) 收藏 举报

既上一篇,使用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:



这种方法的缺点是不能调试boot类型的驱动以及不使用IopLoadDriver这个系统调用或者绕或这个系统调用加载的驱动的方法。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章