1. 程式人生 > >使用windbg進行核心除錯

使用windbg進行核心除錯

1.因為核心除錯涉及到的是windows系統,所以只能在windows上執行,首先安裝xp虛擬機器;

2.然後配置boot.ini檔案,由於boot.ini檔案在xp系統中是被隱藏的,所以需要先取消xp的隱藏資料夾選項,具體步驟:

1)開啟的“我的電腦選項”->選擇“工具”中的“資料夾選項”


2)開啟之後選擇“檢視”,勾選“顯示所有檔案和資料夾”


之後就可以在c盤根目錄下找到boot.ini檔案,或者直接在執行中輸入C:\boot.ini直接開啟檔案:

3.在對boot.ini檔案進行修改之前,最好先做好系統快照,以防等下系統無法啟動。開啟檔案進行修改:

4.設定VMware,在虛擬機器操系統和宿主作業系統之間建立一個虛擬連線,為此,我們在VMware上新增一個新的裝置來使用宿主系統中的一個命名管道上的串列埠,以下是新增裝置的步驟:

1)單擊VM->Settings,然後會彈出VMware設定對話方塊;

2)在VMware設定對話方塊中,單擊右下角的Add按鈕;在彈出的裝置型別選擇視窗中選擇Serial Port,然後單擊下一步;在請求串列埠型別的對話方塊中,選擇Output to Named Pipe,然後單擊下一步;在接下來的視窗中,輸入\\.\pipe\cpm_1對管道進行命名,然後選擇This end is the server和The other end is an application ,當完成串列埠的新增後



5.完成虛擬機器的配置後啟動虛擬機器,在宿主作業系統中,使用下列步驟使WinDbg連線虛擬機器並開始核心除錯

1)啟動WinDbg,選擇File->Kernel Debug ,單擊COM標籤,然後輸入檔名和先前在boot.ini檔案中設定的波特率,本例設定115200,單擊ok按鈕前確認選中了Pipe複選框,設定如下:


2)這個時候開啟虛擬機器,進入如下介面進行選擇:

接下來一直出現這個問題,嘗試很多辦法都無法解決:

暫時寫到這裡,明天繼續

繼續更新,嘗試了很多方法之後,今天就又莫名其妙的連線上了,最主要的問題就是虛擬機器中新建的命名管道是管道2,所以在修改boot.ini檔案的時候需要將原先的COM1改為COM2(網上有這個方法的詳細說明,所以不再贅述),連線成功之後結果如下:


由於這裡連線情況顯示的不是很全,所以使用詳細的圖片來講解

之後我們以惡意程式碼實戰中的一個核心病毒來實踐:
準備好偵錯程式之後,開始準備執行這個病毒,