幫助中心 | 我的帳號 | 關於我們

深入淺出Windows API程序設計(核心編程篇)

  • 作者:王端明|責編:陳聰聰
  • 出版社:人民郵電
  • ISBN:9787115571595
  • 出版日期:2022/07/01
  • 裝幀:平裝
  • 頁數:598
人民幣:RMB 149.9 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書是Windows API程序設計的進階圖書,內容包括多線程編程,內存管理,文件、驅動器和目錄操作,進程,剪貼板,動態鏈接庫,INI配置文件和註冊表操作,Windows異常處理,WinSock網路編程,其他常用Windows API編程知識,PE文件格式深入剖析。通過閱讀本書,讀者可以對Windows程序設計有更加深入的認識,並將其應用到實際場景中。
    本書適合有一定經驗的Windows API程序開發人員閱讀,也可以作為培訓學校的教材使用。

作者介紹
王端明|責編:陳聰聰
    王端明,從2008年開始參與WindowsAPI程序設計,精通彙編語言、C/C++語言和WindowsAPI程序設計,精通Windows環境下的桌面軟體開發和加密/解密。曾為客戶定製開發32位/64位Windows桌面軟體,對加密/解密情有獨鍾,對VMProtect、Safengine等高強加密保護軟體的脫殼或內存補丁有深入的研究和獨到的見解,喜歡分析軟體安全漏洞,曾在金山和360等網站發表過多篇殺毒軟體漏洞分析的文章。

目錄
第1章  多線程編程
  1.1  使用多線程的必要性
  1.2  多線程編程
  1.3  線程的終止及其他相關函數
  1.4  線程間的通信
    1.4.1  全局變數
    1.4.2  自定義消息
    1.4.3  事件對象
    1.4.4  手動和自動重置事件對象
  1.5  線程間的同步
    1.5.1  用戶模式線程同步
    1.5.2  內核模式線程同步
第2章  內存管理
  2.1  保護模式的分段與分頁管理機制
  2.2  獲取系統信息與內存狀態
  2.3  虛擬地址空間管理函數
    2.3.1  虛擬地址空間的分配與釋放
    2.3.2  改變頁面保護屬性
    2.3.3  查詢頁面信息
  2.4  堆管理函數
    2.4.1  私有堆的創建和釋放
    2.4.2  在堆中分配和釋放內存塊
    2.4.3  其他堆管理函數
    2.4.4  在C++中使用堆
  2.5  其他內存管理函數
第3章  文件、驅動器和目錄操作
  3.1  基本概念
    3.1.1  與硬碟存儲有關的幾個重要概念
    3.1.2  分區、邏輯驅動器、文件系統和卷
    3.1.3  文件名、目錄、路徑和當前目錄
  3.2  文件操作
    3.2.1  創建和打開文件
    3.2.2  讀寫文件
    3.2.3  文件指針
    3.2.4  文件屬性
    3.2.5  複製文件
    3.2.6  移動文件(目錄)、刪除文件
    3.2.7  無緩衝I/O
  3.3  邏輯驅動器和目錄
    3.3.1  邏輯驅動器操作
    3.3.2  目錄操作
    3.3.3  環境變數
    3.3.4  SHFileOperation函數
    3.3.5  監視目錄變化
    3.3.6  獲取硬碟序列號
    3.3.7  可移動硬碟和U盤監控
    3.3.8  獲取主板和BIOS序列號
  3.4  內存映射文件
    3.4.1  內存映射文件相關函數
    3.4.2  通過內存映射文件在多個進程間共享數據

    3.4.3  使用內存映射文件來處理大型文件
  3.5  APC非同步過程調用
第4章  進程
  4.1  創建進程
  4.2  多個進程間共享內核對象
  4.3  進程終止
  4.4  進程間通信
    4.4.1  WM_COPYDATA
    4.4.2  管道
    4.4.3  郵件槽
  4.5  進程枚舉
    4.5.1  TlHelp32系列函數
    4.5.2  EnumProcesses函數
    4.5.3  進程環境塊PEB
  4.6  進程調試
    4.6.1  讀寫其他進程的地址空間
    4.6.2  獲取一個以暫停模式啟動的進程模塊基地址
    4.6.3  調試API
    4.6.4  內存補丁
    4.6.5  線程環境
  4.7  窗口間諜
  4.8  示例:一個程序退出時刪除自身
第5章  剪貼板
  5.1  剪貼板常用函數與消息
    5.1.1  基本剪貼板函數
    5.1.2  剪貼板相關的消息
  5.2  使用剪貼板進行進程間通信
    5.2.1  Clipboard寫入端
    5.2.2  Clipboard讀取端
  5.3  監視剪貼板內容變化
    5.3.1  相關函數和消息
    5.3.2  剪貼板監視程序ClipboardMonitor
    5.3.3  監視剪貼板的新方法
第6章  動態鏈接庫
  6.1  靜態鏈接庫
  6.2  動態鏈接庫
    6.2.1  創建DLL項目
    6.2.2  在可執行模塊中使用DLL
    6.2.3  入口點函數DllMain
    6.2.4  延遲載入DLL
  6.3  線程局部存儲
    6.3.1  動態TLS
    6.3.2  靜態TLS
  6.4  Windows鉤子
  6.5  在同一個可執行文件的多個實例間共享變數
  6.6  注入DLL
    6.6.1  通過Windows鉤子注入DLL
    6.6.2  通過創建遠程線程注入DLL
    6.6.3  通過函數轉發器機制注入DLL
    6.6.4  通過CreateProcess函數寫入ShellCode注入DLL

    6.6.5  通過調試器寫入ShellCode注入DLL
    6.6.6  通過APC機制注入DLL
    6.6.7  通過輸入法機制注入DLL
  6.7  Shadow API技術
  6.8  Hook API技術
    6.8.1  隨機數
    6.8.2  通過遠程線程注入DLL實現APIHook
    6.8.3  通過全局消息鉤子注入DLL實現進程隱藏
第7章  INI配置文件和註冊表操作
  7.1  INI配置文件
    7.1.1  鍵值對的創建、更新與刪除
    7.1.2  獲取鍵值
    7.1.3  管理小節
  7.2  註冊表操作
    7.2.1  子鍵的打開、關閉、創建和刪除
    7.2.2  鍵值項的創建或設置、查詢和刪除
    7.2.3  子鍵、鍵值項的枚舉
    7.2.4  註冊表應用:程序開機自動運行設置文件關聯
第8章  Windows異常處理
  8.1  結構化異常處理
    8.1.1  try-except語句
    8.1.2  GetExceptionCode和GetExceptionInformation
    8.1.3  利用結構化異常處理進行反調試
    8.1.4  軟體異常
  8.2  向量化異常處理(全局)
    8.2.1  向量化異常處理簡介
    8.2.2  利用向量化異常處理實現基於斷點的APIHook
  8.3  頂層未處理異常過濾(全局)
  8.4  向量化繼續處理(全局)
第9章  WinSock網路編程
  9.1  OSI參考模型和TCP/IP協議簇
    9.1.1  OSI參考模型
    9.1.2  TCP/IP協議簇
    9.1.3  套接字網路編程介面
  9.2  IP地址、網路位元組順序和WinSock的地址表示方式
    9.2.1  IP地址和埠
    9.2.2  網路位元組順序
    9.2.3  WinSock的地址表示方式
  9.3  WinSock網路編程
    9.3.1  TCP網路編程的一般步驟
    9.3.2  TCP伺服器程序
    9.3.3  TCP客戶端程序
    9.3.4  UDP編程
    9.3.5  P2P技術
  9.4  WinSock非同步I/O模型
    9.4.1  阻塞模式下的多線程多客戶端套接字編程
    9.4.2  select模型
    9.4.3  WSAAsyncSelect模型
    9.4.4  WSAEventSelect模型
    9.4.5  Overlapped模型

    9.4.6  完成埠模型
    9.4.7  深入介紹I/O完成埠
    9.4.8  深入介紹線程池
  9.5  IPHelperAPI及其他函數
    9.5.1  獲取本地電腦的網路適配器信息
    9.5.2  其他函數
    9.5.3  校對時間程序
  9.6  系統網路連接的啟用和禁用
第10章  其他常用WindowsAPI編程知識
  10.1  快捷方式
  10.2  程序開機自動啟動
    10.2.1  將程序的快捷方式寫入開機自動啟動程序目錄
    10.2.2  創建任務計劃實現開機自動啟動
    10.2.3  創建系統服務實現開機自動啟動
  10.3  用戶賬戶控制
    10.3.1  自動提示用戶提升許可權
    10.3.2  利用ShellExecuteEx函數以管理員許可權啟動程序
    10.3.3  繞過UAC提權提示以管理員許可權運行
  10.4  用戶界面特權隔離
  10.5  窗口的查找與枚舉
  10.6  實現任務欄通知區域圖標與氣泡通知
第11章  PE文件格式深入剖析
  11.1  DOS頭(DOSMZ頭和DOSStub塊)
  11.2  PE頭(IMAGE_NT_HEADER32結構)
  11.3  節表(節區信息結構IMAGE_SECTION_HEADER列表)
  11.4  64位可執行文件格式PE32
  11.5  導入表
  11.6  導出表
  11.7  重定位表
  11.8  模擬PE載入器直接載入可執行文件到進程內存中執行
  11.9  線程局部存儲表
  11.10  載入配置信息表
  11.11  資源表
  11.12  延遲載入導入表
  11.13  校驗和與CRC
  11.14  64位程序中如何書寫彙編代碼(以獲取CPUID為例)
  11.15  Detours-master庫
    11.15.1  注入DLL的編寫
    11.15.2  將注入DLL載入到目標進程中
    11.15.3  編輯可執行文件
  11.16  通過修改模塊導入表中的IAT項來Hook API

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032