Delphi下深入Windows核心程式設計

2021-08-26 06:13:28 字數 3511 閱讀 9207

目錄

第1章 dll與資料共享

1.1 關於dll

1.1.1 dll的結構

1.1.2 dll資料作用範圍

1.2 記憶體映像

1.2.1 建立映像檔案

1.2.2 開啟映像檔案

1.2.3 對映到本程序中

1.2.4 關閉記憶體對映

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

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

1.3 16位和32位程序間傳送訊息

1.3.1 全域性原子實現資料共享

1.3.2 wm_copydata訊息實現程序間資料共享

第2章 鉤子原理

2.1 鉤子原理

2.1.1 掛鉤函式

2.1.2 鉤子鏈

2.1.3 脫鉤

2.2 訊息及dll的注入

2.2.1 自定義訊息擷取

2.2.2 檔案或串並口讀寫監視鉤子

2.3 shell鉤子

2.3.1 實現鉤子

2.3.2 註冊鉤子

2.3.3 實現步驟

2.3.4 完整**

2.4 滑鼠鍵盤鉤子

2.4.1 效果不錯的滑鼠鉤子

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

2.4.3 黑客常用工具——鍵盤鉤子

2.4.4 非dll鍵盤監視的兩種方法

第3章 系統核心

3.1 核心物件

3.2 程序

3.2.1 程序在記憶體中的結構

3.2.2 程序列舉

3.2.3 windows nt/2000下列舉程序的方法

3.2.4 程序模組的列舉

3.2.5 終止程序

3.2.6 建立程序並監視程序執行

3.3 程序隱藏深入剖析

3.3.1 程序隱藏原理

3.3.2 windows 9x下程序的偽隱藏

3.3.3 用**跳實現真隱藏

3.3.4 windows nt/2000程序遠端寫入實現深度隱藏

3.4 執行緒

3.4.1 執行緒的優先順序

3.4.2 執行緒的掛起和繼續

3.4.3 執行執行緒

3.4.4 執行緒同步

3.4.5 列舉本程序的所有執行緒

3.5 windows nt/2000的效能資料庫

3.5.1 效能資料庫的物件、計數器及例項

3.5.2 瀏覽效能資料庫

第4章 低層操作

4.1 中斷

4.2 內嵌彙編

4.2.1 彙編入口與退出

4.2.2 使用彙編

4.2.3 嵌入匯程式設計序

4.3 ring0特權及埠直接io

4.3.1 ring0特權的獲取

4.3.2 關於vxd

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

4.4 埠讀寫驅動porttalk

4.4.1 porttalk與delphi的介面

4.4.2 windows nt/2000下的時間變速(變速齒輪)

4.5 thunk機制

4.5.1 flat thunk(直接替換)

4.5.2 generic thunk(通用替換)

第5章 磁碟讀寫

5.1 磁碟讀寫技術薈萃

5.1.1 windows 9x下讀寫邏輯磁碟扇區的方法

5.1.2 windows 9x下用int13實現讀寫軟盤物理磁碟扇區

5.1.3 利用vxd和cih病毒中的ring0技術

5.1.4 呼叫16位實模式的核心技術

5.1.5 windows nt/2000下讀寫物理、邏輯磁碟扇區

5.2 列舉磁碟中已開啟的檔案列表

第6章 **站和ie

6.1 **站

6.1.1 刪除檔案到**站

6.1.2 清空**站

6.1.3 **站實時監控

6.2 ie程式設計

6.2.1 ie歷史記錄的管理

6.2.2 ie工具欄

6.2.3 獲取已開啟的ie位址的兩種方法

6.2.4 將網頁儲存為

6.2.5 清除ie歷史記錄、下拉列表和cookie

第7章 高階應用

7.1 dde

7.1.1 dde原理

7.1.2 利用dde建立程式組

7.1.3 執行dde巨集

7.2 密碼相關程式

7.2.1 檢視「*」的編輯框

7.2.2 防止「*」的密碼洩露

7.2.3 讀取緩衝區密碼

7.3 目錄監視

7.4 剪貼簿監視

7.5 訊息機制

7.6 模擬按鍵及滑鼠雙擊

7.7 熱鍵

7.8 程式執行後自動刪除

7.9 只執行乙個例項的兩種方法

7.9.1 寫全域性元素的惟一字串

7.9.2 建立互斥物件

7.10 移動正在使用的檔案

7.11 型別轉換與儲存轉換

7.11.1 型別轉換

7.11.2 儲存轉換

7.12 加殼原理

7.12.1 附加**分析

7.12.2 合併外殼的源**分析

第8章 pe結構分析

8.1 pe檔案結構

8.1.1 檔案頭(file header)

8.1.2 節表(section table)

8.1.3 引入函式表(import table)

8.1.4 匯出表(export table)

8.1.5 重定位表

8.1.6 檢驗pe檔案的有效性

8.2 pedump例項

8.2.1 顯示資源的單元源**

8.2.2 以十六進製制格式化顯示pe檔案

8.2.3 顯示pe資訊的單元源**

8.2.4 pe引入與匯出函式表

8.2.5 主程式及公共單元

第9章 記憶體管理

9.1 記憶體結構

9.2 記憶體堆列舉

9.3 修改虛擬記憶體保護屬性

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

9.5 windows 9x下讀寫物理記憶體的核心技術

9.5.1 編寫vxd讀寫記憶體

9.5.2 利用16位dll**讀寫物理記憶體

9.6 windows nt/2000下讀寫物理記憶體的核心技術

第10章 api hook及螢幕取詞

10.1 api hook必讀

10.1.1 api hook入門

10.1.2 陷阱式api hook

10.1.3 改引入表式api hook

10.1.4 api hook源**分析

10.2 螢幕取詞

10.2.1 windows nt/2000下32位取詞及關鍵技術

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

附錄a delphi編譯指令說明

a.1 使用編譯設定對話方塊

a.2 使用編譯指令

a.3 使用條件編譯指令

附錄b delphi編譯錯誤資訊對照表

delphi中為自定控制項繪製windows按鈕

若要自定工具攔,但也要保留windows樣式的按鈕時 下面給出一種實現 procedure tmybutton.defaultdraw var arect,r trect wpos,hpos integer details tthemedelementdetails begin hpos 0 are...

window下 UDP socket程式設計

udp提供的是無連線的,不可靠的資料傳輸 伺服器端程式的編寫 1 建立套接字 socket 這裡udp的套接字型別為資料報套接字 socket stream 2 將套接字繫結到乙個本地ip位址和埠上 bind 3 等待接收資料 recvfrom 4 使用closesocket 函式關閉套接字。客戶端...

window下 ORACL解除安裝

用oracle自帶的解除安裝程式不能從根本上解除安裝oracle,從而為下次的安裝留下隱患,那麼怎麼才能完全解除安裝oracle呢?那就是直接登錄檔清除,步驟如下 1 開始 設定 控制面板 管理工具 服務 停止所有oracle服務。2 開始 程式 oracle orahome81 oracle in...