[作者]
豬頭三
個人網站 :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> 不要急于求成,不要浮躁,不要把驅動開發技術當做一種炫耀