Windows驅動開發與除錯

2021-10-24 07:34:57 字數 1453 閱讀 5943

配置目標:

1.vs2017+windows10.0.16299+wdk驅動開發機(虛擬機器)

2.虛擬機器win7 sp1驅動測試機

3.win10實體機windbg除錯win7sp1驅動測試機

實際專業的驅動開發1和3是同一臺實體機,也就是在實體機上編譯和除錯虛擬機器內的驅動,如果驅動更加涉及底層,測試機也必須要用實體機,使用物理串列埠連線除錯。

這裡選擇分開的原因是驅動開發機要編譯的是rootkit驅動,可能會損害實體機。是為了更加安全的一種防護措施,第二是方便以後移植直接拷貝虛擬機器映象檔案就可以開發了。

根據官網的配置把環境搭建好的話還需要對vs配置如下:

把sdk版本換成你的作業系統的版本的sdk,如果沒有,說明vs沒有安裝正確,重新執行vs安裝程式,更改下安裝元件即可,不用完全解除安裝。

把警告等級改為關閉所有警告。可以試一下編譯乙個demo的nt驅動程式,這個時候應該可以編譯出sys驅動檔案的。如果編譯過後出現temp.h,那麼你肯定哪個步驟漏了,回頭反省下。

最後如果編譯通過了,就可以設定下生成的目標平台。

如果自己實在不想搭建,可以找我要虛擬機器,驅動開發除錯等工具全部搞好大概60gb,可以聯絡我qq私發。

首先關閉虛擬機器(不要掛起),新增串列埠通訊管道。注意有且僅有這乙個串列埠,不然配置比較麻煩。

以管理員許可權開啟system32目錄下的cmd.exe,並做上圖操作:建立新的識別符號並開啟除錯模式。

cmd命令開啟msconfig介面,勾選上圖標記的三個框。此時測試機的環境搭建完畢。拍個快照,方便以後除錯。

實體機要注意:

一、在windbg的快捷方式後新增

-b -k com:pipe,port=\\.\pipe\com_1,baud=

115200

,reconnect -y

二、遠端除錯的符號路徑最好新建個資料夾,不要和本機除錯的符號資料夾放一塊,因為虛擬機器裡的win7符號和實體機的win10作業系統符號肯定是不同的。

三、連線時要先啟動虛擬機器,再啟動windbg。

參考

驅動環境的搭建

驅動的除錯

Windows驅動開發

以ddk2600版本為例 無論是ddk驅動還是pnp驅動,都需要撰寫makefile檔案.使用nmake 來驅動執行.系統目錄預設有makefile檔案,裡面包括有安裝目錄下makefile.def檔案,這個裡面包含檔案makefile.inc,及每個即編譯檔案所在目錄的dirs檔案 makefil...

windows驅動開發

作者 豬頭三 個人 序言 很多人都對驅動開發有興趣,但往往找不到正確的學習方式.當然這跟驅動開發的本土化資 料少有關係.大多學的驅動開發資料都以英文為主,這樣讓很多驅動初學者很頭疼.本人從 事驅動開發時間不長也不短,大概也就3 4年時間.大多數人都認為會驅動開發的都是牛人,高手之類的.其實高手,牛人...

Windows驅動開發(一)

筆者學習驅動程式設計是從兩本書入門的。它們分別是 寒江獨釣 核心安全程式設計 和 windows驅動開發技術詳解 兩本書分別從不同的角度介紹了驅動程式的製作方法。在我理解,驅動程式可分為兩類三種 第一類 傳統型驅動 傳統型驅動的特點就是所有的irp都需要自己去處理,自己實現針對不同irp的派發函式。...