Ⅰ 我想自學windows內核編程以及C語言網路編程(之前完全沒接觸過),已經掌握C、C++,應該如何入手
《windows核心編程》距離windows內核編程還差得遠啦,《windows核心編程》是一本講述windows應用程序開發的書。你真正需要掌握的是操作系統方面的知識,例如怎麼樣創建一個線程、創建一個進程、如何遍歷文件夾,控制他們的訪問許可權,內存映射等。
然後開始看操作系統方面的書,比如《操作系統 : 精髓與設計原理(原書第6版) 》,《現代操作系統(原書第3版)》這樣有一定理論深度的書,這些理論的書沒有代碼,但你在看的時候也要想想這些東西是怎麼實現的。
有了一定的基礎之後,可以開始看內核編程方面的書,例如潘愛民寫的《windows內核原理與實現》,再高級一點的看毛德操寫的《Windows內核情景分析》,最權威的當然還是《深入解析Windows操作系統》,然後你就可以深入windows內核編程了。不過提醒你就是這3本的難度在《windows核心編程》之上,要花好多年功夫,寫好多萬行代碼,泡好多個論壇看別人的貼子,看很多別人博客,好多別的輔助讀物,才能都看懂。樓主要量力而行。
網路編程的話,windows方面我也不知道哪本書好,我真心推薦《UNIX網路編程》(1,2卷)和《UNIX環境高級編程》。
Ⅱ Windows內核編程的簡介
內核程序是運行在Ring0級的,因此內核程序要比應用層上的普通Ring3級程序有更高的許可權。因此內核編程的應用,往往給傳統軟體帶來更強的功能,實現技術上的飛躍。同理,黑客們也將傳統的攻擊程序或潛行程序從Ring3搬到了Ring0級去,以便於更隱蔽、更有效的監視或控制目標系統(如Rootkit)。
Ⅲ 怎麼學習windows內核編程
C/C++入門->MFC編程->WINDWOS程序設計->WINDWOS核心編程->Windows2000Secrets->WINDOWS驅動開發詳解->WINDWOS內核安全編程->從匯編語言到WINDWOS內核編程->ROOTKIT-WINDWOS內核的安全防護
Ⅳ Windows核心編程如何由淺入深學習
要求C++,熟練掌握指針,函數,結構體內容。
Windows API要求英語好,這點很重要,查MSDN必備。
學Windows最先要掌握的知識:句柄,消息,窗口。掌握他的工作方式是必須。
學習路線:掌握基礎知識,會查MSDN並能讀懂MSDN,看帶項目的書籍(這種書的好處就是讓你在學會做某一項目的同時,了解一些新的結構跟方法。
推薦書籍:Windows 核心編程。
初級的書我便不推薦了,畢竟每個人的理解程度不同,你可以去書店,找一本基礎的東西(一本你可以看的懂的),畢竟這東西是靠MSDN來工作的,多看看MSDN是正經,但是,我奉勸你,不要花時間把工作放在記憶MSDN內的結構和函數上,因為這是不可能記憶的東西,你只需要知道有這個東西的存在,然後在需要的時候,查MSDN使用就可以了,然後就看帶有小項目的書籍,進攻核心編程。最後工作,掌握更多的實戰經驗,許多東西是在這個階段學來的 。
Ⅳ 關於WINDOWS圖形界面程序編程
語言:C#,C+,C++;
工具:Microsoft Visual Studio系列。
C#:讀做C-sharp,編程語言是由微軟公司的Anders Hejlsberg和 Scott Willamette領導的開發小組專門為.NET平台設計的語言,它可以使程序員移植到.NET上。這種移植對於廣大的程序員來說是比較容易的,因為C#從C,C++和Java發展而來,它採用了這三種語言最優秀的特點,並加入了它自己的特性。C#是事件驅動的,完全面向對象的可視化編程語言,我們可以使用集成開發環境來編寫C#程序。
Microsoft Visual Studio:簡稱VS,是美國微軟公司的開發工具包系列產品。VS是一個基本完整的開發工具集,它包括了整個軟體生命周期中所需要的大部分工具,如UML工具、代碼管控工具、集成開發環境(IDE)等等。所寫的目標代碼適用於微軟支持的所有平台,包括Microsoft Windows、Windows Mobile、Windows CE、.NET Framework、.NET Compact Framework和Microsoft Silverlight 及Windows Phone。
Ⅵ 圖形編程是什麼
圖形編程的概念很廣,有UI編程,還有游戲編程,游戲編程又分為2D游戲、3D游戲等。有人覺得游戲不是一門藝術,因為受眾也是參與者;有人覺得游戲是一門藝術,尤其是一門交互藝術。創造游戲的人和游戲的受眾,都在虛擬世界中沉迷。
UI編程也如是,早期PC機上,人們在厭倦了XP風格的界面後,爭先恐後的用GDI+技術產出了各種各樣的UI風格。這種風格的UI界面不但美觀而且安全。
其安全性在於,使用GDI+技術繪制的UI控制項,不在Windows系統本身控制范圍內,所以任何檢測工具都無法檢測到其存在,這使得UI入侵的難度變高。
圖形與數據:
圖形界面編程是在與機器做抗爭,而數據編程是在與人做抗爭。數據,是人產生的,所以數據編程是對人的編程。人產生的數據千變萬化,一套代碼無法適應持續波動的數據,但是經過一系列演算法,過濾,檢測後,最終得出的結果卻是十分客觀的。
這是一個奇妙的事情,甚至可以上升到哲學層面。對機器編程產生主觀結果,對人編程產生客觀結果。如果按照這個理論,那麼上面那位說自己喜歡「算出東西」的同學,則是一個標準的理科生思維,而喜歡圖形編程的同學,則是人文和技術兼備的創作家。
Ⅶ 關於Windows內核編程的問題
其實Windows內核編程不但有用,而且常用。很多我們每天都使用的軟體,就毫無疑問的使用了Windows內核編程的技術。最典型的就是實時監控的殺毒軟體。此外還有防火牆、虛擬光碟機、以及90%的驅動程序。這些程序的有一個共同的特點,他們的一部分組件,是作為Windows的一部分,能對 Windows上運行的所有的應用程序起作用。
因此內核編程的應用,往往給傳統軟體帶來更強的功能,實現技術上的飛躍。
舉個例子。我們常常聽說,對文件進行加密,可以使文檔更加安全。對文件加密並不需要任何內核組件。我們可以寫一個應用程序,讀入文件,加密數據,然後重寫為一個加密文件。解密也可以同樣如此。
但是實際上這並不滿足一般的用戶需求。對一個公司的員工來說,那些「重要的文檔」很可能就是每天工作所用的文件。想像一下,他必須要每天從伺服器上下載加密的文件,然後用解密工具解密。然後用Office開始工作。工作完畢後,用加密工具加密,再上傳,然後刪除工作文檔。且不說大部分時間文檔是以解密的方式保存在硬碟上的不安全性,這個工作流程是可以接受的嗎?沒有人會接受的。
比較「人性化」的方式就是讓Office可以直接打開已經加密的文檔。保存的時候,直接就保存成加密的文檔。硬碟上,這個文檔始終是加密的。而且對合法的用戶透明。對非法的用戶,則只能看見密文,從而無法編輯也無法閱讀。而且也不僅僅Office,還有AutoCAD、Visual Studio、Photoshop等等用戶可能用於編輯機密文件的所有的工具。這是可以實現的嗎?如果我們不能去修改Office和其他的工作軟體。
這當然是可以實現的。既然我們編寫Windows內核程序,當然可以讓Windows的文件系統從硬碟讀取文件的時候,對特定的進程進行特別的解密。等這些軟體讀取到數據的時候,它們讀到的已經是正常的數據了。這個過程和實時掃描病毒的原理是一樣的,使用一個文件過濾驅動程序。這就是讀者可能已經聽到過的文件透明加密技術。
在和《天書夜讀:從匯編語言到Windows內核編程》一書同一系列的《寒江獨釣——Windows內核編程與信息安全》(預計明年出版)中,對鍵盤過濾、硬碟過濾、文件過濾、網路過濾等安全相關的內核編程,都有詳盡的講解和例子。
內核編程的另一個特點是:這些代碼運行在R0級。R0級別是最高特權級別。對CPU有完全控制的能力。這非常的適合一些安全軟體,當然也適合做破壞的工作。因為內核程序有最高(也就是根)許可權,這樣的技術在安全領域(或者破壞領域)被稱為rootkit技術。rootkit技術是當前安全領域最熱門的技術之一。
許多病毒使用了rootkit技術。用來隱藏病毒文件,竊取密碼、發送攻擊包等等。rootkit病毒感染後極難清除,在感染前提前防範是最有效的辦法。
Windows內核確實沒有公開源代碼。但是MS提供Windows內核程序的開發包:WDK。WDK實際上主要用於開發驅動程序。而驅動程序基本上都是內核程序。WDK提供的頭文件以及部分源代碼,實際上就是Windows內核的代碼的一部分。有部分驅動程序(比如FAT32文件系統)的代碼是完全公開的。我們也可以在這里看到Windows內核開發者的代碼風格。同時,微軟也提供了所有Windows版本的符號表在網上供研究者下載。並提供了功能無比強大的調試器WinDbg。有了它們,你就可以輕松的調試Windows內核了。無論是你自己寫的代碼的部分,還是Windows內核開發者們編寫的部分。雖然看到的是匯編語言,但是函數名和全局變數名都是存在的。而且,所有的這些(WDK、WinDBG,符號表)都是免費的。