Windows駭客程式設計:勒索病毒(第二冊)原理篇(第二版)
內容簡介
	感謝讀者支持,作者修訂精簡第二版嘉惠更多朋友!
	
	要寫出一個勒索病毒,需要多強的程式功力?相信大家的心裡已浮現出技術高強的駭客身影。
	
	然而,當這個模擬勒索程式完成後,撇開永恆之藍等漏洞的使用,我們赫然發現,裡面所使用的程式知識,卻沒有想像中非常地高深,或是遙不可及。
	
	基本的記憶體管理、目錄和檔案處理、較為進階的加密知識、基礎資料結構,行程與執行緒、同步問題、網路通訊,還有Windows圖型介面,其中還包括文字字型、Edit、RichEdit、ComboBox、ListBox、ProgressBar等元件使用,資源的使用,計時器、剪貼簿等運用……幾乎是學習Windows程式所有需要的基本知識,都涵括在內了。
	
	換句話說,只要您將這兩冊勒索病毒程式設計讀完,就可以將大部分Windows程式設計中需要學習的知識全都學習到位。
	
	最特別的是,我們在最後製作了模擬漏洞及針對這個模擬漏洞的蠕蟲,讓大家了解蠕蟲的工作原理,同時也體驗一下蠕蟲快速傳播的可怕威力,對蠕蟲這一支惡意程式有更深入的體驗和了解。
	
	這個勒索程式是個相當完整的專案,非常適合學習,不像一般Windows程式設計,每部份最多只有短短的範例,本書的每個單位的每個範例,最終可以組合成一個大型而完整的勒索程式。希望大家別錯過了這麼完整又龐大又全面的專案學習,只此一本,就可以讓你的功力大增,千萬不要錯過。
目錄
	第一章 本冊程式修正與檔案存取
	1.1 增加 config.h
	1.2 改變金鑰變數的存取方式
	1.3 改變全域變數 gbDecryptFlag 的存取方式
	1.4 增加金鑰檔案的存取函式 - WanaFile
	1.4.1 獲取特殊目錄絕對路徑的API - SHGetFolderPath
	1.4.2 金鑰檔的定義
	1.4.3 RES 檔
	1.4.4 取得「我的勒索文件」絕對路徑 - WanaDirName
	1.4.5 建立「我的勒索文件」- CreateWanaDir
	1.4.6 取得「我的勒索文件」裡的檔案的完整路徑 - WanaFileName
	1.4.7 讀取「我的勒索文件」裡的檔案內容 - ReadWanaFile
	1.4.8 寫入「我的勒索文件」裡的檔案 - WriteWanaFile
	1.4.9 讀取 RES 檔
	1.4.10 定義存取巨集
	1.4.11 銷毀解密金鑰 - WanaDestroyKey
	
	第二章 多工篇
	2.1 程序 - Process
	2.1.1 程序是載入記憶體的執行檔
	2.1.2 父程序產生子程序的 API - CreateProcess
	2.1.3 子程序結束的 API - ExitProcess
	2.1.4 子程序離開的方式比較 - ExitProcess vs. exit
	2.1.5 父程序等待單一子程序的 API - WaitForSingleObject
	2.1.6 範例程式 - LaunchIE
	2.2 執行緒 - Thread
	2.2.1 多工的基礎
	2.2.2 產生執行緒的 API - CreateThread
	2.2.3 離開執行緒的 API - ExitThread
	2.2.4 離開執行緒的比較 - ExitThread vs return
	2.2.5 勒索程式裡的執行緒
	2.3 執行緒同步問題
	2.3.1 「同時」共用「相同資源」而產生的問題
	2.3.2 解決同步問題的機制
	2.3.3 臨界區域 - Critical Section
	2.3.4 互斥鎖 - Mutex
	2.3.5 號誌 - Semaphore
	2.3.6 事件 - Event
	2.3.7 綜合範例程式 - DecQueue
	2.4 勒索程式加密器製作
	2.4.1 以互斥鎖確保只有一個勒索程式執行
	2.4.2 定時檢查解密金鑰是否解密
	2.4.3 定時更新 00000000.res
	2.4.4 實行全系統加密
	2.4.5 監視隨身碟隨時加密
	
	第三章 網路篇
	3.1 Socket 簡介
	3.1.1 勒索病毒與網路
	3.1.2 通訊協定 TCP/IP 的誕生
	3.1.3 日常生活的比喻
	3.2 Socket API
	3.2.1 Winsock2 引入檔
	3.2.2 註冊動態連結函式庫的 API - WSAStartup
	3.2.3 網路位址及通訊埠轉換的 API - getaddrinfo
	3.2.4 釋放 addrinfo 結構的 API - freeaddrinfo
	3.2.5 開啟 socket 的 API - socket
	3.2.6 設定 socket 選項的 API - setsockopt
	3.2.7 綁定通訊埠的 API - bind
	3.2.8 設定等候連線的 queue 的 API - listen
	3.2.9 客戶端連線的 API - connect
	3.2.10 伺服器端接受連線的 API - accept
	3.2.11 傳送訊息的 API - send
	3.2.12 接收訊息的 API - recv
	3.2.13 斷開通訊的 API - shutdown
	3.2.14 關閉 socket 的 API - closesocket
	3.2.15 最後清理 Winsock DLL 的 API - WSACleanup
	3.3 Socket 範例程式
	3.3.1 客戶端程式
	3.3.2 伺服器端程式
	3.4 Socket 傳輸的注意事項
	3.4.1 SendAll - 完整傳送訊息
	3.4.2 RecvAll - 完整接收訊息
	3.5 勒索程式解密伺服器製作
	3.5.1 由回音伺服器修改而來的主程式
	3.5.2 讀取客戶端傳來的已加密私鑰
	3.5.3 準備解密器並匯入解密金鑰
	3.5.4 將私鑰解密
	3.5.5 已解密的私鑰傳送回客戶端
	3.5.6 與客戶端中斷連線
	3.6 勒索程式解密客戶端 - 快速伺服器連線秘技
	3.6.1 伺服器 IP
	3.6.2 問題的根源 - 逾時時間太久
	3.6.3 製作快速連線的函式 - CreateSocket
	3.6.4 改變 socket 輸出入模式的 API - ioctlsocket
	3.6.5 檢測一個或多個 socket 狀態的 API - select
	3.6.6 實作 CreateSocket
	3.6.7 取得當前電腦的IP - GetLocalIP
	3.6.8 將私鑰解密的客戶端 - DecryptClient
	3.6.9 私鑰解密的執行緒 - DecryptClientThread
	
	第四章 視窗篇
	4.1 圖形使用者介面
	4.2 控制元件與訊息
	4.2.1 輸出文字的 API - DrawText
	4.2.2 產生字型的 API - CreateFont
	4.2.3 產生控制元件的 API - CreateWindow
	4.2.4 傳送訊息的 API - SendMessage
	4.2.5 以 CreateWindowEx 產生元件範例
	4.3 資源
	4.3.1 資源的建立
	4.3.2 勒索程式的桌面圖片
	4.3.3 資源的取得
	4.3.4 取出資源 - RetrieveResource
	4.3.5 配置記憶體取出資源 - AllocResource
	4.3.6 根據資源 ID 設定桌面 - SetWanaDesktop
	4.3.7 將勒索程式的 Q&A 放進資源
	
	第五章 視窗篇 - 主對話框
	5.1 勒索程式主對話框
	5.1.1 勒索程式的對話框
	5.1.2 產生對話框的 API - DialogBox
	5.2 產生及設定字型
	5.2.1 簡易字型巨集 - DefaultFont
	5.2.2 在對話框宣告字型
	5.2.3 給元件設定字型 - WM_SETFONT 訊息
	5.2.4 由 HWND 取得 Resource ID 的API - GetDlgItem
	5.2.5 刪除物件的 API - DeleteObject
	5.3 漸層進度條
	5.3.1 裝置內容 - Device Context 介紹
	5.3.2 取得預設物件的 API - GetStockObject
	5.3.3 選擇物件的 API - SelectObject
	5.3.4 產生畫筆的 API - CreatePen
	5.3.5 產生筆刷的 API - CreateSolidBrush
	5.3.6 畫出漸層條 - DrawProgressBar
	5.3.7 設定計時器的 API - SetTimer
	5.3.8 取消計時器的 API - KillTimer
	5.3.9 接收計時器訊息 - WM_TIMER 訊息
	5.3.10 設定計時器更新進度條
配送方式
- 
                                    台灣
- 國內宅配:本島、離島
 - 
                                                到店取貨:
不限金額免運費
                                                        
                                                        
                                                 
 - 
                                    海外
- 國際快遞:全球
 - 
                                                港澳店取:
                                                    
                                                     
 
詳細資料
詳細資料
- 
                                        
- 語言
 - 中文繁體
 - 裝訂
 - 紙本平裝
 
 - 
                                        
- ISBN
 - 9786263331112
 - 分級
 - 普通級
 
 - 
                                        
- 頁數
 - 360
 - 商品規格
 - 23*17
 
 - 
                                        
- 出版地
 - 台灣
 - 適讀年齡
 - 全齡適讀
 
 - 
                                        
- 注音
 - 級別
 
 
訂購/退換貨須知
退換貨須知:
**提醒您,鑑賞期不等於試用期,退回商品須為全新狀態**
- 
								依據「消費者保護法」第19條及行政院消費者保護處公告之「通訊交易解除權合理例外情事適用準則」,以下商品購買後,除商品本身有瑕疵外,將不提供7天的猶豫期:
								
- 易於腐敗、保存期限較短或解約時即將逾期。(如:生鮮食品)
 - 依消費者要求所為之客製化給付。(客製化商品)
 - 報紙、期刊或雜誌。(含MOOK、外文雜誌)
 - 經消費者拆封之影音商品或電腦軟體。
 - 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書、電子雜誌、下載版軟體、虛擬商品…等)
 - 已拆封之個人衛生用品。(如:內衣褲、刮鬍刀、除毛刀…等)
 
 - 若非上列種類商品,均享有到貨7天的猶豫期(含例假日)。
 - 辦理退換貨時,商品(組合商品恕無法接受單獨退貨)必須是您收到商品時的原始狀態(包含商品本體、配件、贈品、保證書、所有附隨資料文件及原廠內外包裝…等),請勿直接使用原廠包裝寄送,或於原廠包裝上黏貼紙張或書寫文字。
 - 退回商品若無法回復原狀,將請您負擔回復原狀所需費用,嚴重時將影響您的退貨權益。
 
    
        
                  
                
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
                  
		


商品評價