注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)操作系統(tǒng)WindowsWindows 應(yīng)用程序捆綁核心編程

Windows 應(yīng)用程序捆綁核心編程

Windows 應(yīng)用程序捆綁核心編程

定 價(jià):¥49.00

作 者: 張正秋 編著
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: WINDOWS

ISBN: 9787302140887 出版時(shí)間: 2006-12-01 包裝: 膠版紙
開本: 16開 頁數(shù): 359 字?jǐn)?shù):  

內(nèi)容簡介

  本書所介紹的內(nèi)容與計(jì)算機(jī)防護(hù)技術(shù)相關(guān)。本書基于作者在計(jì)算機(jī)編程方面的多年實(shí)踐經(jīng)驗(yàn),對(duì)當(dāng)今國際上最新的應(yīng)用程序間的通信、掛鉤、捆綁技術(shù)作了較為具體、系統(tǒng)的歸納和總結(jié),并給出了大量的實(shí)例。本書中很多的技術(shù)還沒有公開,屬于底層熱門技術(shù),所給出的很多程序代碼可以直接用于商業(yè)軟件的制作。本書旨在為對(duì)通信、掛鉤和捆綁等方面編程感興趣的讀者提供參考,適合于中高級(jí)軟件開發(fā)人員使用,還可以作為計(jì)算機(jī)和信息類專業(yè)高年級(jí)學(xué)生學(xué)習(xí)的輔助讀物。

作者簡介

  張正秋,現(xiàn)在中國氣象科學(xué)研究院工作,獲北京大學(xué)物理學(xué)院理學(xué)博士學(xué)位,長期從事數(shù)值模式研究和計(jì)算機(jī)軟件開發(fā)工作。對(duì)應(yīng)用程序間的通信、掛鉤和捆綁技術(shù)的編程有較豐富的實(shí)踐經(jīng)驗(yàn)。

圖書目錄

第1章  再談?dòng)?jì)算機(jī)內(nèi)存訪問    1
1.1  引言    1
1.2  內(nèi)存管理概述    1
1.2.1  虛擬內(nèi)存    1
1.2.2  CPU工作模式    2
1.2.3  邏輯、線性和物理地址    3
1.2.4  存儲(chǔ)器分頁管理機(jī)制    3
1.2.5  線性地址到物理
地址的轉(zhuǎn)換    4
1.3  虛擬內(nèi)存訪問    5
1.3.1  獲取系統(tǒng)信息    5
1.3.2  在應(yīng)用程序中使用
虛擬內(nèi)存    6
1.3.3  獲取虛存狀態(tài)    7
1.3.4  確定虛擬地址空間的狀態(tài)    8
1.3.5  改變內(nèi)存頁面保護(hù)屬性    9
1.3.6  進(jìn)行一個(gè)進(jìn)程的內(nèi)存讀寫    10
1.4  文件的內(nèi)存映射    11
1.4.1  內(nèi)存映射API函數(shù)    11
1.4.2  用內(nèi)存映射在多個(gè)應(yīng)用程序
之間共享數(shù)據(jù)    13
1.4.3  用內(nèi)存映射文件讀取
大型文件    18
1.5  深入認(rèn)識(shí)指針的真正含義    21
1.5.1  指針的真正本質(zhì)    21
1.5.2  用指針進(jìn)行應(yīng)用程序
之間的通信    22
1.6  本章小結(jié)    26
參考文獻(xiàn)    27
第2章  再談PE文件結(jié)構(gòu)    28
2.1  引言    28
2.2  PE文件格式概述    28
2.2.1  PE文件結(jié)構(gòu)布局    28
2.2.2  PE文件內(nèi)存映射    30
2.2.3  Big-endian和
Little-endian    31
2.2.4  3種不同的地址    31
2.3  PE文件結(jié)構(gòu)    32
2.3.1  MS-DOS頭部    32
2.3.2  IMAGE_NT_HEADER
頭部    33
2.3.3  IMAGE_SECTION_HEADER
頭部    36
2.4  如何獲取PE文件中的OEP    36
2.4.1  通過文件讀取OEP值    37
2.4.2  通過內(nèi)存映射
讀取OEP值    38
2.4.3  讀取OEP值方法的測試    39
2.5  PE文件中的資源    40
2.5.1  查找資源在文件中的
起始位置    40
2.5.2  確定PE文件中的資源    41
2.6  一個(gè)修改PE可執(zhí)行文件
的完整實(shí)例    43
2.6.1  如何獲得MessageBoxA
代碼    43
2.6.2  把MessageBoxA()代碼寫入
PE文件的完整實(shí)例    45
2.7  本章小結(jié)    53
參考文獻(xiàn)    53
第3章  進(jìn)程之間通信概述
及初級(jí)技術(shù)    54
3.1  引言    54
3.2  進(jìn)程通信概述    55
3.2.1  Windows進(jìn)程間標(biāo)準(zhǔn)
通信技術(shù)的發(fā)展    55
3.2.2  應(yīng)用程序與進(jìn)程    56
3.2.3  進(jìn)程之間通信的類型    56
3.3  使用自定義消息通信    57
3.3.1  通過自定義消息實(shí)現(xiàn)進(jìn)程
間通信的方法    57
3.3.2  通過自定義消息實(shí)現(xiàn)進(jìn)程
間通信的實(shí)例    58
3.4  使用WM_COPYDATA消息通信    60
3.4.1  通過WM_COPYDATA消息
實(shí)現(xiàn)進(jìn)程間通信的方法    60
3.4.2  通過WM_COPYDATA消息
實(shí)現(xiàn)進(jìn)程間通信的實(shí)例    61
3.5  使用內(nèi)存讀寫函數(shù)和內(nèi)存
映射文件通信    62
3.5.1  使用內(nèi)存映射文件
通信的方法    62
3.5.2  使用內(nèi)存讀寫函數(shù)實(shí)現(xiàn)進(jìn)程
間通信的方法    62
3.5.3  使用內(nèi)存讀寫函數(shù)實(shí)現(xiàn)進(jìn)程
間通信的實(shí)例    63
3.6  使用動(dòng)態(tài)鏈接庫通信    64
3.6.1  DLL概述    64
3.6.2  使用DLL通信的方法    65
3.6.3  使用DLL通信的實(shí)例    66
3.7  使用Windows剪貼板通信    67
3.7.1  使用剪貼板實(shí)現(xiàn)進(jìn)程間
通信的方法    68
3.7.2  使用剪貼板實(shí)現(xiàn)進(jìn)程間
通信的實(shí)例    68
3.8  使用動(dòng)態(tài)數(shù)據(jù)交換(DDE)
通信    70
3.8.1  使用DDE技術(shù)通信原理    70
3.8.2  如何使用DDEML
編寫程序    71
3.8.3  使用DDE通信的實(shí)例    72
3.9  本章小結(jié)    77
參考文獻(xiàn)    77
第4章  使用消息管道、郵槽和
套接字通信    78
4.1  引言    78
4.2  如何用命名管道進(jìn)行進(jìn)程間通信    78
4.2.1  命名管道函數(shù)    79
4.2.2  命名管道服務(wù)端與客戶端
之間通信的實(shí)現(xiàn)流程    80
4.2.3  命名管道服務(wù)端與客戶端
之間通信的實(shí)例    81
4.3  如何用郵槽進(jìn)行進(jìn)程間通信    85
4.3.1  用郵槽進(jìn)行進(jìn)程間
通信的步驟    85
4.3.2  郵槽服務(wù)器端與客戶端之間
通信的實(shí)例    86
4.4  如何用Windows套接字進(jìn)行
進(jìn)程間通信    90
4.4.1  套接字分類    90
4.4.2  流式套接字編程流程    91
4.4.3  套接字調(diào)用基本函數(shù)    92
4.4.4  Winsock程序設(shè)計(jì)    95
4.4.5  一個(gè)通用套接字類    96
4.4.6  套接字服務(wù)器端與客戶端間
通信的實(shí)例    101
4.5  本章小結(jié)    106
參考文獻(xiàn)    106
第5章  使用LPC和RPC通信    107
5.1  引言    107
5.2  接口定義語言(IDL)簡介    107
5.3  使用本地過程調(diào)用(LPC)
通信    108
5.3.1  使用LPC通信方法介紹    108
5.3.2  使用LPC通信的實(shí)例    110
5.4  使用遠(yuǎn)程過程調(diào)用(RPC)
通信    117
5.4.1  RPC運(yùn)行機(jī)制    117
5.4.2  RPC 綁定模式和屬性    118
5.4.3  RPC傳輸(Transport)    118
5.4.4  如何編寫RPC應(yīng)用程序    119
5.4.5  使用RPC通信的實(shí)例    120
5.5  本章小結(jié)    128
參考文獻(xiàn)    128
第6章  使用組件模型通信    129
6.1  引言    129
6.2  COM/DCOM模型概述    129
6.2.1  COM/DCOM的特點(diǎn)    129
6.2.2  COM/DCOM組件
模型分類    130
6.3  使用組件對(duì)象模型(COM/DCOM)
通信    131
6.3.1  使用COM/DCOM通信
方法介紹    131
6.3.2  基于DCOM實(shí)現(xiàn)遠(yuǎn)程
會(huì)話的實(shí)例    136
6.4  本章小結(jié)    147
參考文獻(xiàn)    147
第7章  進(jìn)程的創(chuàng)建、控制和隱藏    148
7.1  引言    148
7.2  常見的幾種創(chuàng)建進(jìn)程的方法    148
7.2.1  使用WinExec() 函數(shù)    148
7.2.2  使用ShellExecute()和
ShellExecuteEx()函數(shù)    149
7.2.3  使用CreateProcess()函數(shù)    151
7.2.4  使用OLE激活服務(wù)程序    154
7.3  如何獲得進(jìn)程句柄    155
7.3.1  獲得一個(gè)進(jìn)程的句柄    155
7.3.2  提升進(jìn)程權(quán)限級(jí)別    156
7.4  如何實(shí)現(xiàn)當(dāng)前進(jìn)程的枚舉    158
7.4.1  通過系統(tǒng)快照實(shí)現(xiàn)當(dāng)前
進(jìn)程的枚舉    158
7.4.2  通過psapi.dll提供的API函數(shù)
實(shí)現(xiàn)當(dāng)前進(jìn)程的枚舉    160
7.4.3  通過wtsapi32.dll提供的API函
數(shù)實(shí)現(xiàn)當(dāng)前進(jìn)程的枚舉    162
7.4.4  通過ntdll.dll提供的API函數(shù)
實(shí)現(xiàn)當(dāng)前進(jìn)程的枚舉    163
7.5  如何終止進(jìn)程    164
7.5.1  如何終止本進(jìn)程    165
7.5.2  如何終止外部進(jìn)程    165
7.5.3  終止進(jìn)程的實(shí)例    165
7.6  如何隱藏進(jìn)程(注入代碼)    166
7.6.1  基本原理    166
7.6.2  使用CreateRemoteThread()
隱藏DLL    167
7.6.3  使用CreateRemoteThread()直
接注入API函數(shù)代碼    173
7.6.4  使用Windows內(nèi)存映射文件
注入代碼    174
7.6.5  使用特洛伊DLL
注入代碼    174
7.6.6  使用注冊(cè)表注入DLL    175
7.6.7  使用程序掛鉤的方法
注入代碼    175
7.7  本章小結(jié)    175
參考文獻(xiàn)    176
第8章  應(yīng)用程序的靜態(tài)掛鉤    177
8.1  引言    177
8.2  使用C/C++語言提取可
執(zhí)行程序代碼    177
8.2.1  在C/C++中使用
內(nèi)聯(lián)匯編    177
8.2.2  如何使用C/C++語言提取
可執(zhí)行程序代碼    179
8.3  如何對(duì)PE文件加殼    182
8.3.1  PE文件的加殼方法    182
8.3.2  向PE文件中靜態(tài)注入
代碼的完整實(shí)例    183
8.4  如何實(shí)現(xiàn)文件脫殼    191
8.5  本章小結(jié)    192
參考文獻(xiàn)    192
第9章  應(yīng)用程序的動(dòng)態(tài)掛鉤    193
9.1  動(dòng)態(tài)掛鉤概述    193
9.2  使用Windows鉤子函數(shù)掛鉤    194
9.2.1  Windows鉤子函數(shù)    194
9.2.2  具體實(shí)例    195
9.3  替換原API函數(shù)入口掛鉤    198
9.3.1  如何替換原API函數(shù)入口
實(shí)現(xiàn)掛鉤    198
9.3.2  通用的替換原API函數(shù)
入口掛鉤類    199
9.3.3  使用JMP法編寫的
掛鉤實(shí)例    201
9.4  替換IAT中的函數(shù)地址
進(jìn)行掛鉤    202
9.4.1  如何替換IAT中的函數(shù)
地址實(shí)現(xiàn)掛鉤    202
9.4.2  通用的替換IAT中的
函數(shù)地址掛鉤類    203
9.4.3  使用IAT法編寫的
掛鉤實(shí)例    207
9.5  替換Windows消息處理函數(shù)
實(shí)現(xiàn)掛鉤    208
9.5.1  Windows消息處理函數(shù)
及其替換    209
9.5.2  替換Windows消息處理
函數(shù)實(shí)現(xiàn)掛鉤的實(shí)例    210
9.6  鉤子DLL文件的裝載    214
9.7  本章小結(jié)    216
參考文獻(xiàn)    216
第10章  數(shù)據(jù)的編碼和解碼實(shí)例    217
10.1  引言    217
10.2  游程編碼    218
10.2.1  CX游程壓縮方法    218
10.2.2  BI_RLE8壓縮方法    218
10.2.3  BI_RLE壓縮方法    218
10.2.4  縮位壓縮方法
(Packbits)    219
10.3  Huffman編碼    219
10.3.1  Huffman編碼原理    219
10.3.2  Huffman編碼過程    220
10.4  算術(shù)編碼    221
10.4.1  算術(shù)編碼算法    221
10.4.2  算術(shù)解碼算法    222
10.5  LZW壓縮算法    222
10.5.1  LZW壓縮算法原理    223
10.5.2  用VC++實(shí)現(xiàn)LZW
壓縮算法    225
10.6  Base64編碼    236
10.6.1  Base64算法原理    236
10.6.2  Base64算法的實(shí)現(xiàn)    238
10.7  本章小結(jié)    241
參考文獻(xiàn)    242
第11章  可執(zhí)行文件的捆綁和分離    243
11.1  引言    243
11.2  捆綁方式分類    243
11.2.1  結(jié)合式捆綁    243
11.2.2  功能式捆綁    245
11.3  文件捆綁相關(guān)技術(shù)    245
11.3.1  文件捆綁工具及實(shí)現(xiàn)    245
11.3.2  木馬程序與捆綁    246
11.3.3  文件自身操作
特點(diǎn)分析    246
11.4  文件屬性的獲取和偽裝    248
11.4.1  文件屬性的獲取
和更改    248
11.4.2  一個(gè)獲取文件基
本屬性類    249
11.4.3  可執(zhí)行程序自刪除
的實(shí)現(xiàn)    251
11.4.4  如何獲取其他應(yīng)用
程序的圖標(biāo)    254
11.4.5  如何改變窗口的圖標(biāo)    255
11.5  被捆綁文件分離后的運(yùn)行及
自分解文件原理    256
11.5.1  異步執(zhí)行分解法
的實(shí)現(xiàn)    256
11.5.2  同步執(zhí)行分解法
的實(shí)現(xiàn)    256
11.5.3  自動(dòng)分解法的實(shí)現(xiàn)    257
11.6  一個(gè)捆綁機(jī)(BindHider)軟件
的設(shè)計(jì)    258
11.6.1  BindHider的設(shè)計(jì)    258
11.6.2  BindHider的源代碼    259
11.7  一種制作自分解文件的方法    263
11.7.1  母體程序的制作    264
11.7.2  自分解文件的制作    266
11.8  本章小結(jié)    267
參考文獻(xiàn)    268
第12章  可執(zhí)行文件的分割和合并    269
12.1  引言    269
12.2  文件分割方式    269
12.2.1  考慮文件格式的分割    269
12.2.2  設(shè)置子文件大小
的分割    270
12.2.3  具有自合并功能
的文件分割    271
12.2.4  依賴文件存放位置
的分割    271
12.2.5  依賴磁盤大小的分割    271
12.3  如何使用多線程    272
12.3.1  線程的創(chuàng)建和終止    272
12.3.2  線程的控制函數(shù)    273
12.3.3  線程的通信    273
12.4  文件的簡單分割與合并    274
12.4.1  文件的簡單分割    274
12.4.2  文件的簡單合并    275
12.5  用多線程進(jìn)行文件的分割
與合并的實(shí)例    277
12.5.1  文件的分割與合并
方案設(shè)計(jì)    277
12.5.2  用多線程進(jìn)行
文件分割    279
12.5.3  用多線程進(jìn)行
文件合并    282
12.6  分割后文件自動(dòng)合并的
方案設(shè)計(jì)    286
12.6.1  控制程序的制作    286
12.6.2  用于文件自合并的控制
程序的制作    287
12.6.3  一種生成自合并文件的
分割軟件制作    289
12.7  本章小結(jié)    292
參考文獻(xiàn)    292
第13章  多線程下載和斷點(diǎn)續(xù)傳    293
13.1  引言    293
13.2  使用FTP進(jìn)行多線程下載
和斷點(diǎn)續(xù)傳    293
13.2.1  FTP協(xié)議簡介    293
13.2.2  FTP的工作模式    295
13.2.3  FTP協(xié)議多線程下載和
斷點(diǎn)續(xù)傳的實(shí)現(xiàn)    295
13.2.4  實(shí)例    306
13.3  使用HTTP進(jìn)行多線程下載
和斷點(diǎn)續(xù)傳    307
13.3.1  HTTP協(xié)議簡介    307
13.3.2  HTTP協(xié)議的內(nèi)部
操作過程    308
13.3.3  HTTP協(xié)議多線程下載和
斷點(diǎn)續(xù)傳的實(shí)現(xiàn)    311
13.3.4  實(shí)例    321
13.4  BT下載簡介    323
13.4.1  BT下載與一般下載
的區(qū)別    323
13.4.2  BT種子    324
13.4.3  BT的下載過程    324
13.5  本章小結(jié)    324
參考文獻(xiàn)    325
第14章  帶附件的電子郵件
發(fā)送剖析    326
14.1  引言    326
14.2  電子郵件的發(fā)送方法    326
14.3  用WinSock實(shí)現(xiàn)SMTP協(xié)議    327
14.3.1  SMTP協(xié)議    327
14.3.2  SMTP的實(shí)現(xiàn)    328
14.4  郵件格式化    335
14.4.1  郵件主體格式化    335
14.4.2  郵件附件格式化    338
14.4.3  郵件格式化    341
14.5  發(fā)送電子郵件實(shí)例    346
14.6  本章小結(jié)    347
參考文獻(xiàn)    347
第15章  特洛伊木馬與反木馬技術(shù)    348
15.1  引言    348
15.2  常見的木馬種類    349
15.3  木馬的載入方式    350
15.4  木馬采用的偽裝方法    351
15.5  Windows 2K/XP中無法刪除
文件的常用解決辦法    352
15.6  一種木馬病毒的檢測技術(shù)    353
15.7  本章小結(jié)    358
參考文獻(xiàn)    359

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)