調試無符號驅動的時,快速到達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這個系統調用或者繞或這個系統調用加載的驅動的方法。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章