调试无符号驱动的时,快速到达DriverEntry的方法——2
2016-04-25 19:50
567 查看
既上一篇,使用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这个系统调用或者绕或这个系统调用加载的驱动的方法。
利用断加载驱动的函数的方法,同样能够达到驱动的入口。这个加载驱动的函数就是: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这个系统调用或者绕或这个系统调用加载的驱动的方法。
相关文章推荐
- HDU2579(BFS)
- 全文检索Lucene和Solr简介
- 2016.4.23初中部GDOI组模拟赛总结
- Spring4 hibernate4与strtus2的整合
- 欢迎使用CSDN-markdown编辑器
- 【Unity灯光与渲染技术】Global Illumination全局光照
- bnu 51641 Certain Maze(bfs)(北师16校赛)
- Highway Project---zoj3946(最短路SPFA)
- java web 连接数据库异常 Before start of result set
- Android 屏幕适配
- 用MySQL构建一个工作跟踪流程
- 事务是什么?
- 碰撞的蚂蚁
- 驱动调试中怎么样让windbg停在DriverEntry
- MyEclipse连接MySQL
- nyoj 44 子串和
- sitemesh技术的应用
- ABP源码分析三十七:ABP.Web.Api Script Proxy API
- [GDOI2016模拟04.25总结]
- HDOJ1175(BFS)