天天看點

windows驅動開發

[作者]

豬頭三

個人網站 :http://www.x86asm.com/ 

[序言] 

很多人都對驅動開發有興趣,但往往找不到正确的學習方式.當然這跟驅動開發的本土化資

料少有關系.大多學的驅動開發資料都以英文為主,這樣讓很多驅動初學者很頭疼.本人從

事驅動開發時間不長也不短,大概也就3~4年時間.大多數人都認為會驅動開發的都是牛人,

高手之類的.其實高手,牛人不是這樣定義的.我們在學習驅動開發之前,一定要明白一個道

理:術業有專攻,不要盲目跟風.

[貢獻者] 

1> defddr    看雪學院 

2> StudyRush 看雪學院 

[本内容适用環境及工具] 

1> Windows系統下

2> VC6.0以及VS2003版本以上

3> Windows驅動開發包(DDK(老版本) WDK(新版本))

4> 有能力着可以安裝VMWare

[本内容适用群體] 

1> 具有C/C++語言基礎的人

2> 具有80x86彙編基礎的人

3> 具備高中以上文化水準的邏輯思維

[具備Windows系統理論書籍] 

1> Windows核心程式設計

2> Win32多線程程式設計

3> 深入解析Windows作業系統

4> Windows作業系統原理

FAQ1:為什麼需要[具備Windows系統理論書籍]這4本書? 

答:驅動是Windows系統的一個重要的組成部分,深入Windows系統核心的一個體系,就

因為驅動跟系統核心聯系得十分緊密,是以涉及了不少系統的基礎理論以及原理.是以在學

習驅動開發之前必須先明白Windows 系統的基礎開發理論,Windows系統的運作原

理,Windows系統的架構體系.那麼我提供的上面4本書是目前市面上我認為最經典最全面

的書籍了.

[具備Windows驅動開發書籍] 

1> Windows驅動開發詳解

2> Windows裝置驅動程式WDF開發

FAQ2:為什麼需要[具備Windows驅動開發書籍]這2本書? 

答:假設你對Windows系統的基礎理論紮實了,也看完了所說的[Windows系統理論書籍]

這4本書,而且你還從事開發過Windows程式或者大程式的經驗者.那麼你進入Windows

驅動開發的時候,需要一本經典的驅動入門開發書籍即可正确入門.現在我提供了

[Windows驅動開發書籍]這2本書完完全全針對Windows驅動開發入門而編寫的書籍.

當然我首要推薦<Windows驅動開發詳解>這本書.本書的内容在目前來說,針對驅動開發

的講解時非常到位了.包含了驅動開發理論 配置 驅動體系 等等......是一本不可多得

的好書.那麼第2本,其實有點濫竽充數,但是他裡面有少少涉及到WDF這個最新的驅動開

發理論的講解,大家也就湊合着吧.

[具備Windows調試基礎理論書籍] 

1> 軟體調試

2> Windows使用者态程式高效排錯

FAQ3:為什麼需要[具備Windows調試基礎理論書籍]這2本書? 

答:在開發驅動的情況下,你少不了要調試驅動程式.那麼如何調試驅動程式呢? Windows

已為你考慮到這個問題了并開發了一套強有力的調試工具:Windbg .如何學習這個工具的

調試呢?那麼現在市面上隻有這2本書針對Windbg講解得還比較到位,至少針對調試指令

的使用,已經用中文講解了,大家可以通過2本書先大概了解Windbg的調試指令,然後再進

一步進行GOOGLE搜尋并深入學習.

[具備彙編基礎理論書籍] 

1> 彙編語言 作者:王爽

2> 80x86彙編語言程式設計教程[綠皮版 或者 黑皮版]

FAQ4:為什麼需要[具備彙編基礎理論書籍]這2本書? 

答:由于在Windows環境下開發驅動,進而有個弊端,就是Windows的WDK,DDK文檔少得

可憐,很多說明多是模糊的.是以導緻我們開發的驅動極其不穩定,這時就需要逆向

Windows驅動的機制來加深了解.在一個由于驅動的不穩定性,會導緻系統藍屏,有時錯誤

并不會直接定位到你的代碼,這時就需要彙編來分析錯誤的緣由.就如我前面介紹的[具備

Windows調試基礎理論書籍] 基本是用彙編語言來闡述調試技術.

[驅動開發擴充書籍] 

1> 寒江獨釣-Windows核心安全程式設計

2> Windows核心原理與實作

3> Rootkit Windows核心安全防範

4> Windows核心情景分析

FAQ5:為什麼需要[驅動開發擴充書籍]這4本書? 

答:熟話說:學無止境,驅動開發領域是一個很龐大的體系,這歸根于驅動架構多樣化而決定

的.驅動包含了:檔案驅動,磁盤驅動,顯示卡驅動,網絡驅動,等等不同的種類,每一種類就是

一個領域,你決定你的能力需要擴充到多方面,那麼你可以考慮先我這裡提供的這4本書來

學習,通過閱讀這3本書,你會發現驅動可以做很多你意想不到的事情.本人從事開發驅動

将近4年,也僅僅涉及 檔案驅動,磁盤驅動以及一些小型驅動而已.這些的學習我也僅僅是

根據需求來進行選擇性學習.每個人都有自己的能力極限,大家要量力而行. 

備注:網友可以推薦其他好書

[推薦學習資源站點] 

1> http://forum.driverdevelop.com/ 國内唯一個知識點比較全的驅動交流網站 

2> http://www.osronline.com/ 國外著名的驅動開發社群 

3> http://www.microsoft.com/whdc/default.mspx 微軟官方驅動開發技術支

持 

[推薦正确學習方式] 

1> 認真閱讀我提供的參考書籍

2> 多使用Google來解決你遇到的問題

3> 多嘗試用驅動寫你自己喜歡的功能

4> 提升你英文閱讀能力,因為大部分有價值的資料來自于國外

5> 不要急于求成,不要浮躁,不要把驅動開發技術當做一種炫耀

繼續閱讀