《獨闢蹊徑的編程思惟——「拿來主義」編程》html
基本信息ios
做者: 李瑞民 c++
出版社:電子工業出版社程序員
ISBN:9787121223990web
上架時間:2014-2-27shell
出版日期:2014 年3月數據庫
開本:16開編程
頁碼:496windows
版次:1-1api
所屬分類:計算機 > 軟件與程序設計 > 網絡編程 > 綜合
更多關於》》》《獨闢蹊徑的編程思惟——「拿來主義」編程》
編輯推薦
編程大師、網絡安全專家十幾年的工做經驗結晶,源碼級公開。每一個編程人員都值得擁有的一本編程技能書。
內容簡介
書籍
計算機書籍
與傳統編程習慣於每一細節都親歷親爲所不一樣的是,若是在程序設計之初就綜合考慮併合法應用第三方既有成果,就可在項目開發的時間、成本及質量這三個關鍵矛盾體「三要素」上進行統籌設計,這種技術就是「拿來主義」的編程技術。《獨闢蹊徑的編程思惟——「拿來主義」編程》分別經過靜態分析、功能調用、輸出接收、界面嵌入、中間嗅探、控制交互等方法詳細介紹了多達14 種拿來技術。全書集編程思想、技術、實踐爲一體,融會貫通,靈活運用,勢必大有裨益。
《獨闢蹊徑的編程思惟——「拿來主義」編程》適用於對網絡黑客攻防程序開發、反向工程及程序原理分析感興趣的人員,也適用於監控類和測試類程序開發人員,還可做爲高校編程實驗用書。另外,本書所涉及的各項技術,除了原理闡述和技術分析以外,均附有完整的程序源代碼,這些源代碼可免費從網上下載,因此也適用於各種編程愛好者學習、驗證和修改。
目錄
《獨闢蹊徑的編程思惟——「拿來主義」編程》
第 1章緒論 1
1.1 「拿來主義」編程技術簡介 1
1.1.1 什麼是「拿來主義」 1
1.1.2 爲何要採用「拿來主義」 2
1.2 經常使用的「拿來主義」編程技術 3
1.3 「拿來主義」編程技術的分類 5
1.3.1 靜態分析型的拿來技術 5
1.3.2 功能型的拿來技術 6
1.3.3 輸出型的拿來技術 7
1.3.4 嵌入型的拿來技術 8
1.3.5 中間嗅探型的拿來技術 8
1.3.6 控制交互型的拿來技術 9
第 1部分靜態分析型的拿來技術
第 2章操做系統數據的拿來 12
2.1 本章的預備知識 12
2.1.1 進制的表示與轉換 12
2.1.2 dos下的地址表示 14
2.1.3 debug工具的使用 15
2.2 裸機時代的可用數據 19
2.2.1 裸機的啓動過程 19
2.2.2 cmos內存中的數據 20
2.2.3 中斷與中斷向量 25
2.2.4 bios數據區 28
2.2.5 rom中的數據 36
2.3 dos中的全局變量 42
2.3.1 曾經輝煌的 dos 43
2.3.2 dos的內存映射 44
2.3.3 dos數據區 46
2.3.4 dos的「拿來」實例 47
2.4 windows中的共享數據 49
2.4.1 如日中天的 windows 49
2.4.2 windows中的環境變量 50
2.4.3 windows環境變量的意義 52
2.4.4 windows環境變量的編程 53
2.4.5 修改 windows的全局環境變量 56
2.5 編程實例:基於 winio的 cmos數據讀寫 56
2.5.1 程序主界面 57
2.5.2 程序代碼 57
第 3章系統共享文件中的拿來 61
3.1 操做系統配置文件的拿來 61
3.1.1 對配置文件的讀/寫 62
3.1.2 boot.ini 65
3.2 目錄名稱的拿來 66
3.2.1 與用戶名相同的目錄名 67
3.2.2 所安裝的軟件列表 68
3.2.3 與用戶相關的特定目錄名 68
3.3 數據庫訪問式的共享 69
3.3.1 odbc數據訪問方式 69
3.3.2 ado數據鏈接 82
3.4 註冊表的共享 86
3.4.1 基於註冊表訪問的 api 86
3.4.2 註冊表項的操做 92
3.5 文件級的拿來 93
3.5.1 網絡配置文件 93
3.5.2 日誌文件 97
3.5.3 windows目錄自帶的音頻文件資源 103
3.6 編程實例 1:經過 odbc對 txt文件進行讀/寫 108
3.6.1 程序主界面 109
3.6.2 程序代碼 109
3.7 編程實例 2:經過 ado對 excel文件進行讀/寫 112
3.7.1 程序主界面 112
3.7.2 程序代碼 113
第 4章靜態程序文件中資源的拿來 115
4.1 常見可執行文件的格式 115
4.1.1 dos下的 com和 exe文件的格式簡介 115
4.1.2 windows下 pe文件的格式 118
4.2 vc軟件編程人員眼中的程序資源 119
4.3 在可執行文件中調整資源 121
4.3.1 從可執行文件中提取資源 121
4.3.2 更換可執行文件中的資源 122
4.4 軟件漢化與界面調整 122
4.4.1 軟件漢化 123
4.4.2 軟件界面調整 125
4.5 界面複製 126
4.5.1 將可執行文件中的界面複製到工程中 126
4.5.2 對兩個工程之間界面的複製 128
第 2部分功能型的拿來技術
第 5章無界面程序命令行中的拿來 132
5.1 什麼是命令行 132
5.1.1 經常使用的 dos內部命令 134
5.1.2 經常使用的 dos外部命令 138
5.2 命令行的組合使用 149
5.2.1 設備文件 149
5.2.2 重定向技術 151
5.2.3 管道技術 155
5.3 命令行的編程技術 156
5.3.1 可嵌入 dos命令行的幾個函數 156
5.3.2 管道編程的幾個函數 161
5.4 編程實例 1:使用重定向接收外部程序運行結果 162
5.4.1 程序主界面 162
5.4.2 程序代碼 163
5.5 編程實例 2:使用管道接收外部程序運行結果 164
5.5.1 程序主界面 164
5.5.2 程序代碼 165
第 6章有界面程序消息式的拿來 167
6.1 消息機制 167
6.1.1 消息的定義 168
6.1.2 消息的隊列和非隊列模式 169
6.1.3 與消息有關的幾個函數 170
6.2 visual c++自帶的消息處理工具 175
6.2.1 程序界面上的控件 175
6.2.2 visual c++下提供的標準控件 176
6.2.3 消息查詢工具 spy++ 177
6.3 經過消息控制程序 182
6.3.1 與窗口有關的幾個函數 182
6.3.2 與消息控制有關的幾個函數 186
6.4 編程實例:經過消息控制程序 191
6.4.1 程序主界面 191
6.4.2 程序代碼 192
第 3部分輸出接收型的拿來技術
第 7章讀取 b/s界面上輸出的數據 200
7.1 web服務器的安裝和測試 201
7.1.1 web服務器的安裝和驗證 201
7.1.2 檢驗 web服務器的效果 205
7.2 基於 web應用的編程接口 207
7.2.1 cinternetsession類 208
7.2.2 cinternetconnection類 216
7.2.3 chttpconnection類 217
7.2.4 cftpconnection類 218
7.2.5 cinternetfile類 222
7.2.6 cinternetexception類 224
7.3 編程實例:基於 web的拿來方式 225
7.3.1 原理分析 226
7.3.2 程序主界面 228
7.3.3 程序代碼 228
第 8章對 office文件輸出的接收操做 231
8.1 microsoft office簡介 232
8.2 輸出式的拿來簡介 233
8.2.1 com/dcom的概念 234
8.2.2 afxoleinit函數 234
8.2.3 colevariant類 235
8.2.4 coledispatchdriver類 240
8.3 程序員眼中的 office 241
8.3.1 office的結構框架 242
8.3.2 office組件的導入 242
8.4 word的結構輸出 244
8.4.1 word簡介 244
8.4.2 word中的要素 244
8.5 excel的結構輸出 245
8.5.1 excel簡介 246
8.5.2 excel中的要素 246
8.6 powerpoint的結構輸出 247
8.6.1 powerpoint簡介 248
8.6.2 powerpoint中的要素 248
8.7 輸出式的拿來技術在信息安全領域內的應用 249
8.7.1 數字水印簡介 249
8.7.2 word中格式輸出類的數字水印 250
8.7.3 word中內容格式的數字水印 251
8.8 編程實例 1:讀取 word文件中的純文本內容 252
8.8.1 程序主界面 252
8.8.2 程序代碼 253
8.9 編程實例 2:讀寫 excel中的數據 254
8.9.1 程序主界面 255
8.9.2 程序代碼 255
8.10 編程實例 3:控制 ppt的輸出 258
8.10.1 程序主界面 258
8.10.2 程序代碼 259
第 4部分嵌入型的拿來技術
第 9章控件嵌入式的拿來 264
9.1 activex技術簡介 264
9.2 在 windows程序中嵌入 activex控件 266
9.2.1 設置對 activex控件的支持 266
9.2.2 從系統註冊的組件中導入要使用的 activex控件 267
9.2.3 從 dll文件中導入要使用的 activex控件 268
9.3 編程實例 1:嵌入式視頻播放器 268
9.3.1 播放器編程的簡介 268
9.3.2 vlc簡介 269
9.3.3 程序主界面 274
9.3.4 程序代碼 274
9.4 編程實例 2:嵌入式 pdf閱讀器 276
9.4.1 在 vc對 pdf的可視化使用 276
9.4.2 程序主界面 277
9.4.3 程序代碼 278
第 10章界面嵌入式的拿來 280
10.1 屏幕式的嵌入 280
10.1.1 圖形桌面 281
10.1.2 實現界面嵌入式要考慮的問題 283
10.1.3 實現像素級操做主要涉及的 api 286
10.1.4 實現桌面級操做主要涉及的 api 288
10.1.5 屏幕的截取 293
10.2 內容式的嵌入 297
10.2.1 經過 ie調用訪問網絡地址 297
10.2.2 經過嵌入頁面方式訪問網絡地址 297
10.2.3 經過資源管理器方式訪問本地文件系統 298
10.2.4 chhtmlview的 api 299
10.3 編程實例 1:將程序界面本身程序的一部分進行嵌入 301
10.3.1 程序主界面 302
10.3.2 程序代碼 303
10.4 編程實例 2:嵌入整個 web頁面和資源管理器 306
10.4.1 程序主界面 307
10.4.2 程序代碼 307
第 5部分中間嗅探型的拿來技術
第 11章程序調用時的數據過濾 310
11.1 dll文件的意義和用法 310
11.1.1 dll文件的意義 311
11.1.2與 dll調用相關的函數 312
11.1.3 dll文件的調用步驟 315
11.2從 exe或 dll文件中找到函數 316
11.2.1 depends的使用方式 316
11.2.2從 icmp.dll中抽取函數 317
11.2.3 icmp.dll中各函數的用法 318
11.3重載 dll文件 321
11.3.1 dll文件重載的原理 321
11.3.2 dll文件重載的意義 322
11.4具備重載特性的 dll文件建立步驟 322
11.4.1普通 dll文件的建立步驟 323
11.4.2重載 dll文件的建立步驟 324
11.5編程實例 1:經過 icmp.dll製做 tracert命令 325
11.5.1程序主界面 326
11.5.2程序代碼 327
11.6編程實例 2:重載 icmp.dll以記錄 icmp協議操做 330
11.6.1程序主界面 330
11.6.2程序代碼 331
第 12章網絡通訊時的數據監聽 335
12.1 網絡通訊簡介 336
12.1.1 網絡嗅探技術 336
12.1.2 網絡協議分析和行爲分析 336
12.1.3 黑客級別的分析 339
12.2 數據流的截獲 344
12.2.1 單機數據流的獲取 344
12.2.2 網絡數據流的獲取 346
12.3 socket編程接口 348
12.3.1 幾個重要的概念 349
12.3.2 windows socket結構 350
12.3.3 windows socket轉換類函數 353
12.3.4 windows socket通訊類函數返回值 357
12.3.5 windows socket通訊類函數 359
12.4 編程實例:raw socket嗅探器 368
12.4.1 程序主界面 368
12.4.2 程序代碼 369
第 13章串口通訊時的數據監控 377
13.1 串口的通訊與監聽 377
13.1.1 串口簡介 377
13.1.2 串口通訊中的「拿來」技術 379
13.2 基於 vspe的串口開發技術 380
13.2.1 vspe簡介 381
13.2.2 vspe的術語 381
13.2.3 vspe的串口嗅探功能 386
13.2.4 vspe的使用與開發 388
13.2.5 vspe的 api 388
13.3 編程實例:串口嗅探器 392
13.3.1 程序主界面 393
13.3.2 程序代碼 394
第 6部分控制交互型的拿來技術第
14章從運行的程序中拿來 402
14.1 windows內存模式 402
14.1.1 windows的對內存讀寫的限制 403
14.1.2 windows的內存管理 404
14.1.3 調試程序簡介 407
14.2 基於 winio的內存讀取編程 408
14.2.1 winio的 api 408
14.2.2 winio的編程 412
14.3 基於 api的程序調試函數 412
14.3.1 windows調試程序的結構 413
14.3.2 windows調試程序的 api 422
14.3.3 windows的進程 api 428
14.3.4 windows的動態內存 api 429
14.3.5 windows調試程序的編寫方式 433
14.4 編程實例:讀正在執行程序的數據 434
14.4.1 程序主界面 435
14.4.2 程序代碼 435
第 15章 hook控制式的拿來 440
15.1 hook簡介 440
15.1.1 什麼是 hook 441
15.1.2 hook的運行機制 442
15.1.3 怎麼使用 hook 443
15.2 hook函數 443
15.2.1 setwindowshookex函數 444
15.2.2 unhookwindowshookex函數 446
15.2.3 callnexthookex函數 446
15.2.4 回調函數 447
15.3 hook 的類型 447
15.3.1 wh_callwndproc 447
15.3.2 wh_cbt 448
15.3.3 wm_queuesync 452
15.3.4 wh_debug 452
15.3.5 wh_foregroundidle 453
15.3.6 wh_getmessage 453
15.3.7 wh_hardware 453
15.3.8 wh_journalrecord 453
15.3.9 wh_journalplayback 454
15.3.10 wh_keyboard 455
15.3.11 wh_mouse 455
15.3.12 wh_msgfilter 455
15.3.13 wh_shell 456
15.3.14 wh_sysmsgfilter 456
15.4 編程實例1:線程hook 程序編寫 456
15.4.1 程序主界面 456
15.4.2 程序代碼 457
15.5 編程實例2:全局hook 程序編寫 459
15.5.1 程序主界面 459
15.5.2 dll 程序代碼 460
15.5.3 調用程序代碼 462
附錄a 本書容易混淆概念解析 464
a.1 同名不一樣義概念 464
a.2 同義不一樣名概念 464
a.3 易混概念 466
附錄b 詳解ascii 碼 468
附錄c http 錯誤返回碼 474
參考文獻 479
後記 481