windbg源碼驅動調試 + 無源碼驅動調試


windbg源碼驅動調試

 

環境信息

虛擬機:win7 32位

windbg:6.12(版本不存在太大影響)

 

設置過程

 

  • 配置windbg

配置好雙機調試后,點擊windbg菜單欄的debug->Break產生中斷,控制權交給windbg

 

中斷產生后,點擊File->Open Sourse File(Ctrl+O)打開源碼文件,就會顯示出代碼窗口

 

因為有驅動源碼,可以直接在驅動入口處下斷點進行調試,格式為"bu 驅動名!DriverEntry",這里調試的驅動名為Clear,所以輸入調試命令"bu Clear!DriverEntry",最后輸入"g"把運行權交回給虛擬機

 

  • 虛擬機加載驅動,windbg觸發中斷即可進行源碼調試

使用驅動加載工具加載驅動,正常情況下會觸發中斷並把控制權交給windbg

 

如果看到下面這些信息,說明成功中斷在驅動的入口點處,可以開始源碼調試

 

無源碼驅動調試

  • 定位驅動入口點

使用CFF Explorer打開驅動文件,查看Option Header里AddressOfEntryPoint的值

 

通過驅動名+入口點偏移的方式可以定位到驅動的入口點,這里驅動名為cscc,所以應該下斷點的位置為cscc+0x2920

 
 

  • 入口點處下斷點

使用驅動加載工具在虛擬機中加載驅動,加載完后點擊windbg菜單欄的debug->Break產生中斷,把控制權交給windbg,然后在調試窗口輸入命令bp cscc+0x2920,這里可以使用lmvm+驅動名(列出驅動信息)和bl(列出斷點信息)來查看斷點是否正確設置

 

最后點擊windbg的GO(F5)跑起來,這時候就會中斷到驅動入口處

 

 

比較一下IDA反編譯的驅動入口點代碼和windbg斷在的入口點

 

參考

windbg雙機調試:https://deelmind.cn/2018/06/13/Windbg%E5%8F%8C%E6%9C%BA%E8%B0%83%E8%AF%95/

 

VS 2013驅動開發 + Windbg + VM雙機調試:https://www.cnblogs.com/lfls128/p/4971213.html

 

使用winDbg雙機調試SYS無源碼驅動程序:https://www.write-bug.com/article/1685.html

 

驅動調試中怎么樣讓windbg停在DriverEntry:https://blog.csdn.net/xum2008/article/details/7209785


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM