導航:首頁 > 編程語言 > windows安全性編程

windows安全性編程

發布時間:2023-04-30 15:06:07

Ⅰ 簡述Windows編程的特點

一個Windows應用程序具有以下的特性: 事件驅動程序設計、消息循環與輸入、圖形輸出、用戶界面對象、資源共享、動態鏈接庫等等。

1、事件驅動的程序設計

傳統的MS-DOS程序主要採用順序的、關聯的、過程驅動的程序設計方法。一個程序是一系列預先定義好的操作序列的組合,它具有一定的開頭、中間過程和結束。程序直接控製程序事件和過程的順序。這樣的程序設計方法是面向程序而不是面向用戶的,交互性差,用戶界面不夠友好,因為它強迫用戶按照某種不可更改的模式進行工作。

控制台應用程序與Windows應用程序的根本區別在於前者是通過調用系統函數來獲得用戶輸入的,而Windows程序則是通過系統發送消息來處理用戶輸入的。

2、消息循環與輸入

事件驅動圍繞著消息的產生與處理展開,一條消息是關於發生的事件的消息。事件驅動是靠消息循環機制來實現的。輸入消息:包括鍵盤和滑鼠的輸入。這一類消息首先放在系統消息隊列中,然後由Windows將它們送入應用程序消息隊列中,由應用程序來處理消息。

3、圖形輸出

Windows程序不僅在輸入上與DOS程序不同,而且在程序輸出上也與DOS有著很大不同,主要表現為:DOS程序獨占整個顯示屏幕,其他程序在後台等待。而Windows的每一個應用程序對屏幕的一部分進行處理。

DOS程序可以直接往屏幕上輸出,而Windows是一個多窗口的操作系統,由操作系統來統一管理屏幕輸出;每個窗口要輸出內容時,必須首先向操作系統發出請求(GDI請求),由操作系統完成實際的屏幕輸出工作。

(1)windows安全性編程擴展閱讀

Windows多任務的操作系統,各個應用程序共享系統提供的資源,常見的資源包括:設備上下文,畫刷,畫筆,字體,對話框控制,對話框,圖標,定時器,插入符號,通信埠,電話線等。

Windows要求應用程序必須以一種能允許它共享Windows資源的方式進行設計,它的基本模式是這樣的:向Windows系統請求資源;使用該資源;釋放該資源給Windows以供別的程序使用。

在Windows應用程序設計中,CPU也是一種非常重要的資源,因此應用程序應當避免長時間的佔用CPU資源(如一個特別長的循環);如果確實需要這樣做,也應當採取一些措施,以讓程序能夠響應用戶的輸入。主存也是一個共享資源,要防止同時運行的多個應用程序因協調不好而耗盡內存資源。

Ⅱ 學習PLC編程 用什麼參考書好

看看這里有么 下下來看看 如果需要再買

F:\學習考研\電子圖書\電子寶庫
├—215例題解析自動控制原理_0
├—21世紀信息與通信技術教程 多媒體通信_0
├—21世紀信息與通信技術教程 數字電路與FPGA_0
├—21世紀信息與通信技術教程 數字語音:語音編碼實用教程_0
├—21世紀信息與通信技術教程 現代通信基礎與技術_0
├—21世紀大學計算機應用系列教材 JAVA與面向對象程序設計導論_0
├—21世紀大學計算機系列教材 C語言大學實用教程_0
├—21世紀網路平台大學計算機系列教材 離散數學_0
├—21世紀網路平台大學計算機系列教材 網路平台大學計算機信息技術├—21世紀高等學校電子信息類專業規劃教材 多媒體課件製作實訓教程_0
├—21世紀高等學校電子信息類專業規劃教材 網路安全技術基礎_0
├—21世紀高等學校電子信息類專業規劃教材 網路安全概論_0
├—21世紀高等學校電子信息類專業規劃教材 網路系統集成技術_0
├—21世紀高等學校電子信息類專業規劃教材 計算機信息管理基礎_0
├—21世紀高等學校電子信息類專業規劃教材 計算機硬體技術基礎_0
├—21世紀高等學校電子信息類教材 數字微波通信系統_0
├—21世紀高等學校規劃教材 高等數學_0
├—21世紀高等學校計算機基礎教育系列教材 資料庫應用與程序設計實驗指導_0
├—21世紀高等學校計算機基礎教育系列教材 資料庫應用與程序設計教程_0
├—21世紀高等學校計算機科學與技術教材 面向對象C++程序設計_0
├—21世紀高等院校教材 電磁場與電磁波_0
├—21世紀高等院校教材 遙感數字圖像處理_0
├—21世紀高等院校數字藝術設計系列教材 數字動畫設計藝術_0
├—21世紀高等院校電氣信息類系列教材 單片機原理與應用_0
├—21世紀高等院校規劃教材 DSP原理及應用_0
├—21世紀高等院校規劃教材 數據通信與計算機網路_0
├—21世紀高等院校計算機教材系列 C語言程序設計教程_0
├—21世紀高等院校計算機科學與工程系列教材 微型計算機原理與介面技術_0
├—21世紀高等院校計算機科學與技術規劃教材 Java程序設計簡明教程_0
├—21世紀高等院校計算機科學與技術規劃教材 微機原理與介面技術 (80386-Pe_0
├—21世紀高等院校計算機系列教材 Java程序設計基礎_0
├—21世紀高等院校計算機系列教材 Java程序設計實驗與實訓_0
├—21世紀高等院校計算機系列教材 管理信息系統_0
├—21世紀高等院校計算機系列教材 編程邏輯與結構化程序設計 (第三版)_0
├—21世紀高職高專信息技術教材 資料庫原理及應用教程_0
├—21高等學校電子信息類專業規劃教材 計算機引論_0
├—301例題解析電工電路 (中冊)_0
├—372例題解析電工電路 (上冊)_0
├—488例題解析電工電路 (下冊)_0
├—8051單片機徹底研究 基礎篇_0
├—8051單片機徹底研究 實習篇_0
├—8051單片機數據傳輸介面擴展技術與應用實例_0
├—Adobe 數字藝術中心 InDesign CS標准教材_0
├—Advanced C++ (中文版)_0
├—APSL參數化有限元分析技術及其應用實例_0
├—ASP+SQL Server網路應用系統開發與實例_0
├—ASP信息系統設計與開發實列_0
├—Authorware 6_5多媒體製作基礎教程_0
├—BHDL實例剖析_0
├—BIOS、注冊表與硬碟終極解析_0
├—Blackfin系列DSP原理與系統設計_0
├—C#Builder編程起跑_0
├—C#大學教程_0
├—C#應用程序開發標准教程_0
├—C#程序設計培訓教程_0
├—C#面向對象程序設計:台版_0
├—C++ Templates中文版_0
├—C++Builder 6實用編程100例_0
├—C++同構化對象程序設計原理_0
├—C++多范型設計_0
├—C++大學自學教程(第7版)_0
├—C++捷徑教程 第3版_0
├—C++程序設計_0
├—C++程序設計實驗指導與實訓_0
├—C++編程慣用法——高級程序員常用方法和技巧_0
├—C++網路編程 卷2 基於ACE和框架的系統化復用_0
├—C++面向對象程序設計 (第四版)_0
├—CAXA電子圖板XP實用教程_0
├—CCNA學習指南 (中文版) (640-801)_0
├—CDMA 無線通信原理_0
├—CPLD_FPGA可編程邏輯器件應用與開發_0
├—C_0
├—C語言與MATLAB介面:編程與實例_0
├—C語言程序設計2_0
├—C語言程序設計3_0
├—C語言程序設計_0
├—C語言程序設計導學_0
├—C語言精彩編程百例_0
├—Delphi 7_0程序設計教程_0
├—Delphi 7應用教程_0
├—Delphi 7資料庫開發教程_0
├—Delphi 7資料庫高級教程_0
├—Delphi 7程序設計_0
├—Delphi 7課程設計案例精編_0
├—Delphi 程序設計技能百練_0
├—DELPHI 經典游戲程序設計40例_0
├—Delphi串口通信技術與工程實踐_0
├—Delphi資料庫開發實例解析_0
├—Delphi資料庫編程_0
├—Delphi資料庫高級實例導航_0
├—Delphi源代碼分析_0
├—Delphi程序設計_0
├—Delphi程序設計實訓_0
├—Delphi程序設計教程_0
├—Delphi精要2_0
├—Delphi精要_0
├—DSP 通信工程技術應用_0
├—DSP信號處理技術應用_0
├—DSP技術及應用_0
├—DSP控制系統的設計與實現_0
├—DSP演算法設計與系統方案_0
├—DSP系統設計與實踐_0
├—DSP晶元的原理與開發應用 (第3版)_0
├—DSP集成開發環境:CCS及DSP_BIOS的原理與應用_0
├—DWDM技術原理與應用_0
├—EDA與數字系統設計_0
├—EDA工程實踐_0
├—Enterprise Java Bean程序設計實例詳解_0
├—Excel 2003中文版入門與提高_0
├—IBM PC 80X86匯編語言程序設計_0
├—IBM信息集成技術原理及應用_0
├—ICSA密碼學指南_0
├—IEEE 802_11無線區域網_0
├—IEEE1394介面技術_0
├—Intel微處理器結構、編程與介面 (第六版)_0
├—Intel匯編語言程序設計 第四版_0
├—IP寬頻通信網路技術_0
├—J2EE 應用與實踐技巧:JAVA設計模式、自動化與性能_0
├—J2EE網路編程標准教程_0
├—J2METM技術手冊_0
├—J2ME開發大全_0
├—Java 2學習指南——Sun Certified Programmer_0
├—Java 2實用教程_0
├—Java 2程序設計技能百練_0
├—Java 2簡明教程_0
├—Java Web服務開發_0
├—Java 國際認證(SCJP)典型試題1000例_0
├—Java 模式_0
├—Java 游戲編程_0
├—Java 課程設計案例精編_0
├—Java與CORBA客戶 伺服器編程 第二版_0
├—Java信息系統設計與開發實例_0
├—Java基礎教程_0
├—Java實用系統開發指南_0
├—Java實用編程100例_0
├—Java並發編程:設計原則與模式_0
├—Java手機_PDA程序設計入門_0
├—Java數值方法_0
├—Java數據對象_0
├—Java資料庫高級教程_0
├—Java數據結構和演算法 (第二版)_0
├—Java極限編程_0
├—JAVA程序設計2_0
├—Java程序設計3_0
├—Java程序設計_0
├—Java程序設計基礎 (第3版)_0
├—Java程序設計實戰訓練_0
├—Java程序設計技巧與開發實例_0
├—Java程序設計教程_0
├—Java程序設計高級主題_0
├—Java演算法 (第3版,第1卷)_0
├—Java編程原理:面向工程和科學人員_0
├—JAVA缺陷_0
├—Java網路編程基礎_0
├—Java語言程序設計_0
├—Java語言程序設計教程_0
├—Java課程設計_0
├—Java軟體開發2_0
├—Java軟體開發_0
├—Java項目開發實踐_0
├—Java高級實用編程_0
├—Jave 2認證考試學習指南 (第四版) (英文版)_0
├—JBuilder 9_0入門與提高_0
├—JBuilder 9_0程序設計——Java程序員成功之路_0
├—JBuilder精髓_0
├—JSP信息系統設計與開發實例_0
├—MATLAB 6_5及其在信號處理中的應用_0
├—MATLAB 6_5圖形圖像處理_0
├—MATLAB 7_0實用指南 (上冊)_0
├—MATLAB 7_0實用指南 (下冊)_0
├—MATLAB M語言高級編程_0
├—Matlab 小波分析工具箱原理與應用_0
├—MATLAB與外部程序介面_0
├—MATLAB模擬技術與應用教程_0
├—MATLAB模擬技術主導實例應用教程_0
├—MATLAB信息工程工具箱技術手冊_0
├—MATLAB及其在電路與控制理論中的應用_0
├—Matlab圖像處理與應用_0
├—MATLAB圖形圖像處理應用教程_0
├—MATLAB工具箱應用_0
├—MATLAB應用數學工具箱技術手冊_0
├—Matlab介面技術與應用_0
├—MATLAB控制工程工具箱技術手冊_0
├—MATLAB數學計算範例教程_0
├—MATLAB有限元分析與應用_0
├—MATLAB電力系統設計與分析_0
├—MATLAB程序設計_0
├—MATLAB符號運算及其應用_0
├—MATLAB自動控制原理習題精解_0
├—MCS-51單片機原理及應用實例_0
├—MCS-51系列單片機原理與介面技術_0
├—MCS-51系列單片機系統及其應用 (第二版)_0
├—Microsoft SQL Server 2000寶典_0
├—OP放大電路設計_0
├—Oracle9i資料庫原理與應用教程_0
├—OrCAD電路設計_0
├—PCB電磁兼容技術——設計實踐_0
├—PC控制及介面程序設計實例_0
├—PIC 單片機原理與介面技術_0
├—PowerBuilder9_0數據窗口技術_0
├—PowerPCB高速電子電路設計與應用_0
├—Protel 2004電路原理圖及PCB設計_0
├—Protel 99 SE印製電路板設計教程_0
├—Protel 99 SE原理圖與PCB及模擬_0
├—Protel DXP 電路原理圖設計指南_0
├—Protel DXP印製電路板設計指南_0
├—Protel DXP電路原理圖與PCB設計_0
├—Protel DXP電路原理圖與電路板設計教程_0
├—Protel DXP電路圖及電路板設計實用教程_0
├—Protel DXP電路設計與模擬_0
├—Protel DXP電路設計與製版實用教程_0
├—Protel DXP電路設計與應用2_0
├—Protel DXP電路設計入門與應用_0
├—Protel DXP電路設計入門與進階_0
├—Protel DXP電路設計製版入門與提高_0
├—Protel DXP電路設計標准教程_0
├—PSpice 電路優化程序設計_0
├—PSpice 電路設計實用教程_0
├—PSpice電路原理與實現_0
├—PSpice電路編輯程序設計_0
├—PWM控制與驅動器使用指南及應用電路:單端控制與驅動器部分_0
├—Red Hat Linux安全與優化_0
├—Tanner Pro集成電路設計與布局實戰指導_0
├—TMS320C500系列DSP系統設計與開發實例_0
├—TMS320C54x DSP應用程序設計教程_0
├—TMS320LF_LC24系列DSP的CPU與外設_0
├—UML及其建模工具的使用_0
├—UML寶典_0
├—UML工具箱_0
├—USB 介面技術_0
├—Verilog HDL數字設計與綜合 (第二版)_0
├—Verilog HDL程序設計教程_0
├—Verlog HDL 綜合實用教程_0
├—VHDL與微機介面設計_0
├—VHDL數字系統設計 (第二版)_0
├—VHDL電路設計實用教程_0
├—VHDL電路設計技術_0
├—Visual Basic 6_0實踐指導_0
├—Visual Basic 6_0應用編程150例_0
├—Visual Basic 程序設計教程_0
├—Visual Basic6_0資料庫開發技術與工程實踐_0
├—Visual Basic_NET程序設計實訓教程_0
├—Visual Basic程序設計2_0
├—Visual Basic程序設計_0
├—Visual C#_NET程序設計經典_0
├—Visual C++ 6_0應用編程150例_0
├—Visual C++ 6_0資料庫開發技術與工程實踐_0
├—Visual C++6_0數字圖像編碼_0
├—Visual C++_MATLAB圖像處理與識別實用案例精選_0
├—Visual C++_NET數字圖像處理技術與應用_0
├—Visual C++_NET程序設計入門_0
├—Visual C++_NET編程實例_0
├—Visual C++_Turbo C串口通信編程實踐_0
├—Visual C++數字圖像實用工程案例精選_0
├—Visual C++網路通信程序開發指南_0
├—Visual C++網路通信編程實用案例精選_0
├—Visual FoxPro上機實踐指導教程_0
├—Visual FoxPro程序設計教程_0
├—Visual Prolog編程、環境及介面_0
├—VisualC++_NET MFC類庫應用詳解_0
├—WCDMA技術與系統設計:第三代移動通信系統的無線接入_0
├—WCDMA無線通信技術及演化_0
├—WCDMA移動通信技術_0
├—Win32匯編語言實用教程_0
├—Windows安全性編程_0
├—XML編程實例教程_0
├—·工程數學·復變函數_0
├—《Visual Basic程序設計教程》實驗與習題_0
├—《中華人民共和國電子簽名法》釋義及實用指南_0
├—《匯編語言與微機原理》學習指導與訓練_0
├—《集成電子技術基礎教程》教學指導書_0
├—三星電子絕處逢生的強悍之道_0
├—三級信息管理技術_0
├—三級信息管理技術:新大綱_0
├—專用集成電路_0
├—世界著名大學核心教材 計算機類 C語言程序設計_0
├—中國半導體行業協會集成電路設計分會推薦教材 集成電路設計與九天EDA工具應用_0
├—中國電子信息產品出口研究報告_2003_0
├—中文 Visual Basic 6_0實例教程_0
├—中文CorelDRAW 11_12時尚創作200例_0
├—中文Visual Basic實例全解教程_0
├—企業商務電子化導論_0
├—企業電子商務_0
├—使用UML進行面向對象的項目管理_0
├—例題解析電子電路:數字篇_0
├—例題解析電子電路:模擬篇_0
├—信號、系統與數字信號處理_0
├—信號、系統與數字信號處理學習指導與實踐_0
├—信號與系統典型題解2_0
├—信號與系統典型題解_0
├—信號與系統分析2_0
├—信號與系統分析_0
├—信號與系統學習與考研指導2_0
├—信號與系統學習與考研指導_0
├—信號與系統學習指導2_0
├—信號與系統學習指導3_0
├—信號與系統學習指導4_0
├—信號與系統學習指導_0
├—信號與系統教程2_0
├—信號與系統教程_0
├—信號與系統課程輔導_0
├—信號與線性系統分析 (第二版)_0
├—信號分析與處理_0
├—信號處理中的數學變換和估計方法_0
├—信號處理原理與應用_0
├—信號處理濾波器設計_0
├—信息與傳播_0
├—信息與計算科學專業系列教材 數字信號處理_0
├—信息與通信工程研究生系列教材 資訊理論與編碼_0
├—信息與通信工程研究生系列教材 圖論及其應用_0
├—信息光學理論與應用_0
├—信息化與中國經濟跨越式發展_0
├—信息化工程原理與應用_0
├—信息安全原理與應用 (第三版)_0
├—信息安全教學基礎_0
├—信息安全策略與機制_0
├—信息技術與電子政務 (通用版)——信息時代的電子政府_0
├—信息技術與課程整合的理論與方法_0
├—信息技術及其應用_0
├—信息技術基礎_0
├—信息技術基礎教程_0
├—信息技術基礎教程實驗及上機指導_0
├—信息技術法 (第二版)_0
├—信息技術的商業價值_0
├—信息方法概論_0
├—信息時代的企業人力資源管理_0
├—信息時代的管理信息系統 (原書第四版)_0
├—信息檢索與利用_0
├—信息理論與編碼2_0
├—信息理論與編碼_0
├—信息競爭論_0
├—信息管理與信息系統專業規劃教材 管理信息系統_0
├—信息管理論_0
├—信息系統分析與設計教程_0
├—信息系統升級與整合:策略·方法·技巧_0
├—信息系統安全管理_0
├—信息系統集成技術 (第二版)_0
├—信息系統項目管理導論_0
├—信息經濟學_0
├—信息經濟學與信息管理_0
├—信息經濟學引論:激勵與合約 (第二版)_0
├—信息經濟論_0
├—信息網路傳播權研究_0
├—信息網路經濟的管理與調控:美國「新經濟周期」研究_0
├—資訊理論與編碼理論 第二版_0
├—信息資源管理_0
├—信息隱藏與數字水印_0
├—信息隱藏技術實驗教程_0
├—先進PID控制MATLAB模擬 (第二版)_0
├—光信息網路_0
├—光信息通信技術實用手冊_0
├—光纖通信_0
├—光纖通信原理與技術_0
├—光纖通信技術_0
├—光纖通信系統原理與實驗教程_0
├—光纖通信系統及其應用_0
├—光纖通信:通信用光纖、器件和系統_0
├—全光光纖通信網_0
├—全國信息技術人才培養工程指定培訓教材 平面設計基礎_0
├—全國大學生電子設計競賽獲獎作品匯編:第一屆-第五屆_0
├—全國計算機技術與軟體專業技術資格(水平)考試·程序員分冊_0
├—全國計算機技術與軟體專業技術資格(水平)考試·網路工程師分冊_0
├—全國計算機技術與軟體專業技術資格(水平)考試·網路管理員分冊_0
├—全國計算機技術與軟體專業技術資格(水平)考試·軟體設計師分冊_0
├—全國計算機等級考試三級教程 信息管理技術_0
├—全國計算機等級考試三級模擬題精選與詳解 信息管理技術_0
├—全國計算機等級考試三級模擬題解 信息管理技術_0
├—全國計算機等級考試三級輔導 信息管理技術_0
├—全國計算機等級考試二級教程:基礎知識和Java語言程序設計_0
├—全國計算機等級考試二級模擬題解:基礎知識和Java語言程序設計_0
├—全國計算機等級考試應試輔導 QBASIC語言(二級)難點、錯點解析_0
├—全國計算機等級考試教程 信息管理技術 (三級) (2004修訂版)_0
├—全國計算機等級考試考點分析、題解與模擬 (三級信息管理技術)_0
├—全國計算機等級考試(三級信息管理技術)一冊通_0
├—公司信息戰略與管理:教程與案例 (原書第6版)_0
├—內容產業論:數字新媒體的核心_0
├—製造業信息化與信息編碼_0
├—動態網頁設計與電子商務_0
├—北京市高等教育精品教材立項項目 實用電子電路基礎_0
├—半導體分立元器件集成電路裝調_0
├—單片開關電源:應用電路·電磁兼容·PCB布線_0
├—單片微型計算機原理、應用及介面技術 (第2版)_0
├—單片機典型模塊設計實例導航_0
├—單片機原理與實用技術_0
├—單片機原理與應用2_0
├—單片機原理與應用_0
├—單片機原理及其介面技術 (第二版)_0
├—單片機原理及其介面技術 (第二版)_0
├—單片機原理及其介面技術學習輔導與實踐教程_0
├—單片機原理及應用_0
├—單片機原理及介面技術2_0
├—單片機原理及介面技術3_0
├—單片機原理及介面技術_0
├—單片機實用技術_0
├—單片機嵌入式應用的線開發方法_0
├—單片機應用技術_0
├—單片機應用系統設計與產品開發_0
├—單片機控制工程實踐技術_0
├—衛星通信系統_0
├—四維時空邏輯_0
├—國外電子與通信教材系列 信號與系統 (第二版)_0
├—國外經典教材 C++數據結構與程序設計_0
├—國外經典計算機科學教材 邏輯與計算機設計基礎 (第三版)_0
├—國外著名高等院校信息科學與技術優秀教材 C演算法 第一卷,基礎、數據結構、排序和搜_0
├—國外著名高等院校信息科學與技術優秀教材 密碼學概論 (中文版)_0
├—國外著名高等院校信息科學與技術優秀教材 面向對象編程 C++和Java 比較教程_0
├—國外計算機科學教材系列 現代編譯器的Java實現 (第二版)_0
├—國外計算機科學經典教材 JAVA 基礎教程:從問題分析到程序設計_0
├—國外計算機科學經典教材 數據結構 Java 語言描述 (第二版)_0
├—國外高校電子信息類優秀教材 (翻譯版) 壓縮視頻通信_0
├—國家信息化技術培訓指定教材 硬體維護工程師標准培訓教程_0
├—國防科工委十五規劃教材 網路與信息安全_0
├—國際電子商務培訓認證專用教材 國際電子商務程序設計教程_0
├—國際電子商務概論_0
├—圖像信息壓縮_0
├—圖像數字記錄_0
├—圖像編碼基礎和小波壓縮技術——原理、演算法和標准_0
├—圖表細說電子元器件_0
├—圖解晶體管實用電路_0
├—圖解電工電子基礎_0
├—基於Java的計算機圖形學_0
├—基於MCS-51單片機的嵌入式系統設計_0
├—聲光信號處理及應用_0
├—復變函數與拉普拉斯變換習題指導_0
├—復變函數與積分變換學習指導_0
├—復變函數論與運算微積_0
├—大型軟體體系結構:使用UML實踐指南_0
├—大學信息技術基礎教程_0
├—大學生素質教育系列教材 復變函數學習指導_0
├—大學英語六級詞彙背誦詞典
├—大學計算機信息技術學習指導_0
├—大學計算機基礎教育規劃教材 Visual Basic NET程序設計_0
├—大容量數據存儲系統編碼_0
├—天津市高等學校計算機基礎課程規劃教材 C程序設計教程 (第二版)_0
├—奇思異想編程序 Delphi篇_0
├—學習指導與題典:離散數學_0
├—學習指導與題典:計算機網路與通信_0
├—完整的數字設計_0
├—實用化工計算機模擬:MATLAB在化學工程中的應用_0
├—實用射頻技術_0
├—實用電動機控制電路200例_0
├—實用電工與電子技術問答_0
├—實用電工電路圖集_0
├—實用電路基礎_0
├—實用軟體測試過程_0
├—實驗電子技術_0
├—寬頻移動通信中的先進信道編碼技術_0
├—寬頻通信_0
├—寬頻通信網與組網技術_0
├—小波分析信息傳輸基礎_0
├—小靈通(PAS)個人通信接入系統 (修訂版)_0
├—嵌入式微處理器模擬介面設計 (第二版)_0
├—嵌入式軟體測試_0
├—工程電磁場數值計算_0
├—差錯控制編碼_0
├—常用充電器電路與應用_0
├—應用程序設計編制(Delphi 平台)Delphi 6_0_7_0職業技能培訓教程_0
├—建築物電子信息系統防雷技術設計手冊_0
├—建築電氣常用設備模塊化控制電路圖集_0
├—建築通信與網路技術_0
├—開發專家之Sun ONE J2EE技術參考手冊_0
├—彩色圖像工程_0
├—彩色電視機單元電路應用與維修手冊_0
├—微型計算機原理與介面技術3_0
├—微型計算機原理與介面技術_0
├—微型計算機硬體技術教程-原理·匯編·介面及體系結構_0
├—微處理機原理與介面技術_0
├—微控制器原理及介面技術實驗教程_0
├—微機原理與介面技術2_0
├—微機原理與介面技術4_0
├—微機原理與介面技術_0
├—微機原理與介面技術綜合實驗教程_0
├—微機原理及介面技術實驗教程_0
├—微機原理及軟硬體介面技術_0
├—微機介面技術500問_0
├—微波固態電路_0
├—微波工程基礎_0
├—微波技術2_0
├—微波技術_0
├—微觀信息管理_0
├—快速開發信息管理系統:新平台、新方法_0
├—怎樣用電腦設計電子線路_0
├—怎樣看樓宇常用設備電氣控制電路圖_0
├—振盪電路的設計與應用_0
├—捉蟲歷險記——常見C++Bug大圍剿_0
├—控制工程與信號處理_0
├—控制系統MATLAB計算機及模擬 (第二版)_0
├—操作系統原理Linux篇_0
├—數字萬用表檢測方法與應用 (世紀新版)_0
├—數字與邏輯電路
├—數字專用集成電路的設計與驗證_0
├—數字信號處理2_0
├—數字信號處理3_0
├—數字信號處理_0
├—數字信號處理典型題解及自測試題_0
├—數字信號處理原理及實現_0
├—數字信號處理實踐方法 (第2版)_0
├—數字信號處理教程:MATLAB釋義與實現_0
├—數字信號處理:系統分析與設計_0
├—數字信號微處理器的原理與開發 (第二版)_0
├—數字製造_0
├—數字化戰場_0
├—數字化測量技術與應用_0
├—數字化網路化製造技術_0
├—數字圖像處理及應用_0
├—數字城堡_0
├—數字城市建設的理論與策略_0
├—數字媒體:作品觀摩與點評_0
├—數字廣播電視技術文選_0
├—數字微波通信_0
├—數字技術與著作權:觀念、規范與實例_0
├—數字時代的影像製作_0
├—數字時代的電視圖像_0
├—數字顯示測量儀表_0
├—數字電子技術_0
├—數字電子技術基礎 (第四版) 全程輔導_0
├—數字電子技術基礎 (第四版) 導教·導學·導考_0
├—數字電子技術基礎_0
├—數字電視原理_0
├—數字電視廣告_0
├—數字電路與邏輯設計教程2_0
├—數字電路與邏輯設計教程_0
├—數字電路設計完全手冊_0
├—數字的美術——CorelDRAW Illustrator藝術插畫設計經典案例剖析_0
├—數字簽名原理及技術_0
├—數字系統設計:從數字技術基礎到ASIC設計的解析_0
├—數字系統邏輯設計
├—數字系統邏輯設計3_0
├—數字系統邏輯設計_0
├—數字視頻解決方案:創建、編輯與共享數字視頻_0
├—數字設計 (第三版)_0
├—數字通信技術_0
├—數字邏輯
├—數字邏輯2_0
├—數字邏輯_0
├—數字邏輯與VHDL設計_0
├—數字邏輯基礎
├—數字邏輯基礎_0
├—數字邏輯技術基礎_0
├—數字邏輯電路_0
├—數字邏輯電路的ASIC設計2_0
├—數字邏輯電路的ASIC設計_0
├—數字邏輯電路設計
├—數字邏輯電路設計2_0
├—數字邏輯電路設計_0
├—數字邏輯電路設計與實現_0
├—數字邏輯的圖形方法2_0
├—數字邏輯的圖形方法_0
├—數字集成電路與嵌入式內核系統可測試性設計_0
├—數字集成電路:電路、系統與設計 (第二版)_0
├—數字集群 移動通信系統 (第二版)_0
├—數學物理方法_0
├—數學物理方程及其近似方法_0
├—資料庫系統工程師教程_0
├—資料庫系統工程師考試大綱_0
├—數據結構(C語言版)導教·導學·導?br>

Ⅲ 如何編寫Windows安全檢查腳本

可以用windows批處理寫一個安全檢查腳本,代碼如下,僅供參考:

@echooff
echo"Windows系統安全檢查腳本"
ifexistd:檢查結果(
echo
)else(
mdd:檢查結果
)
ifnotexistd:檢查結果mdd:檢查結果
echo"系統信息檢查"
systeminfo殲氏虛>d:檢查結果系統信息.log
echo"埠信息檢查"
netstat-anb>d:檢查結果埠信息.log
echo"進程檢查"
tasklist&netstart>d:檢查結果進程檢查.log
echo"進程路徑檢查"
wmicprocessgetname,executablepath,processid>d:檢查結果進程路徑檢查.log
echo"默認共享檢查"
netshare>d:檢查結果默認共享檢查.log
echo"用戶信息檢查"
netuser&netlocalgroupadministrators>d:檢查結果用戶信息檢查.log
echo"隱藏用戶檢查"
echoHKEY_LOCAL_[12
19]>d: egg.ini&echoHKEY_LOCAL_MACHINESAMSAM[1219]
>>d: egg.ini&reginid: egg.ini®query
HKEY_LOCAL_
>d:檢查結果隱藏用戶檢查.log&deld: egg.ini
echo"核納注冊表啟動項檢查"
regquery
HKEY_LOCAL_&
regquery
HKEY_CURRENT_
>d:檢查結果注冊表啟動項檢查氏燃.log
echo"安全策略檢查"
secedit/export/cfgLocalGroupPolicy&typeLocalGroupPolicy>d:檢查結果安全策略檢查.log
echo"IE瀏覽器記錄檢查"
regqueryHKEY_CURRENT_USERSoftwareMicrosoftInternet""ExplorerTypedURLs>d:檢查結果IE瀏覽器記錄檢查.log
echo"添加和卸載記錄"
regqueryHKEY_LOCAL_/s/vDisPlayname>d:檢查結果添加和卸載記錄.log
echo"異常狀態檢查"
regqueryHKEY_LOCAL_""NTCurrentVersionSvcHost
/s/vnetsvcs®queryHKEY_LOCAL_"
"NTCurrentVersionSvcHost/s/vLocalService>d:檢查結果異常狀態檢查.log
echo"通信檢查"
netstat-a>d:檢查結果通信檢查.log
echo"CMD記錄"
regqueryHKEY_CURRENT_>d:檢查結果CMD記錄.log
echo"文件記錄檢查"
regqueryHKEY_CURRENT_>d:檢查結果文件記錄檢查.log
echo"文件記錄檢查2"
regquery
HKEY_CURRENT_*
/v*>d:檢查結果文件記錄檢查2.log
echo"程序記錄"
regqueryHKEY_CURRENT_RU>d:檢查結果程序記錄.log
echo"程序記錄"
regqueryHKEY_CURRENT_RU>d:檢查結果程序記錄.log
echo"C盤捆綁文件檢查"
echo"正常可執行文件返回結果為1,不可執行文件結果為0,返回結果為2的,為存在捆綁內容文件。"
echo"請點擊回車繼續!"
set/pvar=find/c/i"thisprogram"c:*c:Inetpub*C:UsersAdministratorDesktop*c: emp*>d:檢查結果捆綁文件檢查.log
%var%
if%ERRORLEVEL%==0gotoyes
gotono
:yes
exit
:no
find/c/i"thisprogram"c:*c:wmpub*c:Inetpub*C:桌面*>d:檢查結果捆綁文件檢查.log

Ⅳ 看過Windows內核安全編程的朋友請進

這樣應該不行吧 你得把IRP完成搭如了才能返回啊 直接返回成功銀枝基卻沒有設置IRP的諸多參數啊 比如狀態 操作字鋒謹節數等

我也是初學者 看的也是這本書 可以討論討論

Ⅳ Windows內核安全編程從入門到實踐的目 錄

目錄
第一部分基礎篇
第1章前置要求與環境搭建2
1.1驅動編程的語言2
1.2開發環境搭建2
1.2.1VisualStudio2005/2008的安裝
與配置2
1.2.2WDK的安裝與配置4
1.2.3VisualDDK的安裝與配置5
1.3常用工具介紹6
第2章內核編程基礎知識7
2.1Windows主要系統組件7
2.1.1對象管理器7
2.1.2內存管理器7
2.1.3進程和線程管理器7
2.1.4I/O管理器8
2.1.5PnP管理器8
2.1.6電源管理器8
2.1.7配置管理器9
2.1.8安全引用監視器9
2.2常見名詞解釋9
2.2.1內核名詞9
2.2.2文件名詞13
2.2.3網路名詞13
2.3常見內核數據結構15
2.3.1驅動框架常見數據結構15
2.3.2進程與線程數據結構17
2.3.3存儲系統數據結構23
2.3.4網路數據結構25
2.3.5其他一些常見的數據結構29
第3章基本編程方法37
3.1簡單的NT式驅動模型37
3.1.1驅動模型的選擇37
3.1.2NT式驅動程序基本結構37
3.1.3編譯驅動程序40
3.1.4載入驅動及查看輸出信息40
3.2應用層與內核的通信方法43
3.2.1訪問數據的I/O方式43
3.2.2讀寫驅動程序45
3.2.3發送I/O控制碼49
3.2.4內存共享54
3.3同步技術56
3.3.1事件對象56
3.3.2信號燈對象57
3.3.3互斥體對象游鉛58
3.3.4定時器對象61
3.3.5自旋鎖64
3.3.6回調對象64
3.3.7原子操作70
3.4IRP處理70
3.4.1簡單的IRP流動圖71
3.4.2IRP的創建72
3.4.3IRP的發送75
3.4.4為IRP設置完成函數76
3.4.5IRP的完成78
3.4.6多種典型的IRP處理示例85
3.5字元串操作89
3.5.1STRING、ANSI_STRING和
UNICODE_STRING89
3.5.2初始慶磨液化和銷毀90
3.5.3復制和添加91
3.5.4比較92
3.5.5轉換93
3.6內存管理94
3.6.1分配系統空間譽物內存94
3.6.2運行時庫管理函數95
3.6.3使用內核棧96
3.6.4使用Lookaside快速鏈表97
3.6.5訪問用戶空間內存101
3.6.6內存區對象和視圖101
3.6.7MDL的使用103
3.7注冊表編程105
3.7.1注冊表對象管理函數105
3.7.2注冊表運行時庫函數112
3.7.3注冊表調用過濾116
3.8文件編程120
3.8.1打開文件句柄120
3.8.2執行相關文件操作121
3.9其他127
3.9.1本地系統服務函數的Nt
和Zw版本127
3.9.2NTSTATUS返回值128
3.9.3雙向鏈表的使用128
3.9.4異常處理129
第二部分提升篇
第4章進程132
4.1進程監控實現原理132
4.2Windows7系統下的進程
監控軟體實例132
4.2.1內核模塊程序實現132
4.2.2用戶模式程序實現149
4.3安裝與使用164
第5章磁碟165
5.1存儲驅動體系結構165
5.2設備樹示例166
5.3diskperf磁碟過濾驅動167
5.3.1diskperf介紹167
5.3.2diskperf的過濾框架168
5.3.3diskperf的PnP支持172
5.3.4diskperf的硬碟訪問監控
和性能數據捕獲187
5.3.5diskperf的電源支持194
5.3.6diskperf的安裝與測試194
第6章鍵盤197
6.1原理跟蹤197
6.1.1自下而上的過程197
6.1.2自上而下的過程205
6.2幾種常見的鍵盤記錄行為208
6.2.1應用層的消息鉤子208
6.2.2鍵盤過濾驅動208
6.2.3鍵盤類驅動的分發
函數Hook214
6.2.4DKOM技術214
6.2.5其他方法215
6.3反鍵盤記錄216
6.3.1實現原理216
6.3.2反鍵盤記錄示例216
第7章文件242
7.1原理跟蹤242
7.1.1Windows存儲棧242
7.1.2不涉及緩存的數據存儲243
7.1.3涉及緩存的數據存儲253
7.2簡單的文件隱藏254
7.2.1文件隱藏的原理254
7.2.2文件隱藏的實現255
7.3scanner掃描程序264
7.3.1過濾管理器與微過濾
驅動概念265
7.3.2使用過濾管理模型的優勢266
7.3.3微過濾驅動的載入和卸載267
7.3.4用戶模式和內核模式的交互269
7.3.5scanner介紹287
7.3.6scanner驅動程序288
7.3.7scanner應用層程序303
7.3.8scanner的安裝與使用309
第8章網路310
8.1原理跟蹤310
8.2NDIS協議驅動317
8.2.1DriverEntry317
8.2.2綁定320
8.2.3數據發送327
8.2.4數據接收334
8.2.5數據流動總結348
8.3OPEN_BLOCK的展示349

Ⅵ 寒江獨釣:Windows內核安全編程的圖書目錄

第1章 內核上機指導 1
Windows內核編程的動手有點麻煩,並不是僅僅安裝一個獨立的軟體(比如VC)之後就可以安然地開始編寫代碼,然後運行了。需要下載開發包、配置開發環境、准備調試工具,可能還需要一些小工具協同工作。這一步攔住了不少的初學者。本章以詳細圖文攻略,來引導讀者完成這一麻煩的步驟。
1.1 下載和使用WDK 2
1.1.1 下載安裝WDK 2
1.1.2 編寫第一個C文件 3
1.1.3 編譯一個工程 5
1.2 安裝與運行 6
1.2.1 下載一個安裝工具 6
1.2.2 運行與查看輸出信息 7
1.2.3 在虛擬機中運行 9
1.3 調試內核模塊 9
1.3.1 下載和安裝WinDbg 9
1.3.2 設置Windows XP調試執行 10
1.3.3 設置Vista調試執行 11
1.3.4 設置VMWare的管道虛擬串口 11
1.3.5 設置Windows內核符號表 13
1.3.6 實戰調試first 14
練習題 16
第2章 內核編程環境及其特殊性 17
編寫過驅動程序的讀者可能會很熟悉這一切,但是對只從事過應用程序的讀者而言,要理解內核編程環境的特殊性,就很需要一些功夫和悟性了。在應用程序中,多線程的情況已經帶來了一定理解的困難;而內核代碼呢?幾乎無時無刻不運行在多線程之下。它從哪裡開始?從哪裡結束?它在什麼進程內運行?這些問題一言難盡。
2.1 內核編程的環境 18
2.1.1 隔離的應用程序 18
2.1.2 共享的內核空間 19
2.1.3 無處不在的內核模塊 20
2.2 數據類型 21
2.2.1 基本數據類型 21
2.2.2 返回狀態 22
2.2.3 字元串 23
2.3 重要的數據結構 23
2.3.1 驅動對象 23
2.3.2 設備對象 25
2.3.3 請求 26
2.4 函數調用 28
2.4.1 查閱幫助 28
2.4.2 幫助中有的幾類函數 30
2.4.3 幫助中沒有的函數 32
2.5 Windows的驅動開發模型 32
2.6 WDK編程中的特殊點 33
2.6.1 內核編程的主要調用源 33
2.6.2 函數的多線程安全性 34
2.6.3 代碼的中斷級 36
2.6.4 WDK中出現的特殊代碼 37
練習題 38
第3章 串口的過濾 40
在安全軟體的開發中,串口驅動的應用並不常見。但是本書以串口驅動作為第一個介紹的實例。為何?僅僅是因為串口簡單。從簡單的例子入手,可以為讀者帶來稍許輕松的感受。
3.1 過濾的概念 41
3.1.1 設備綁定的內核API之一 41
3.1.2 設備綁定的內核API之二 43
3.1.3 生成過濾設備並綁定 43
3.1.4 從名字獲得設備對象 45
3.1.5 綁定所有串口 46
3.2 獲得實際數據 47
3.2.1 請求的區分 47
3.2.2 請求的結局 48
3.2.3 寫請求的數據 49
3.3 完整的代碼 50
3.3.1 完整的分發函數 50
3.3.2 如何動態卸載 52
3.3.3 完整的代碼 53
本章的示例代碼 53
練習題 54
第4章 鍵盤的過濾 56
鍵盤是很重要的輸入設備!這是因為我們用鍵盤錄入信息、用鍵盤輸入密碼,甚至用鍵盤編程,也用鍵盤著書立說。對於黑客來說,使用龐大的計算機資源去破解那些堅不可摧的加密演算法,哪如偷偷地記下用戶用鍵盤輸入的密鑰更加簡單呢?本章專注於鍵盤的保護。
4.1 技術原理 57
4.1.1 預備知識 57
4.1.2 Windows中從擊鍵到內核 58
4.1.3 鍵盤硬體原理 60
4.2 鍵盤過濾的框架 61
4.2.1 找到所有的鍵盤設備 61
4.2.2 應用設備擴展 64
4.2.3 鍵盤過濾模塊的DriverEntry 65
4.2.4 鍵盤過濾模塊的動態卸載 66
4.3 鍵盤過濾的請求處理 68
4.3.1 通常的處理 68
4.3.2 PNP的處理 69
4.3.3 讀的處理 70
4.3.4 讀完成的處理 71
4.4 從請求中列印出按鍵信息 72
4.4.1 從緩沖區中獲得KEYBOARD_INPUT_DATA 72
4.4.2 從KEYBOARD_INPUT_DATA中得到鍵 73
4.4.3 從MakeCode到實際字元 74
4.5 Hook分發函數 75
4.5.1 獲得類驅動對象 76
4.5.2 修改類驅動的分發函數指針 77
4.5.3 類驅動之下的埠驅動 78
4.5.4 埠驅動和類驅動之間的協作機制 79
4.5.5 找到關鍵的回調函數的條件 80
4.5.6 定義常數和數據結構 80
4.5.7 打開兩種鍵盤埠驅動尋找設備 81
4.5.8 搜索在KbdClass類驅動中的地址 83
4.6 Hook鍵盤中斷反過濾 86
4.6.1 中斷:IRQ和INT 86
4.6.2 如何修改IDT 87
4.6.3 替換IDT中的跳轉地址 88
4.6.4 QQ的PS/2反過濾措施 90
4.7 利用IOAPIC重定位中斷處理函數 90
4.7.1 什麼是IOAPIC 90
4.7.2 如何訪問IOAPIC 91
4.7.3 編程修改IOAPIC重定位表 92
4.7.4 插入新的中斷處理 93
4.7.5 驅動入口和卸載的實現 95
4.8 直接用埠操作鍵盤 96
4.8.1 讀取鍵盤數據和命令埠 96
4.8.2 p2cUserFilter的最終實現 97
本章的示例代碼 98
練習題 99
第5章 磁碟的虛擬 100
CPU是計算機的核心,但是它不保存信息。如果它被竊,我們可以簡單地購買一個新的。但是如果裝滿了機密信息的硬碟被竊了,那可就不是買一個新的就能彌補得了的。本章介紹硬碟內核魔術:虛擬硬碟。虛擬硬碟可以不被盜竊者利用嗎?良好的設計可以做到這一點。
5.1 虛擬的磁碟 101
5.2 一個具體的例子 101
5.3 入口函數 102
5.3.1 入口函數的定義 102
5.3.2 Ramdisk驅動的入口函數 103
5.4 EvtDriverDeviceAdd函數 104
5.4.1 EvtDriverDeviceAdd的定義 104
5.4.2 局部變數的聲明 105
5.4.3 磁碟設備的創建 105
5.4.4 如何處理發往設備的請求 107
5.4.5 用戶配置的初始化 108
5.4.6 鏈接給應用程序 110
5.4.7 小結 111
5.5 FAT12/16磁碟卷初始化 111
5.5.1 磁碟卷結構簡介 111
5.5.2 Ramdisk對磁碟的初始化 113
5.6 驅動中的請求處理 119
5.6.1 請求的處理 119
5.6.2 讀/寫請求 120
5.6.3 DeviceIoControl請求 122
5.7 Ramdisk的編譯和安裝 124
5.7.1 編譯 124
5.7.2 安裝 125
5.7.3 對安裝的深入探究 125
練習題 126
第6章 磁碟過濾 127
很多網吧的老闆、公司的IT管理部門以及讀者自己都很厭惡硬碟總是被病毒和木馬搞得一團糟。一些簡單的還原軟體可以搞定這個問題:重啟之後,對硬碟的修改都奇跡般地消失了。這是怎麼實現的呢?本章告訴您答案。
6.1 磁碟過濾驅動的概念 128
6.1.1 設備過濾和類過濾 128
6.1.2 磁碟設備和磁碟卷設備過濾驅動 128
6.1.3 注冊表和磁碟卷設備過濾驅動 129
6.2 具有還原功能的磁碟卷過濾驅動 129
6.2.1 簡介 129
6.2.2 基本思想 130
6.3 驅動分析 130
6.3.1 DriverEntry函數 130
6.3.2 AddDevice函數 132
6.3.3 PnP請求的處理 136
6.3.4 Power請求的處理 140
6.3.5 DeviceIoControl請求的處理 140
6.3.6 bitmap的作用和分析 144
6.3.7 boot驅動完成回調函數和稀疏文件 150
6.3.8 讀/寫請求的處理 152
6.3.9 示例代碼 160
6.3.10 練習題 161
第7章 文件系統的過濾與監控 162
硬碟是硬碟,而文件系統是文件系統,可是有的人總是把它們當做一回事。其實硬碟很簡單,硬碟就是一個很簡單的保存信息的盒子;而復雜的是文件系統,它很精妙地把簡單的數據組織成復雜的文件。作為信息安全的專家,我們當然不能讓文件系統脫離我們的控制之外。
7.1 文件系統的設備對象 163
7.1.1 控制設備與卷設備 163
7.1.2 生成自己的一個控制設備 165
7.2 文件系統的分發函數 166
7.2.1 普通的分發函數 166
7.2.2 文件過濾的快速IO分發函數 167
7.2.3 快速IO分發函數的一個實現 169
7.2.4 快速IO分發函數逐個簡介 170
7.3 設備的綁定前期工作 172
7.3.1 動態地選擇綁定函數 172
7.3.2 注冊文件系統變動回調 173
7.3.3 文件系統變動回調的一個實現 175
7.3.4 文件系統識別器 176
7.4 文件系統控制設備的綁定 177
7.4.1 生成文件系統控制設備的過濾設備 177
7.4.2 綁定文件系統控制設備 178
7.4.3 利用文件系統控制請求 180
7.5 文件系統卷設備的綁定 183
7.5.1 從IRP中獲得VPB指針 183
7.5.2 設置完成函數並等待IRP完成 184
7.5.3 卷掛載IRP完成後的工作 187
7.5.4 完成函數的相應實現 190
7.5.5 綁定卷的實現 191
7.6 讀/寫操作的過濾 193
7.6.1 設置一個讀處理函數 193
7.6.2 設備對象的區分處理 194
7.6.3 解析讀請求中的文件信息 195
7.6.4 讀請求的完成 198
7.7 其他操作的過濾 202
7.7.1 文件對象的生存周期 202
7.7.2 文件的打開與關閉 203
7.7.3 文件的刪除 205
7.8 路徑過濾的實現 206
7.8.1 取得文件路徑的3種情況 206
7.8.2 打開成功後獲取路徑 207
7.8.3 在其他時刻獲得文件路徑 209
7.8.4 在打開請求完成之前獲得路徑名 209
7.8.5 把短名轉換為長名 211
7.9 把sfilter編譯成靜態庫 212
7.9.1 如何方便地使用sfilter 212
7.9.2 初始化回調、卸載回調和綁定回調 213
7.9.3 綁定與回調 215
7.9.4 插入請求回調 216
7.9.5 如何利用sfilter.lib 218
本章的示例代碼 221
練習題 221
第8章 文件系統透明加密 223
如何阻止企業的機密文件被主動泄密,但是又不用關閉網路、禁止U盤等手段重重束縛大家?很多跡象表明,文件系統透明加密是最優的選擇。既然從前一章讀者已經學會了控制文件系統,那麼現在,該是我們摩拳擦掌,用它來保護我們的機密信息的時候了。
8.1 文件透明加密的應用 224
8.1.1 防止企業信息泄密 224
8.1.2 文件透明加密防止企業信息泄密 224
8.1.3 文件透明加密軟體的例子 225
8.2 區分進程 226
8.2.1 機密進程與普通進程 226
8.2.2 找到進程名字的位置 227
8.2.3 得到當前進程的名字 228
8.3 內存映射與文件緩沖 229
8.3.1 記事本的內存映射文件 229
8.3.2 Windows的文件緩沖 230
8.3.3 文件緩沖:明文還是密文的選擇 232
8.3.4 清除文件緩沖 233
8.4 加密標識 236
8.4.1 保存在文件外、文件頭還是文件尾 236
8.4.2 隱藏文件頭的大小 237
8.4.3 隱藏文件頭的設置偏移 239
8.4.4 隱藏文件頭的讀/寫偏移 240
8.5 文件加密表 241
8.5.1 何時進行加密操作 241
8.5.2 文件控制塊與文件對象 242
8.5.3 文件加密表的數據結構與初始化 243
8.5.4 文件加密表的操作:查詢 244
8.5.5 文件加密表的操作:添加 245
8.5.6 文件加密表的操作:刪除 246
8.6 文件打開處理 248
8.6.1 直接發送IRP進行查詢與設置操作 248
8.6.2 直接發送IRP進行讀/寫操作 250
8.6.3 文件的非重入打開 252
8.6.4 文件的打開預處理 255
8.7 讀寫加密/解密 260
8.7.1 在讀取時進行解密 260
8.7.2 分配與釋放MDL 261
8.7.3 寫請求加密 262
8.8 crypt_file的組裝 265
8.8.1 crypt_file的初始化 265
8.8.2 crypt_file的IRP預處理 266
8.8.3 crypt_file的IRP後處理 269
本章的示例代碼 272
練習題 272
第9章 文件系統微過濾驅動 273
從來都不原地踏步的微軟,早就准備好了下一代的文件系統過濾的框架、文檔、代碼例子。雖然本書的前兩章的範例在Windows 7上都還可以正常運行,但是如果不學習一下最新的介面,讀者一定會覺得不自在。但是讀者可以放心,在前面學習的基礎上,了解新的介面是易如反掌的。
9.1 文件系統微過濾驅動簡介 274
9.1.1 文件系統微過濾驅動的由來 274
9.1.2 Minifilter的優點與不足 275
9.2 Minifilter的編程框架 275
9.2.1 微文件系統過濾的注冊 276
9.2.2 微過濾器的數據結構 277
9.2.3 卸載回調函數 280
9.2.4 預操作回調函數 281
9.2.5 後操作回調函數 284
9.2.6 其他回調函數 285
9.3 Minifilter如何與應用程序通信 288
9.3.1 建立通信埠的方法 288
9.3.2 在用戶態通過DLL使用通信埠的範例 290
9.4 Minifilter的安裝與載入 292
9.4.1 安裝Minifilter的INF文件 293
9.4.2 啟動安裝完成的Minifilter 294
本章的示例代碼 295
練習題 295
第10章 網路傳輸層過濾 296
筆者常常使用防火牆,它們看上去真的很神奇。如果懷疑自己的機器上有見不得人的進程打開了網路埠盜走機密信息,防火牆將提醒您,雖然防火牆並不知道它是否是一個木馬。這是怎麼做到的?本章為您揭曉謎底。
10.1 TDI概要 297
10.1.1 為何選擇TDI 297
10.1.2 從socket到Windows內核 297
10.1.3 TDI過濾的代碼例子 299
10.2 TDI的過濾框架 299
10.2.1 綁定TDI的設備 299
10.2.2 唯一的分發函數 300
10.2.3 過濾框架的實現 302
10.2.4 主要過濾的請求類型 304
10.3 生成請求:獲取地址 305
10.3.1 過濾生成請求 305
10.3.2 准備解析IP地址與埠 307
10.3.3 獲取生成的IP地址和埠 308
10.3.4 連接終端的生成與相關信息的保存 310
10.4 控制請求 311
10.4.1 TDI_ASSOCIATE_ADDRESS的過濾 311
10.4.2 TDI_CONNECT的過濾 313
10.4.3 其他的次功能號 314
10.4.4 設置事件的過濾 316
10.4.5 TDI_EVENT_CONNECT類型的設置事件的過濾 318
10.4.6 直接獲取發送函數的過濾 320
10.4.7 清理請求的過濾 322
10.5 本書例子tdifw.lib的應用 323
10.5.1 tdifw庫的回調介面 323
10.5.2 tdifw庫的使用例子 325
本章的示例代碼 326
練習題 327
第11章 NDIS協議驅動 328
網路的連接只是外表而已,實際上,最終它們變成了一個個在網線上往返的網路包。高明的黑客是不會去用Socket來生成連接的。把黑暗的信息隱藏在單個的數據包里,你還可以發現它們嗎?本章介紹的NDIS協議驅動,是Windows網路抓包工具的基礎。
11.1 乙太網包和網路驅動架構 329
11.1.1 乙太網包和協議驅動 329
11.1.2 NDIS網路驅動 330
11.2 協議驅動的DriverEntry 331
11.2.1 生成控制設備 331
11.2.2 注冊協議 333
11.3 協議與網卡的綁定 335
11.3.1 協議與網卡的綁定概念 335
11.3.2 綁定回調處理的實現 335
11.3.3 協議綁定網卡的API 338
11.3.4 解決綁定競爭問題 339
11.3.5 分配接收和發送的包池與緩沖池 340
11.3.6 OID請求的發送和請求完成回調 342
11.3.7 ndisprotCreateBinding的最終實現 345
11.4 綁定的解除 351
11.4.1 解除綁定使用的API 351
11.4.2 ndisprotShutdownBinding的實現 353
11.5 在用戶態操作協議驅動 356
11.5.1 協議的收包與發包 356
11.5.2 在用戶態編程打開設備 357
11.5.3 用DeviceIoControl發送控制請求 358
11.5.4 用WriteFile發送數據包 360
11.5.5 用ReadFile發送數據包 362
11.6 在內核態完成功能的實現 363
11.6.1 請求的分發與實現 363
11.6.2 等待設備綁定完成與指定設備名 364
11.6.3 指派設備的完成 365
11.6.4 處理讀請求 368
11.6.5 處理寫請求 370
11.7 協議驅動的接收回調 374
11.7.1 和接收包有關的回調函數 374
11.7.2 ReceiveHandler的實現 376
11.7.3 TransferDataCompleteHandler的實現 380
11.7.4 ReceivePacketHandler的實現 381
11.7.5 接收數據包的入隊 383
11.7.6 接收數據包的出隊和讀請求的完成 385
本章的示例代碼 388
練習題 389
第12章 NDIS小埠驅動 390
如果厭煩了漏洞百出的乙太網,還有什麼可以充當我的網路介面嗎?當然,一切能通信的設備,皆有替代乙太網的潛質。即使您不願意修改無數通過TCP介面編程的應用程序,我們依然可以用其他通信設備來虛擬網卡。本章介紹小埠驅動來虛擬網卡的技術。
12.1 小埠驅動的應用與概述 391
12.1.1 小埠驅動的應用 391
12.1.2 小埠驅動的實例 392
12.1.3 小埠驅動的運作與編程概述 393
12.2 小埠驅動的初始化 393
12.2.1 小埠驅動的DriverEntry 393
12.2.2 小埠驅動的適配器結構 396
12.2.3 配置信息的讀取 397
12.2.4 設置小埠適配器上下文 398
12.2.5 MPInitialize的實現 399
12.2.6 MPHalt的實現 402
12.3 打開ndisprot設備 403
12.3.1 I/O目標 403
12.3.2 給IO目標發送DeviceIoControl請求 404
12.3.3 打開ndisprot介面並完成配置設備 406
12.4 使用ndisprot發送包 409
12.4.1 小埠驅動的發包介面 409
12.4.2 發送控制塊(TCB) 409
12.4.3 遍歷包組並填寫TCB 412
12.4.4 寫請求的構建與發送 415
12.5 使用ndisprot接收包 417
12.5.1 提交數據包的內核API 417
12.5.2 從接收控制塊(RCB)提交包 418
12.5.3 對ndisprot讀請求的完成函數 420
12.5.4 讀請求的發送 422
12.5.5 用於讀包的WDF工作任務 424
12.5.6 ndisedge讀工作任務的生成與入列 426
12.6 其他的特徵回調函數的實現 428
12.6.1 包的歸還 428
12.6.2 OID查詢處理的直接完成 429
12.6.3 OID設置處理 432
本章的示例代碼 433
練習題 434
第13章 NDIS中間層驅動 435
當我們不滿足於抓包和發包,而試圖控制本機上流入和流出的所有數據包的時候,NDIS中間層驅動是最終的選擇。防火牆的功能在這里得到加強:我們不再滿足於看到連接、埠、對方IP地址,而是要看到每一個數據包的原始結構。本章介紹NDIS中間層驅動。
13.1 NDIS中間層驅動概述 436
13.1.1 Windows網路架構總結 436
13.1.2 NDIS中間層驅動簡介 437
13.1.3 NDIS中間層驅動的應用 438
13.1.4 NDIS包描述符結構深究 439
13.2 中間層驅動的入口與綁定 442
13.2.1 中間層驅動的入口函數 442
13.2.2 動態綁定NIC設備 443
13.2.3 小埠初始化(MpInitialize) 445
13.3 中間層驅動發送數據包 447
13.3.1 發送數據包原理 447
13.3.2 包描述符「重利用」 448
13.3.3 包描述符「重申請」 451
13.3.4 發送數據包的非同步完成 453
13.4 中間層驅動接收數據包 455
13.4.1 接收數據包概述 455
13.4.2 用PtReceive接收數據包 456
13.4.3 用PtReceivePacket接收 461
13.4.4 對包進行過濾 463
13.5 中間層驅動程序查詢和設置 466
13.5.1 查詢請求的處理 466
13.5.2 設置請求的處理 468
13.6 NDIS句柄 470
13.6.1 不可見的結構指針 470
13.6.2 常見的NDIS句柄 471
13.6.3 NDIS句柄誤用問題 473
13.6.4 一種解決方案 475
13.7 生成普通控制設備 476
13.7.1 在中間層驅動中添加普通設備 476
13.7.2 使用傳統方法來生成控制設備 478
本章的示例代碼 483
練習題 483
附錄A 如何使用本書的源碼光碟 485

Ⅶ Windows內核安全編程從入門到實踐的內容簡介

本書詳細介紹了Windows平台下的內核安全編程知識。首先簡單介紹了驅動編程的基本方法;然後衡櫻詳細介紹了Windows各個系統組件的工作原理,如文件系統、網路系統自上而下的執行流程。同時還介紹了各個組件涉及的安全問題,如文件隱藏、鍵盤記錄等,並通過工程項目讓讀者從代碼層級了解這些信息安全問題及解決方法;最後介紹了驅動編程本身的安全問題,如安全編碼的注意事項和脆弱代碼的檢測手段。另外本書還介紹了簡單的調試和逆向技術,幫助解決開發過程中遇到的技術難題。談旁通過閱讀本書,可以幫助讀者更深層次地了解內核態下的信息安全知識。
本書適合大專院校計算機系的學生、Windows程序員、從事信息安全行業的工程師以及含攔橡所有對Windows內核安全編程感興趣的愛好者使用。

閱讀全文

與windows安全性編程相關的資料

熱點內容
單片機的反向編譯 瀏覽:463
subsample演算法 瀏覽:897
蘋果免費看書app哪個最好 瀏覽:883
c語言加密怎麼弄 瀏覽:840
c語言編譯的錯誤提示 瀏覽:765
驗機蘋果app哪個最好 瀏覽:664
光遇國際服安卓如何購買禮包 瀏覽:53
163app怎麼下載 瀏覽:245
電腦程序員下場 瀏覽:45
編譯原理ll1文法判斷 瀏覽:725
qt用vs2015編譯 瀏覽:549
結婚日子最好的演算法 瀏覽:794
安卓怎麼把數據傳到蘋果里 瀏覽:502
編譯器標識 瀏覽:790
編程珠璣第三章 瀏覽:785
windows如何開啟tftp伺服器 瀏覽:108
歐姆龍plc編程指令表 瀏覽:187
程序員遠程收入不穩定 瀏覽:861
演算法原理怎麼寫 瀏覽:470
有個動漫女主藍頭發是程序員 瀏覽:999