天天看點

018_《Delphi下深入Windows核心程式設計》

下載下傳位址:

<a href="http://download.csdn.net/source/2851919">Part1</a>

<a href="http://download.csdn.net/source/2851997">Part2</a>

<a href="http://download.csdn.net/source/2851968">Part3</a>

018_《Delphi下深入Windows核心程式設計》

書名: Delphi下深入Windows核心程式設計

作者: 飛思科技産品研發中心

出版社: 電子工業出版社

書号: 7505384023

出版日期:2003年1月

開本: 787*1092 1/16

頁碼: 525

版次: 2003年1月第一版第一次印刷

内容簡介

本書是一本介紹Windows核心技術及進階技巧的專著。從系統核心程式設計出發,使用大量的例子幫助讀者了解這些程式設計技術,講述了線程同步及隐藏、系統鈎子深入分析、讀寫實體磁盤的關鍵技術、讀寫實體記憶體和其他程序記憶體的核心技術、Windows 9x下調用16位實模式和保護模式代碼的核心技術、直接讀寫端口技術、可執行檔案加殼的技巧、PE結構分析、Ring0的實作、Windows API截取技術、螢幕取詞技術等方面的内容。全書對熱點源代碼進行了深入剖析和講解,同時本書彙聚了作者利用Soft-ICE跟蹤調試經驗,作者多年的程式設計心得和技巧一覽無遺。随書附送的CD光牒提供了書中涉及的程式源代碼。

本書可對Windows核心程式設計感興趣者提供幫助,亦可供廣大程式設計人員及各大專院校師生參考。

目錄

第1章 DLL與資料共享 1

1.1 關于DLL 1

1.1.1 DLL的結構 1

1.1.2 DLL資料作用範圍 4

1.2 記憶體映像 4

1.2.1 建立映像檔案 5

1.2.2 打開映像檔案 5

1.2.3 映射到本程序中 6

1.2.4 關閉記憶體映射 6

1.2.5 兩個EXE檔案共享記憶體資料塊 8

1.2.6 兩個DLL檔案共享記憶體資料塊 13

1.3 16位和32位程序間傳送消息 17

1.3.1 全局原子實作資料共享 17

1.3.2 WM_COPYDATA消息實作程序間資料共享 20

第2章 鈎子原理 23

2.1 鈎子原理 23

2.1.1 挂鈎函數 23

2.1.2 鈎子鍊 24

2.1.3 脫鈎 25

2.2 消息及DLL的注入 25

2.2.1 自定義消息截取 25

2.2.2 檔案或串并口讀寫監視鈎子 27

2.3 Shell鈎子 38

2.3.1 實作鈎子 39

2.3.2 注冊鈎子 40

2.3.3 實作步驟 41

2.3.4 完整代碼 42

2.4 滑鼠鍵盤鈎子 45

2.4.1 效果不錯的滑鼠鈎子 45

2.4.2 滑鼠鍵盤的動作記錄與回放 52

2.4.3 黑客常用工具——鍵盤鈎子 56

2.4.4 非DLL鍵盤監視的兩種方法 60

第3章 系統核心 71

3.1 核心對象 71

3.2 程序 72

3.2.1 程序在記憶體中的結構 73

3.2.2 程序列舉 74

3.2.3 Windows NT/2000下列舉程序的方法 79

3.2.4 程序子產品的列舉 87

3.2.5 終止程序 91

3.2.6 建立程序并監視程序運作 93

3.3 程序隐藏深入剖析 99

3.3.1 程序隐藏原理 99

3.3.2 Windows 9x下程序的僞隐藏 99

3.3.3 用三級跳實作真隐藏 101

3.3.4 Windows NT/2000程序遠端寫入實作深度隐藏 111

3.4 線程 117

3.4.1 線程的優先級 118

3.4.2 線程的挂起和繼續 119

3.4.3 執行線程 119

3.4.4 線程同步 120

3.4.5 列舉本程序的所有線程 130

3.5 Windows NT/2000的性能資料庫 134

3.5.1 性能資料庫的對象、計數器及執行個體 134

3.5.2 浏覽性能資料庫 143

第4章 低層操作 149

4.1 中斷 149

4.2 内嵌彙編 150

4.2.1 彙編入口與退出 150

4.2.2 使用彙編 150

4.2.3 嵌入彙程式設計式 155

4.3 Ring0特權及端口直接IO 156

4.3.1 Ring0特權的擷取 156

4.3.2 關于VxD 157

4.3.3 Windows 9x下的時間變速(變速齒輪) 158

4.4 端口讀寫驅動PortTalk 162

4.4.1 PortTalk與Delphi的接口 162

4.4.2 Windows NT/2000下的時間變速(變速齒輪) 167

4.5 Thunk機制 169

4.5.1 Flat Thunk(直接替換) 169

4.5.2 Generic Thunk(通用替換) 182

第5章 磁盤讀寫 191

5.1 磁盤讀寫技術荟萃 191

5.1.1 Windows 9x下讀寫邏輯磁盤扇區的方法 193

5.1.2 Windows 9x下用INT13實作讀寫軟碟實體磁盤扇區 199

5.1.3 利用VxD和CIH病毒中的Ring0技術 203

5.1.4 調用16位實模式的核心技術 217

5.1.5 Windows NT/2000下讀寫實體、邏輯磁盤扇區 229

5.2 枚舉磁盤中已打開的檔案清單 232

第6章 資源回收筒和IE 237

6.1 資源回收筒 237

6.1.1 删除檔案到資源回收筒 237

6.1.2 清空資源回收筒 240

6.1.3 資源回收筒實時監控 242

6.2 IE程式設計 255

6.2.1 IE曆史記錄的管理 255

6.2.2 IE工具欄 259

6.2.3 擷取已打開的IE位址的兩種方法 268

6.2.4 将網頁儲存為圖檔 275

6.2.5 清除IE曆史記錄、下拉清單和Cookie 277

第7章 進階應用 281

7.1 DDE 281

7.1.1 DDE原理 281

7.1.2 利用DDE建立程式組 282

7.1.3 執行DDE宏 285

7.2 密碼相關程式 286

7.2.1 檢視“*”的編輯框 287

7.2.2 防止“*”的密碼洩露 289

7.2.3 讀取緩沖區密碼 293

7.3 目錄監視 296

7.4 剪貼闆監視 300

7.5 消息機制 302

7.6 模拟按鍵及滑鼠輕按兩下 306

7.7 熱鍵 311

7.8 程式運作後自動删除 314

7.9 隻運作一個執行個體的兩種方法 315

7.9.1 寫全局元素的惟一字元串 316

7.9.2 建立互斥對象 316

7.10 移動正在使用的檔案 317

7.11 類型轉換與存儲轉換 322

7.11.1 類型轉換 323

7.11.2 存儲轉換 324

7.12 加殼原理 325

7.12.1 附加代碼分析 326

7.12.2 合并外殼的源代碼分析 331

第8章 PE結構分析 341

8.1 PE檔案結構 341

8.1.1 檔案頭(File Header) 342

8.1.2 節表(Section Table) 347

8.1.3 引入函數表(Import Table) 349

8.1.4 導出表(Export Table) 351

8.1.5 重定位表 353

8.1.6 檢驗PE檔案的有效性 354

8.2 PEDump執行個體 355

8.2.1 顯示資源的單元源代碼 355

8.2.2 以十六進制格式化顯示PE檔案 380

8.2.3 顯示PE資訊的單元源代碼 380

8.2.4 PE引入與導出函數表 396

8.2.5 主程式及公共單元 404

第9章 記憶體管理 411

9.1 記憶體結構 411

9.2 記憶體堆列舉 411

9.3 修改虛拟記憶體保護屬性 416

9.4 讀寫其他程序記憶體的技巧 423

9.5 Windows 9x下讀寫實體記憶體的核心技術 429

9.5.1 編寫VxD讀寫記憶體 429

9.5.2 利用16位DLL代碼讀寫實體記憶體 436

9.6 Windows NT/2000下讀寫實體記憶體的核心技術 447

第10章 API Hook及螢幕取詞 457

10.1 API Hook必讀 457

10.1.1 API Hook入門 457

10.1.2 陷阱式API Hook 458

10.1.3 改引入表式API Hook 461

10.1.4 API Hook源代碼分析 462

10.2 螢幕取詞 468

10.2.1 Windows NT/2000下32位取詞及關鍵技術 468

10.2.2 Windows 9x下16位、32位取詞及核心技術 490

附錄A Delphi編譯指令說明 511

A.1 使用編譯設定對話框 511

A.2 使用編譯指令 512

A.3 使用條件編譯指令 513

附錄B Delphi編譯錯誤資訊對照表 515