从自己的角度比较《天书夜读》和《寒江独钓》
序
本文節選自《寒江獨釣》一書序言
??? 早在一年前,譚文就和我談過想寫一本既能深刻介紹Windows內核架構,又能結合具體Windows驅動程序開發實例的書。在一年的時間中,譚文一直在構思醞釀。那時候他的《天書夜讀——從匯編語言到Windows內核編程》已經出版,《天書夜讀》所涉及的內容很廣,但就如同書名一樣,它的內容不太適合剛剛涉獵Windows內核編程的程序員,反而更像一本供黑客學習的讀物。書中翔實地介紹了很多反匯編技巧的技巧,非常的精辟,但對于新手來說,容易對Windows內核編程產生畏懼感。
??? 當我第一次讀完《寒江獨釣——Windows內核安全編程》的初稿時,我覺得本書非常適合Windows內核程序的入門。Windows內核程序一直被認為是只有高手才能涉及的領域,很多程序員對這種開發都覺得非常神秘。我覺得這是一種錯覺,其中有一個很重要的原因就是國內很少出版這方面的書籍。這本書很好地彌補了這方面的空白,我相信大部分讀者讀完后,都會覺得Windows內核開發程序不再那么神秘。的確,微軟自從Windows 2000版本以后,內核的架構變化不是很大。當然,這并不意味著你讀完本書后,你就可以對內核開發游刃有余了,這需要你對每一個細節反復研究,并且多做試驗。
??? 編寫Windows內核程序,就意味著這個程序可以執行任意指令,可以訪問計算機所有的軟件、硬件資源。因此,稍有不慎就有可能將系統變得不穩定。Windows的設計者設計了各種驅動模型或者框架,如NT式內核驅動模型、WDM框架和新推出的WDF框架。在這些模型框架下編程,就使內核編程變得簡單,同樣也降低了內核程序崩潰的機會。其實,Windows驅動程序員和黑客都在寫內核程序,唯一不同的是驅動程序員按照微軟設計的模型寫程序,而黑客可以不按照這些框架寫。Windows設計的這些框架,可以將操作系統的原理隱藏起來,只暴露一些接口,驅動程序員只要把這些接口寫好就可以了。從這個角度看,驅動開發并不難,尤其是讀完本書后,更會覺得不難了。但是想完成一些特殊的功能,如內核級隱藏進程等,Windows的這些框架就沒什么用處了,程序員就需要對Windows內核有全面的了解,通過直接修改Windows內核來實現這些目的。往往黑客對這種技術樂此不疲,通過修改Windows內核,你會發現你的程序幾乎無所不能。
??? 編寫內核程序是一件很痛苦的事情,回想起這些年學習內核程序開發的經歷,真是感慨萬千。就如同譚文所說:編寫內核程序的人從某種程度講是孤獨的。當一個經驗并不豐富的小程序員面對龐大復雜的并且不開源的Windows框架時,那是一種怎樣的無助感啊!譚文是我比較欽佩的程序員之一,他對技術非常執著,并且精力充沛。內核程序的知識涉及面非常廣,不同類別的內核程序差別也特別大,他幾乎都有所涉獵。相信讀者在讀完這本書后,能對Windows內核開發有比較詳細的了解,同時也能結合書中的實例寫出很優秀的內核程序了。
張?? 帆??
2009年5月1日于北京
總結
以上是生活随笔為你收集整理的从自己的角度比较《天书夜读》和《寒江独钓》的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pdf文件展示盖章及下载
- 下一篇: 招商银行笔试题之鸡鸭分类问题