第一章 行程與執行緒概說
1.0 惡意程式與執行緒的關係
1.1 行程與執行緒的概念
1.2 什麼是 HANDLE
1.2.1 控制代碼 HANDLE 的概說
1.2.2 內核物件的概說
1.3 沒有使用執行緒的時候
1.4 使用執行緒的例子
1.5 使用 _beginthreadex 來創建執行緒
1.5.1 _beginthreadex vs. CreateThread
1.5.2 _beginthreadex 的使用
1.5.3 執行緒的關閉 - CloseHandle
1.5.4 使用範例
1.6 創建多個執行緒
1.7 讓員工報數 - 執行緒執行的順序問題
1.8 多人共同工作問題
1.9 不可分割的運算
1.10 互斥與同步的程式設計 - 互斥篇
1.11 互斥與同步的程式設計 - 同步篇
1.12 互斥鎖 Mutex 的使用
1.13 Semaphore 登場
1.14 生產者與消費者之間的問題研究
1.15 創建行程
第二章 網路程式設計
2.0 惡意程式與網路的關係
2.1 開發環境的建立
2.2 在兩台不同的電腦上進行傳輸
2.3 網路傳輸的概說
2.4 網路程式深入分析 - 伺服器端
2.5 網路程式深入分析 - 客戶端
2.6 微軟官網的範例程式
2.7 微軟官網的伺服器端與客戶端的實際連線測試
2.8 UDP 程式設計
2.9 簡易木馬的操作
第三章 圖形介面程式設計
3.0 惡意程式與圖形介面的關係
3.1 解釋 Windows 傳統式精靈內的架構程式
3.2 在視窗上顯示出一段文字
3.3 消息機制的概說
3.4 消息機制的補充說明
3.5 Windows 作業系統中的消息機制
3.6 不傳送消息 WM_PAINT 會發生什麼
3.7 設定繪圖區域 - 只更新視窗部份區域
3.8 打字軟體的設計 - 按鍵的訊息
3.9 滑鼠消息的傳遞
第四章 對 Windows PE 的分析
4.0 惡意程式與 PE 的關係
4.1 分析 Windows PE 的開發環境與執行檔的設定
4.2 什麼是 PE
4.2.1 PE 概說
4.2.2 與 PE 的有關位址
4.2.3 PEiD 的使用
4.3 找出 PE 的定義
4.4 使用 PEView 來分析 PE 文件
4.5 對 IMAGE_DOS_HEADER 來做分析
4.6 對 IMAGE_NT_HEADERS 來做分析
4.7 對 IMAGE_SECTION_HEADER 來做分析
4.8 判斷是否為 PE 文件
4.9 RVA 與 FOA 之間的轉換方法
4.10 導入表與導出表概說
4.11 作業 - 對 Notepad.exe 的分析
4.12 導入表的進階說明
4.13 導出表
附錄 工具安裝與環境設定
附錄1. 安裝 Visual Studio
附錄2. 打開空白專案
附錄3. 打開 Windows 傳統式精靈
附錄4. 打開 Windows 傳統型應用程式
附錄5. 開啟 MFC 專案
附錄6. 反組譯 C 語言
附錄7. 反組譯組合語言
附錄8. 安裝 MASM
附錄9. 建置 DLL 專案
附錄10. 安裝虛擬機
附錄11. 虛擬機中安裝 Windows
附錄12. 打開 telnet