★★★【Windows API 完全x深度講解 】★★★使用Windows API是經典的撰寫程式方式,其提供高效的性能、功能與靈活性,產生的執行程式量也相對較小,不需外部程式庫就可以執行。
作者總結長年程式設計經驗,將其毫無保留地分享,並幫助讀者學會如何偵錯,更參考MSDN以確保內容的正確性。
本書基於Windows 10 和Visual Studio 2019(VS 2019)撰寫,提供了大量的範例程式。本書內容包括記憶體管理、多執行緒及執行緒間同步、處理程序間通訊、檔案操作、剪貼簿、動態連結程式庫、登錄檔、異常(或稱例外)處理、WinSock 網路程式設計、系統服務和使用者帳戶控制等,其中對動態連結程式庫(DLL)注入和API Hook 進行了深入講解,並解析了WinSock 網路程式設計以及各種非同步I/O 模型,透過執行緒池和完成通訊埠技術實作了一個高性能的服務程式。另外,本書還對32 位元/64 位元程式的PE/PE32+ 檔案格式進行了深入剖析,這是加殼、脫殼必備的基礎知識。
本書適合對Windows API有經驗者,初學者建議搭配姊妹作《完全OS核心精修 - 熟稔Windows API基礎篇》來夯實根基。
★ 適合閱讀本書的讀者
☛資料量大,需要妥善整理的使用者
☛對Windows 程式設計已經有一定了解的讀者
☛學習Windows 程式設計多年但仍有困感的讀者
☛其他任何愛好或需要學習Windows API 程式設計的讀者
請至本公司網頁deepmind.com.tw下載本書程式實例。
作者簡介:
王端明
從2008年開始學習Windows API程式設計,精通組合語言、C/C++和Windows API程式設計,精通Windows環境下的桌面軟體發展和加密解密。曾為客戶專門訂製32/64位元Windows桌面軟體;經常逆向分析各類商務軟體,對VMProtect、Safengine等高增強式加密保護軟體的脫殼或記憶體補丁有深入研究和獨到見解;喜歡分析軟體安全性漏洞,曾在金山和360等網站發表過多篇防毒軟體漏洞分析文章。
作者序
2015 年7 月,Windows 10 作業系統正式發行,新版本的作業系統在UI 介面、安全性和易用性等方面都有了大幅提升。64 位元作業系統已經普及,但傳統的32 位元Windows 系統API 也應該稱為Windows API,因為不管編譯為32 位元還是64 位元的應用程式,使用的都是相同的API,只不過是擴充了一些64 位元資料型態。目前微軟公司Windows 在作業系統市場中佔據相當大的百分比,讀者學習Windows 程式設計的需求非常迫切。但是遺憾的是,近年來可選的關於Windows API 的圖書較少。
使用Windows API 是撰寫程式的一種經典方式, 這一方式為Windows 程式提供了優秀的性能、強大的功能和較好的靈活性,生成的執行程式量相對比較小,不需要外部程式庫就可以執行,更重要的是,無論將來讀者用什麼程式語言來撰寫Windows 程式,只要熟悉Windows API,就能對Windows 的內部機制有更深刻、更獨到的理解。
熱愛逆向研究的讀者都應該先學好Windows API 程式設計,而初學Windows 程式設計的讀者可能會非常困惑。於是,在2018 年年初,我產生了一個想法:複習我這10 年的程式設計經驗,為Windows 開發人員寫一本深入淺出的符合市場需求的書。本來我計畫用一年的時間撰寫本書,可是沒想到一寫就是3 年!
為了確保本書內容的準確性,MSDN 是最主要的參考物件。我的初心就是把10 年的程式設計經驗毫無保留地分享給讀者,並幫助讀者學會偵錯技術。為了精簡篇幅,大部分程式的完整原始程式碼並沒有寫入書中。讀者透過本書可以全面掌握Windows 程式設計,對於沒有涉及的問題也可以透過使用MSDN 自行解決。
本書基於Windows 10 和Visual Studio 2019(VS 2019)撰寫,提供了大量的範例程式。本書內容包括記憶體管理、多執行緒及執行緒間同步、處理程序間通訊、檔案操作、剪貼簿、動態連結程式庫、登錄檔、異常( 或稱例外) 處理、WinSock 網路程式設計、系統服務和使用者帳戶控制等,其中對動態連結程式庫(DLL)注入和API Hook 進行了深入講解,並解析了WinSock 網路程式設計以及各種非同步I/O 模型,透過執行緒池和完成通訊埠技術實作了一個高性能的服務程式。另外,本書還對32 位元/64 位元程式的PE/PE32+ 檔案格式進行了深入剖析,這是加殼、脫殼必備的基礎知識。
2015 年7 月,Windows 10 作業系統正式發行,新版本的作業系統在UI 介面、安全性和易用性等方面都有了大幅提升。64 位元作業系統已經普及,但傳統的32 位元Windows 系統API 也應該稱為Windows API,因為不管編譯為32 位元還是64 位元的應用程式,使用的都是相同的API,只不過是擴充了一些64 位元資料型態。目前微軟公司Windows 在作業系統市場中佔據相當大的百分比,讀者學習Windows 程式設計的需求非常迫切。但是遺憾的是,近年來可選的關於Windows API 的圖書較少。
使用Windows API 是撰寫程式的一種經典方式, 這一方式為Windows 程式...
目錄
第1章 多執行緒程式設計
1.1 使用多執行緒的必要性
1.2 多執行緒程式設計
1.3 執行緒的終止及其他相關函數
1.4 執行緒間的通訊
1.5 執行緒間的同步
第2章 記憶體管理
2.1 保護模式的分段與分頁管理機制
2.2 獲取系統資訊與記憶體狀態
2.3 虛擬位址空間管理函數
2.4 堆積管理函數
2.5 其他記憶體管理函數
第3章 檔案、磁碟和目錄操作
3.1 基本概念
3.2 檔案操作
3.3 邏輯磁碟機和目錄
3.4 記憶體映射檔案
3.5 APC非同步程序呼叫
第4章 處理程序
4.1 建立處理程序
4.2 多個處理程序間共享核心物件
4.3 處理程序終止
4.4 處理程序間通訊
4.5 處理程序列舉
4.6 處理程序偵錯
4.7 視窗間諜
4.8 範例:一個程式退出時刪除自身
第5章 剪貼簿
5.1 剪貼簿常用函數與訊息
5.2 使用剪貼簿進行處理程序間通訊
5.3 監視剪貼簿內容變化
第6章 動態連結程式庫
6.1 靜態程式庫
6.2 動態連結程式庫
6.3 執行緒局部儲存
6.4 Windows鉤子
6.5 在同一個可執行檔的多個實例間共享變數
6.6 注入DLL
6.7 Shadow API技術
6.8 Hook API技術
第7章 INI設定檔和登錄檔操作
7.1 INI設定檔
7.2 登錄檔操作
第8章 Windows異常處理
8.1 結構化異常處理
8.2 向量化異常處理(全域)
8.3 頂層未處理異常過濾(全域)
8.4 向量化繼續處理(全域)
第9章 WinSock網路程式設計
9.1 OSI參考模型和TCP/IP協定組合
9.2 IP位址、網路位元組順序和WinSock的位址表示法
9.3 WinSock網路程式設計
9.4 WinSock非同步I/O模型
9.5 IPHelper API及其他函數
9.6 系統網路連接的啟用和禁用
第10章 其他常用Windows API程式設計知識
10.1 捷徑
10.2 程式開機自動啟動
10.3 使用者帳戶控制
10.4 使用者介面特權隔離
10.5 視窗的查詢與列舉
10.6 實作工作列通知區域圖示與氣泡通知
第11章 PE檔案格式深入剖析
11.1 DOS標頭(DOS MZ表頭和DOS Stub區塊)
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.16 透過修改模組匯入表中的IAT項來Hook API
第1章 多執行緒程式設計
1.1 使用多執行緒的必要性
1.2 多執行緒程式設計
1.3 執行緒的終止及其他相關函數
1.4 執行緒間的通訊
1.5 執行緒間的同步
第2章 記憶體管理
2.1 保護模式的分段與分頁管理機制
2.2 獲取系統資訊與記憶體狀態
2.3 虛擬位址空間管理函數
2.4 堆積管理函數
2.5 其他記憶體管理函數
第3章 檔案、磁碟和目錄操作
3.1 基本概念
3.2 檔案操作
3.3 邏輯磁碟機和目錄
3.4 記憶體映射檔案
3.5 APC非同步程序呼叫
第4章 處理程序
4.1 建立處理程序
4.2 多個處理程序間共...
商品資料
出版社:深智數位股份有限公司出版日期:2023-04-20ISBN/ISSN:9786267273289 語言:繁體中文For input string: ""
裝訂方式:平裝頁數:944頁
購物須知
退換貨說明:
會員均享有10天的商品猶豫期(含例假日)。若您欲辦理退換貨,請於取得該商品10日內寄回。
辦理退換貨時,請保持商品全新狀態與完整包裝(商品本身、贈品、贈票、附件、內外包裝、保證書、隨貨文件等)一併寄回。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱退換貨原則。