經典Windows核心安全編程講解

經典Windows核心安全編程講解

《經典Windows核心安全編程講解》是電子工業出版社出版的書籍,該書系統地介紹了串口、鍵盤、磁碟、檔案系統、網路等相關的windows核心模組的編程技術。

基本介紹

  • 書名:經典Windows核心安全編程講解
  • 作者:譚文 楊瀟 邵堅磊
  • ISBN:9787121087967
  • 頁數:487
  • 出版社:電子工業出版社
  • 出版時間:2009 年6月
  • 開本:16開
  • 叢書名:驅網核心技術叢書
  • 版次:1-1
內容簡介,作譯者,前言,序言,

內容簡介

本書從windows核心編程出發,全面系統地介紹了串口、鍵盤、磁碟、檔案系統、網路等相關的windows核心模組的編程技術,以及基於這些技術實現的輸入密碼保護、防毒引擎、檔案加密、網路嗅探、網路防火牆等信息安全軟體的核心組件的具體編程。主要知識重點包括:windows串口與鍵盤過濾驅動、windows虛擬存儲設備與存儲設備過濾驅動、windows檔案系統過濾驅動、檔案系統透明加密/解密驅動、windows各類網路驅動(包括tdi過濾驅動及3類ndis驅動),以及最新的wdf驅動開發模型。有助於讀者熟悉windows核心驅動的體系結構,並精通信息安全類的核心編程技術。本書的大部分代碼具有廣泛的兼容性,適合從windows 2000一直到目前最新的windows 7 beta版。.
本書適合大專院校計算機系的學生、普通windows程式設計師、windows核心程式設計師、信息安全行業的程式設計師,以及希望了解windows系統底層知識的計算機編程愛好者使用。閱讀本書,需要讀者有c語言、數據結構、作業系統和計算機網路的基礎知識

作譯者

譚文,C程式設計師。1980年生於湖南。2002年畢業於西安交通大學自動控制系。畢業後一直從事各類系統底層軟體的開發設計工作;英特爾在上海紫竹科技園的研發中心參與不同平台二進制指令動態翻譯系統的項目開發。愛好聊天、發帖。曾著有《天書夜讀——從彙編語言到Windows核心編程》一書。編寫本書的第1~3,7,8,10~12章,並統稿全書。
楊瀟,C程式設計師。1981年生於陝西。2006年畢業於西安交通大學自動控制研究所。

前言

本書是一本專門介紹實時掃描的防毒軟體、虛擬磁碟、硬碟還原、硬碟加密、檔案系統保護、檔案透明加密、防火牆、密碼輸入保護等軟體的Windows核心模組的具體實現方法的編程技術書。本書的目的是使讀者能夠用C語言編寫這些核心模組。.
大學的時候,在Windows平台上我最初學的是VB,然後是Delphi。我的感覺是,無論想實現任何功能,都早已有工具的開發者給我們準備了良好的接口和文檔,讓我們學習和使用都非常的方便。因此覺得自己已經學到了終點。如果僅從“能實現功能”的角度講,我沒有必要再學習了,剩下的事情,只是去很舒適地使用那些接口就可以了。那又何必再學習Windows編程呢?
工作之後遇到了障礙。我的第一個任務是實現一個網路的虛擬磁碟。我雖然自以為無所不能,但是也找不到在Windows系統里增加一個虛擬磁碟的API在哪裡。我每天都在使用虛擬光碟機、防毒軟體、防火牆,但是我從未想過它們如何實現。不是因為我懂,而是因為我自以為任何功能的實現一定是簡單而舒適的,等需要的時候再去研究,絕不會有什麼困難。
但是實際編碼的時候才明白:良好的接口、舒適的編碼過程,絕對不是天生之道。天地萬物自混沌而起,那些美好的表面,不過是在殘酷的現實上重重包裹的包裝紙罷了。
一輛新車的表面自然光彩照人,操作接口也人性而美好。但是一旦需要打開車身去修理內部某根漏油的管子,就沒有那么容易和舒適了。造成這種情況,絕不是Windows的底層開發者們天生沒有美學觀念。那些多年積累和維護著並不斷改進的無數行代碼,已經是人類工程史上的奇蹟了。如今要打開它的外殼去肆意修理,當然不是一件輕鬆的事情。
但這正是Windows核心編程的魅力所在。
只有極少的程式設計師會需要參與微軟的Windows核心開發,也只有極少的讀者會自己試圖從頭開發一個類Windows的作業系統核心(有這方面興趣的讀者,建議參考開源項目ReactOS)。單純地講解Windows核心編程對大多數讀者都沒有意義。但是,信息安全類的軟體是核心編程的極好的套用實例。病毒實時監控、防火牆、入侵檢測、數據保護還原、數據即時備份、數據加密、數據防止泄密、反外掛等,都不同程度地涉及到核心編程;或者,核心編程可以讓它們工作得更好。這些就是本書的內容,因此本書的副標題為“Windows核心安全編程”。“寒江獨釣”則表明了這個領域的寒冷與寂寥。..
本書和《天書夜讀——從彙編語言到Windows核心編程》的不同之處在於:《天書夜讀》一書介紹的是自己調試Windows核心、獲取知識、解決問題的技巧。因此《天書夜讀》一書介紹的內容大部分是沒有文檔可循的,容易走火入魔。
本書則基本上介紹的是正統的核心編程技術,是微軟在核心編程中給信息安全軟體開發者提供的相關接口的大集合,是名門正派的技術,不沾邪氣。一個好的核心程式設計師,“正邪兼修”是有必要的。
本書既適合於有志於成為軟體程式設計師的學生使用,也適合於希望加強自己的技術實力的Windows程式設計師閱讀,同時更適合於從事信息安全行業的Windows軟體的開發者作為手頭參考。
本書對改善病毒橫行的網路現狀也有一定益處。雖然無助於勸說那些孜孜不倦的病毒開發者們棄惡從善,但是至少有助於他們提高技術素養,學會更認真地編寫程式,以免總是寫出導致程式崩潰和系統藍屏的代碼,影響無辜者的正常工作。
本書假定讀者了解C語言,能理解C語言的基本語法,並且學習過作業系統、計算機網路和數據結構的基礎知識。一般來說,如果讀者聽說過“進程”、“檔案系統”、“中斷”、“TCP協定”、“乙太網包”、“鍊表”、“哈希表”、“加密算法”這些名詞,則足夠閱讀此書了。
有些讀者可能會關心作為一個程式設計師的就業前景。這也是我非常關心的一個問題。我曾經在杭州的核新軟體公司為證券營業部開發防火牆和虛擬磁碟,一共3年的時間;後來在日電卓越軟體(北京)的上海分公司開發部信息安全開發課工作了3年。我認識的業界朋友們,大多在賽門鐵克、趨勢、瑞星、EMC、華賽這樣的公司就職。在我工作的第7個年頭,我在Intel在上海的紫竹中心參與動態二進制翻譯項目。最有價值的是,我參與的每一個項目都讓我學習到更多的知識,面對許多前所未有的考驗,每一步都讓人充滿了精神上的成就感。
本書的讀者未來很可能會從事底層編碼的工作,而不是一個上層的設計和管理人員。從事底層編碼的程式設計師,常常被同事稱為“牛人”。這個牛人不是“牛皮哄哄的人”的意思,而是“像牛一樣辛苦工作的人”的意思。想從事這個行業的讀者,我抄我的前同事錢錚最喜歡的一首古詩《代牛言》獻給您:
渴飲潁水流,餓喘吳門月。黃金如可種,我力終不竭。...

序言

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

相關詞條

熱門詞條

聯絡我們