「驅網核心技術叢書」創作團隊訪談
本文由驅網核心技術叢書 作者 譚文 組稿
工程實踐和學術研究往往不是一回事。比如說,在乙個工程中,涉及到計算機底層知識的很多情況就是解決軟體故障。乙個軟體安裝之後,在某個電腦上有時(比如 說平均一周發生一次)的有故障現象發生,在另一台電腦上卻沒有任何問題。但是客戶是不會容你挑選電腦的。那麼你能解決這個問題嗎?
有的人彙編、作業系統、c語言、資料結構無一不精通,卻全然不知道怎麼下手。有的人半道出家,只是耳濡目染,學一點邊角料,卻偏偏能迅速找到問題所在。這是為何?
這是因為知識再多,也是可以分門別類,逐條學習的有形之物。問題卻是無形的。計算機**,從最高層一直到最底層,從c語言一直到機器碼,這中間千頭萬緒, 任何乙個小小的失誤、任何乙個陰差陽錯,都有可能導致問題出現。如果只把持著條條框框的有形的知識,又怎麼能去解決千頭萬緒、完全「胡來」的種種問題呢?
從08年下半年到現在,我和本套叢書的作者,也就是驅動開發網的創作團隊成員們相識也有大半年的時間了,也逐漸熟悉並適應了作者們的脾氣和處世方法,現在 我們是非常好的朋友。有時候想想「編輯」其實也是設計師,如果不注重作品的品相,草率出版恐怕會有太多的遺憾,也體現不出一本書的價值了。從事出版工作6 年了,我個人感覺圖書還是值得收藏或者是珍藏的,至少很多圖書值得這麼做。在和作者們聊天的時候,我得到了以下的反饋資訊,在此與廣大讀者朋友共享!
提問一:為何會有寫作這幾本書的想法呢?
譚文:我讀大學的時候,也系統的學過許多的功課。無論是「組合語言」「作業系統」、「體系結構」、「計算機網路」,部部都是經典之作。但是卻缺少一條線索,讓我將這些知識融匯貫通,去面對實際的問題。
因此我剛畢業時,雖然懂彙編,也知道作業系統的原理。但是開啟windbg看到windows核心的那些反彙編,卻什麼都不懂。有的那些「非科班出身」的 老手,卻看得頭頭是道。有的人精通網路知識,但是說到要自己去編寫乙個windows的核心防火牆,卻只能拷貝人家現成的**,稍微做點修改,馬上藍屏。 藍屏之後,又茫然不知所措,最後就放棄了。有的人網路知識一知半解,考試就靠連夜磨槍,但是實際工作的時候,卻總能按時交出符合要求,執行穩定的程式。
提問二:「融匯貫通」看似簡單,真正實現還是很難的。為何《天書夜讀》拋棄了專門講述驅動、安全、作業系統、或者組合語言這樣的某乙個專題,卻選擇了從彙編開始、然後是驅動、最後是安全應用的這樣乙個結構?
譚文:在驅動開發除錯的時候很有用。因為windbg裡顯示的windows核心,全部是反彙編的**。我就是為了這個原因,才想到寫《天書夜讀》。市面上介紹驅動開發的書也不少,但是我很驕傲的說,用反彙編來幫助編寫驅動程式的,《天書夜讀》暫時是獨此一家,別無分店。
提問四:驅動開發在**有應用?
馬勇:無疑為特殊的硬體開發驅動程式的應用是很多的,國內很多大學導師都在做各種研究專案。資訊、電子方面的專案乙個很重要的問題就是,我們新製作的硬體裝置往 往是沒有標準的驅動程式可用的,為了和pc機之間有乙個銜接,就必須學會編寫驅動程式。很多研究生,包括博士、碩士其實都在為導師做這樣的工作。為此我們 計畫編寫《竹林蹊徑》,專門介紹這方面驅動程式的編寫。但是在目前國內軟體界,更多的應用,是在為windows開發通用的安全相關的軟體。比如防毒軟 件、資訊備份和恢復軟體、反外掛程式、防火牆等。同樣,市面上介紹驅動開發的書也很多,但是很少有和資訊保安聯絡在一起的。為此我們編寫了《寒江獨釣》,現在 已經上市了。
「本書的主題到底是什麼?是驅動開發,還是系統安全程式設計?雖然兩者有緊密的聯絡,但是混淆在一起,也讓人有些不著邊際。」這樣的評述,估計在《寒江獨釣 ——windows核心安全程式設計》讀完之後,一定還會有。但是我想這是可以理解的。在做乙個實際的安全軟體專案的時候,你也會有同樣的疑問。你到底是搞信 息安全的呢,還是搞驅動開發的呢?但這是合理的。任何乙個具體問題的解決,幾乎都是多種知識的綜合應用。
驅網核心技術叢書的幾本書,都貫徹著這樣的理念:要用實際的經驗,來運用所學的知識,不論哪門哪類,都要將它們應用到實際中去,解決實際的技術問題,使我們如《碧血劍》中的袁承志一樣,在看完《金蛇秘笈》之後,找到了金蛇劍,才豁然貫通,如同金老爺子寫道:
「袁承志眼望天上明月,《金蛇秘笈》中種種武功秘奧,有如一道澄澈的小溪,緩緩在心中流過,清可見底,更無半分渣滓,直到紅日滿窗,這才醒覺。」
提問五:好,那最後,你能不能介紹一下你們的創作團隊呢?
譚文:我們的創作團隊基本上都是驅動開發網上的網友由興趣自由組合。只要有興趣加入的網友,我們都提供試寫一兩章的機會,驅動開發網也不從中獲取任何商業利益, 所有稿費都由作者所有。驅網的成員絕大多數是實際的軟體開發人員。我們每個人都有自己的工作,都只利用業餘的時間來編寫這個系列的叢書。所以從去年4月到 今年6月一年多的時間我們只編寫兩本書,其中還有很多內容是我們以前編寫過的教程改編而成的。和專業的作者相比,可以說進展非常的緩慢。但是我們的優點 是,所有的作者都是經驗豐富的開發老手(雖然有些年齡並不大)。我們雖然理論知識並不一定基礎紮實,但是都知道在實際開發中需要解決什麼問題。所以這些書 是經驗的總結。
比如說馬勇,他從22歲畢業開始工作之後,一直都從事各種各樣的軟體開發。到現在已經快9年了。我也工作了7年。很多程式設計師編寫兩三年**之後,就被提公升 或者轉移到了其他的職位,或從事管理,或從事其他的行業去了。這和個人愛好有關。不過我們的創作團隊的所有成員的共同點是,我們從畢業一直到現在都在每天 編寫**。楊瀟、張佩也是各自公司裡非常重要的編碼人員。我們這些人寫的**現在在無數的電腦穩定執行,毫不誇張的說,遍布全世界,或許你用的電腦裡就 有。雖然並沒有貼著商標。
當然邵堅磊同學比較特殊,他以前曾經是乙個醫生。不過現在wowocock的大名在網上如雷灌耳。從這裡讀者也可以看出,想學習程式設計技術,做乙個自由快樂的程式設計師,並不用擔心年齡,和自己原來的職業。
「驅網核心技術」叢書
> 天書夜讀:從組合語言到windows核心程式設計 (詳細內容)
【書 名】天書夜讀:從組合語言到windows核心程式設計
【作 者】 譚文,邵堅磊 著
【isbn】 978-7-121-07339-7
【出版社】 電子工業出版社
【出版日期】2023年12月
【宣傳語】
從貌似天書的彙編**中,一探windows底層的核心實現。
在開發中出現的問題,能從windows自身找到答案!
【內 容 簡 介】
本書從基本的windows程式與彙編指令出發,深入淺出地講解了windows核心的程式設計、除錯、閱讀,以及自行探索的方法。讀者在使用c/c++開發 windows程式的基礎上,將熟練掌握彙編和c語言的應用,深入了解windows底層,並掌握閱讀windows核心的基本方法,以及windows 核心的基本程式設計方法。
本書適合使用c/c++在windows上程式設計的讀者,尤其適合希望加深自己技術功底的windows應用程式設計師、計算機專業的有志於軟體開發的大中院校學生;專業的windows核心程式設計師,亦可從本書得到超越一般核心程式開發的啟發。
>
《寒江獨釣:windows核心安全程式設計》(詳細內容)
【書名】寒江獨釣:windows核心安全程式設計
【作者】譚文,楊瀟,邵堅磊 著
【isbn】978-7-121-08796-7
【出版社】電子工業出版社
【出版日期】2023年6月
【宣傳語】
【內容簡介】
本書從windows核心程式設計出發,全面系統地介紹了串列埠、鍵盤、磁碟、檔案系統、網路等相關的windows核心模組的程式設計技術,以及基於這些技術實現 的輸入密碼保護、防毒引擎、檔案加密、網路嗅探、網路防火牆等資訊保安軟體的 核心元件的具體程式設計。主要知識重點包括:windows串列埠與鍵盤過濾驅動、windows虛擬儲存裝置與儲存裝置過濾驅動、windows檔案系統過濾 驅動、檔案系統透明加密/解密驅動、windows各類網路驅動(包括tdi過濾驅動及3類ndis驅動),以及最新的wdf驅動開發模型。有助於讀者熟 悉windows核心驅動的體系結構,並精通資訊保安類的核心程式設計技術。本書的大部分**具有廣泛的相容性,適合從windows 2000一直到目前最新的windows 7 beta版。
本書適合大專院校計算機系的學生、普通windows程式設計師、windows核心程式設計師、資訊保安行業的程式設計師,以及希望了解windows系統底層知識的計算機程式設計愛好者使用。閱讀本書,需要讀者有c語言、資料結構、作業系統和計算機網路的基礎知識。
《竹林蹊徑:深入淺出windows驅動開發》
09年出版
電子期刊
「驅網核心技術叢書」創作團隊訪談
驅網核心技術叢書 創作團隊訪談 本文由博文視點 高階策劃編輯 李冰 組稿 工程實踐和學術研究往往不是一回事。比如說,在乙個工程中,涉及到計算機底層知識的很多情況就是解決軟體故障。乙個軟體安裝之後,在某個電腦上有時 比如說平均一周發生一次 的有故障現象發生,在另一台電腦上卻沒有任何問題。但是客戶是不會...
「驅網核心技術叢書」創作團隊訪談
驅網核心技術叢書 創作團隊訪談 本文由博文視點 高階策劃編輯 李冰 組稿 工程實踐和學術研究往往不是一回事。比如說,在乙個工程中,涉及到計算機底層知識的很多情況就是解決軟體故障。乙個軟體安裝之後,在某個電腦上有時 比如說平均一周發生一次 的有故障現象發生,在另一台電腦上卻沒有任何問題。但是客戶是不會...
Canvas 核心技術
最近專案需求中要寫較多h5小遊戲,遊戲本身體量不是很複雜,主要是承載較多業務邏輯,所以決定用canvas來完成遊戲部分。之前只是知道h5中有canvas這個東西,也知道它大概是畫圖的,但具體怎麼用,還是一無所知的。在mdn在看了一些相關資料,一口氣也看了html 5 canvas 核心技術和html...