Windows 駭客程式設計:勒索病毒 (第二冊) -- 原理篇, 2/e
北極星
買這商品的人也買了...
- 
                
                   $602IP 路由協議疑難解析 $602IP 路由協議疑難解析
- 
                
                   秋聲教你玩 -- C語言底層破解基礎篇 : 給挑戰者的11堂課 秋聲教你玩 -- C語言底層破解基礎篇 : 給挑戰者的11堂課$320$250
- 
                
                   秋聲教你玩組合語言 : 指令精華篇 秋聲教你玩組合語言 : 指令精華篇$450$351
- 
                
                   遠端遙控木馬病毒程式設計:使用 Python 遠端遙控木馬病毒程式設計:使用 Python$550$429
- 
                
                   Windows 駭客程式設計:Windows Data Type (精華篇) Windows 駭客程式設計:Windows Data Type (精華篇)$580$452
- 
                
                   思科網絡實驗室 CCNP (路由技術) 實驗指南, 2/e 思科網絡實驗室 CCNP (路由技術) 實驗指南, 2/e$534$507
- 
                
                   $352從實踐中學習 Kali Linux 網絡掃描 $352從實踐中學習 Kali Linux 網絡掃描
- 
                
                   $607從實踐中學習 Kali Linux 滲透測試 $607從實踐中學習 Kali Linux 滲透測試
- 
                
                   Windows 駭客程式設計:勒索病毒(第一冊) -- 加密篇 Windows 駭客程式設計:勒索病毒(第一冊) -- 加密篇$620$484
- 
                
                   Kali Linux 滲透測試工具|花小錢做資安,你也是防駭高手, 3/e Kali Linux 滲透測試工具|花小錢做資安,你也是防駭高手, 3/e$880$748
- 
                
                   $403黑客秘笈 : 滲透測試實用指南, 3/e (The Hacker Playbook 3: Practical Guide To Penetration Testing) $403黑客秘笈 : 滲透測試實用指南, 3/e (The Hacker Playbook 3: Practical Guide To Penetration Testing)
- 
                
                   $403Linux 黑客滲透測試揭秘 $403Linux 黑客滲透測試揭秘
- 
                
                   Windows APT Warfare:惡意程式前線戰術指南 Windows APT Warfare:惡意程式前線戰術指南$600$468
- 
                
                   計算機組成原理:作業系統概論Ⅰ 計算機組成原理:作業系統概論Ⅰ$560$437
- 
                
                   The Hacker Playbook 3 中文版:滲透測試實戰 (紅隊版) The Hacker Playbook 3 中文版:滲透測試實戰 (紅隊版)$650$507
- 
                
                   計算機組成原理:作業系統概論Ⅱ 計算機組成原理:作業系統概論Ⅱ$600$468
- 
                
                   高手叫我不要教的 ─ H模型:兩個指標,百倍獲利, 2/e 高手叫我不要教的 ─ H模型:兩個指標,百倍獲利, 2/e$680$537
- 
                
                   I'm From Taiwan / Programmer 阿喵宅造型貼紙7X7公分 (萬聖節限定款) I'm From Taiwan / Programmer 阿喵宅造型貼紙7X7公分 (萬聖節限定款)$69$60
- 
                
                   密碼管理系統理論與實作:使用 Python 的 Crypto、Tkinter 與 Django 套件 密碼管理系統理論與實作:使用 Python 的 Crypto、Tkinter 與 Django 套件$650$507
- 
                
                   第一名的網站開發 - Node.js 全端高手昇華之路 第一名的網站開發 - Node.js 全端高手昇華之路$680$537
- 
                
                   Kali Linux 滲透測試全流程詳解 Kali Linux 滲透測試全流程詳解$599$569
- 
                
                   大神養成術 - Node.js+Express + MongoDB+Vue.js 全端實作現場 大神養成術 - Node.js+Express + MongoDB+Vue.js 全端實作現場$800$632
- 
                
                   輕鬆自學 ASP.NET Core MVC(.NET 8):從建置到部署的 Web 程式經典範例實作 輕鬆自學 ASP.NET Core MVC(.NET 8):從建置到部署的 Web 程式經典範例實作$780$616
- 
                
                   跟 NVIDIA 學深度學習!從基本神經網路到 ......、GPT、BERT...,紮穩機器視覺與大型語言模型 (LLM) 的建模基礎 跟 NVIDIA 學深度學習!從基本神經網路到 ......、GPT、BERT...,紮穩機器視覺與大型語言模型 (LLM) 的建模基礎$880$748
- 
                
                   遙遙領先 - 使用 Java 開發 Web 新手轉高手之路 遙遙領先 - 使用 Java 開發 Web 新手轉高手之路$860$679
商品描述
- 👉感謝讀者的支持,作者修訂精簡第二版嘉惠更多朋友!
 
 要寫出一個勒索病毒,需要多強的程式功力?相信大家的心裡已浮現出技術高強的駭客身影。
 
 然而,當這個模擬勒索程式完成後,撇開永恆之藍等漏洞的使用,我們赫然發現,裡面所使用的程式知識,卻沒有想像中非常地高深,或是遙不可及。
 
 基本的記憶體管理、目錄和檔案處理、較為進階的加密知識、基礎資料結構,行程與執行緒、同步問題、網路通訊,還有Windows圖型介面,其中還包括文字字型、Edit、RichEdit、ComboBox、ListBox、ProgressBar等元件使用,資源的使用,計時器、剪貼簿等運用……幾乎是學習Windows程式所有需要的基本知識,都涵括在內了。
 
 換句話說,只要您將這兩冊勒索病毒程式設計讀完,就可以將大部分Windows程式設計中需要學習的知識全都學習到位。
 
 最特別的是,我們在最後製作了模擬漏洞及針對這個模擬漏洞的蠕蟲,讓大家了解蠕蟲的工作原理,同時也體驗一下蠕蟲快速傳播的可怕威力,對蠕蟲這一支惡意程式有更深入的體驗和了解。
 
 這個勒索程式是個相當完整的專案,非常適合學習,不像一般Windows程式設計,每部份最多只有短短的範例,本書的每個單位的每個範例,最終可以組合成一個大型而完整的勒索程式。希望大家別錯過了這麼完整又龐大又全面的專案學習,只此一本,就可以讓你的功力大增,千萬不要錯過。
作者簡介
- 作者簡介
 
 北極星
 一群浪人,愛好資訊安全與駭客技術。
 
 書籍勘誤、與作者交流,請加入通往駭客之路粉絲團:
  
 
 北極星作者群信箱:
  
 polaris20160401@gmail.com
目錄大綱
- 第一章 本冊程式修正與檔案存取
 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 設定計時器更新進度條
 5.3.11 靜態元件更新 - WM_CTLCOLORSTATIC 訊息
 5.4 文字及背景顏色設定
 5.4.1 對話框背景顏色設定
 5.4.2 元件的文字背景顏色設定
 5.5 顯示期限日期及倒數時間
 5.5.1 取得時間的 API - time
 5.5.2 轉換當地時間的 API - localtime_s
 5.5.3 輸出日期時間到文字元件 - SetDateTime
 5.5.4 輸出倒數時間到文字元件 - SetTimeLeft
 5.6 啟動瀏覽器
 5.7 Check Payment 及 Decrypt 按鈕
 5.8 Copy 鈕與剪貼簿
 5.8.1 配置 heap 記憶體的 API - GlobalAlloc
 5.8.2 鎖定記憶體的 API - GlobalLock
 5.8.3 解除鎖定記憶體的 API - GlobalUnlock
 5.8.4 開啟剪貼簿的 API - OpenClipboard
 5.8.5 清空剪貼簿的 API - EmptyClipboard
 5.8.6 設置剪貼簿內容的 API - SetClipboardData
 5.8.7 關閉剪貼簿的 API - CloseClipboard
 5.8.8 勒索程式裡的 Copy 鈕
 5.9 編輯框顯示 Bitcoin 帳戶
 5.10 顯示 Q&A - RichEdit 及 ComboBox
 5.10.1 由 RichEdit 顯示文件
 5.10.2 設定 ComboBox 選項
 
 第六章 視窗篇 - Check Payment 對話框
 6.1 Check Payment 對話框
 6.2 進度顯示 - Progress Bar
 6.2.1 透過 SendMessage 設定進度條相關參數
 6.2.2 用進度條顯示 DecryptClient 進度
 6.3 取消鈕 - EndDialog
 
 第七章 視窗篇 - Decrypt 對話框
 7.1 Decrypt 對話框
 7.2 設定文字及背景顏色
 7.3 解密目錄選擇 - ComboBox
 7.3.1 定義選項
 7.3.2 取得既定目錄路徑的 API - SHGetKnownFolderPath
 7.4 列出解密檔案 - ListBox
 7.4.1 由DECQUEUE 取得解密檔名
 7.4.2 將解密檔名傳到 ListBox - LB_ADDSTRING 訊息
 7.4.3 選擇項目 - LB_SETCURSEL 訊息
 7.5 檔名複製 - ListBox and Clipboard
 7.5.1 取得 ListBox 項目長度 - LB_GETTEXTLEN 訊息
 7.5.2 取得 ListBox 項目 - LB_GETTEXT 訊息
 7.5.3 取得 ListBox 項目並設定剪貼簿
 
 第八章 蠕蟲篇
 8.1 模擬漏洞
 8.1.1 有漏洞才有蠕蟲
 8.1.2 蠕蟲的行為
 8.1.3 WannaCry 入侵簡述(選讀)
 8.1.4 模擬後門
 8.2 模擬蠕蟲
 
 附錄 A Visual Studio 專案
 A.1 選擇右邊的「建立新的專案」
 A.2 選擇「Windows 傳統型應用程式」
 A.3 填上你的專案名稱,然後按下「建立」鈕
 A.4 產生基本架構程式
 
 附錄 B Windows 傳統應用程式基礎架構
 B.1 主程式(程式進入點)- wWinMain
 B.2 註冊視窗類別 - MyRegisterClass
 B.3 產生視窗及初始化 - InitInstance
 B.4 處理訊息的 Call Back 函式 - WndProc
 B.5 對話框範例 - About
 
 附錄 C 以資源編輯器來編輯對話框
 C.1 在方案編管找到資源檔
 C.2 滑鼠右鍵選擇加入
 C.3 選擇「Dialog」
 C.4 出現空白對話框
 C.5 調整對話框大小
 C.6 左側工具箱選擇元件
 C.7 選擇元件放到對話框上
 C.8 調整元件位置和大小
 C.9 元件的位置和大小
 
 附錄 D 主對話框元件參數
 D.1 主對話框視窗參數
 D.2 主對話框文字元件參數
 D.3 勒索程式 Q&A 訊息 - RichEdit
 D.4 主對話框按鈕元件參數
 D.5 主對話框編輯框元件參數
 D.6 主對話框圖片元件參數
 D.7 主對話框勒索 Q&A 語系選擇
 D.8 主對話框 Group Box 元件參數
 D.9 漸層進度條
 
 附錄 E Check Payment 對話框元件參數
 E.1 Check Payment 對話框參數
 E.2 Cancel 按鈕元件參數
 E.3 進度條元件參數
 E.4 文字元件參數
 
 附錄 F Decrypt 對話框元件參數
 F.1 Decrypt 對話框視窗參數
 F.2 ComboBox 元件參數
 F.3 按鈕元件參數
 F.4 文字元件參數
 F.5 ListBox 元件參數
 
 附錄 G 模擬勒索程式建置測試流程
 G.1 駭客電腦和受害者電腦的準備
 G.2 建置專案產生各執行檔
 G.3 受害電腦的準備工作
 G.4 勒索程式開始攻擊
 G.5 進行解密

















 
     
     
     
    
 
    
 
     
     
     
     
     
     
     
    