欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

寒江獨(dú)釣 Windows內(nèi)核安全編程 譚文等著 中文 PDF版 [118M]

  • 書籍大小:118MB
  • 書籍語言:簡體中文
  • 書籍類型:國產(chǎn)軟件
  • 書籍授權(quán):免費(fèi)軟件
  • 書籍類別:網(wǎng)絡(luò)安全
  • 應(yīng)用平臺(tái):PDF
  • 更新時(shí)間:2012-11-21
  • 購買鏈接:
  • 網(wǎng)友評(píng)分:
360通過 騰訊通過 金山通過

情介紹

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

載地址

下載錯(cuò)誤?【投訴報(bào)錯(cuò)】

寒江獨(dú)釣 Windows內(nèi)核安全編程 譚文等著 中文 PDF版 [118M]

      氣書籍

      載聲明

      ☉ 解壓密碼:www.dbjr.com.cn 就是本站主域名,希望大家看清楚,[ 分享碼的獲取方法 ]可以參考這篇文章
      ☉ 推薦使用 [ 迅雷 ] 下載,使用 [ WinRAR v5 ] 以上版本解壓本站軟件。
      ☉ 如果這個(gè)軟件總是不能下載的請(qǐng)?jiān)谠u(píng)論中留言,我們會(huì)盡快修復(fù),謝謝!
      ☉ 下載本站資源,如果服務(wù)器暫不能下載請(qǐng)過一段時(shí)間重試!或者多試試幾個(gè)下載地址
      ☉ 如果遇到什么問題,請(qǐng)?jiān)u論留言,我們定會(huì)解決問題,謝謝大家支持!
      ☉ 本站提供的一些商業(yè)軟件是供學(xué)習(xí)研究之用,如用于商業(yè)用途,請(qǐng)購買正版。
      ☉ 本站提供的寒江獨(dú)釣 Windows內(nèi)核安全編程 譚文等著 中文 PDF版 [118M]資源來源互聯(lián)網(wǎng),版權(quán)歸該下載資源的合法擁有者所有。