回首頁  
帳號
 
關於博碩 博碩好讀 校園圖書 MOCC認證 下載教學 元學堂

博碩好讀
  新書推薦
  出版預告
  名家名著
  iT達人祕笈
 

分類索引

 

出版總覽

 

讀者服務

  徵求作者
 
首頁 >> 書籍介紹
 
 
點我可放大圖片
 
書名:Windows駭客程式設計:勒索病毒加密篇
書號:MP21930 作者:北極星 ISBN: 978-986-434-451-2
定價:NT$620元 印刷:單色 頁數:480頁
書籍規格:17*23 上市日:2019/12/1 譯者:(無)
學習定位:中階 本書附件:官網下載   快速前往 範例
       
快速前往 快速前往        

 

 
    揭開隱藏在視窗底下的封鎖危機

    若想要了解駭客,研究電腦病毒是一個不錯的方式。病毒的設計,充滿了駭客天馬行空的想像及創意。尤其是歷史悠久的病毒,那更是經過好幾代不斷地精心修改,簡直可以說是千錘百鍊的藝術品。

    這麼多病毒,為何選擇勒索病毒?其實,是它的鮮紅色的畫面吸引了我的注意。勒索病毒至今已有30年歷史,到目前仍困擾許多人們,其獨特之處值得作為研究的對象。本書將逐步重現勒索病毒的全貌,其中駭客的思路和創意,相信會帶給讀者相當大的啟發,並希望透過閱讀之後都能獲得滿滿的收獲。

    製作出一隻勒索病毒,需要多少知識?翻開這本書,你想知道的答案都在裡面。
 
    第○章 本書大綱
    0.1 本書的章節內容
    0.2 Windows API 的函式名問題
    0.3 星星
    0.4 善用虛擬機

    Part I 熱身篇

    第一章 熱身一下
    1.1 Visual Studio 的 hexdump
    1.2 主控台應用程式
    1.3 Hexdump
    1.4 ASCII
    1.5 Debug 模式
    1.6 巨集定義
    1.7 顯示記憶體 - hexdump.cpp
    1.8 運用 ASCII 的小程式(選讀)
    1.9 微軟的變數命令

    Part II 基礎篇

    第二章 記憶體管理
    2.1 記憶體
    2.1.1 堆積(Heap)
    2.1.2 堆疊(Stack)
    2.2 記憶體配置
    2.2.1 記憶體配置函式 - HeapAlloc
    2.2.2 釋放記憶體 - HeapFree
    2.3 常用的記憶體函式
    2.3.1 複製記憶體內容 - CopyMemory
    2.3.2 填滿記憶體 - FillMemory
    2.3.3 將記憶體清為0 - ZeroMemory

    第三章 基本目錄處理
    3.1 目錄處理API
    3.1.1 複製檔案 - CopyFile
    3.1.2 刪除檔案 - DeleteFile
    3.1.3 移動檔案 - MoveFile
    3.1.4 取得檔案屬性 - GetFileAttributes
    3.1.5 設定檔案屬性 - SetFileAttributes
    3.2 目錄掃瞄
    3.2.1 開始掃瞄目錄 - FindFirstFile
    3.2.2 掃瞄目錄 - FindNextFile
    3.2.3 目錄掃瞄結束 - FindClose
    3.3 磁碟機
    3.3.1 取得邏輯磁碟機資訊 - GetLogicalDrives
    3.3.2 取得磁碟機型態 - GetDriveType
    3.4 全系統掃瞄範例

    第四章 基本檔案處理
    4.1 檔案開啟創建與關閉
    4.1.1 開啟檔案 - CreateFile
    4.1.2 舊版開啟檔案- OpenFile(參考,此函式不建議使用)
    4.1.3 關閉檔案 - CloseHandle
    4.2 讀寫檔案內容
    4.2.1 讀取檔案 - ReadFile
    4.2.2 寫入檔案 - WriteFile
    4.3 檔案相關資訊
    4.3.1 取得檔案時間 - GetFileTime
    4.3.2 設定檔案時間 - SetFileTime
    4.3.3 讀取、設定檔案時間的範例
    4.4 檔案讀寫位置
    4.4.1 改變讀寫檔案的位置 - SetFilePointer
    4.4.2 進階改變讀寫檔案位置 - SetFilePointerEx
    4.4.3 取得檔案讀取位置 - GetFilePointerEx
    4.5 綜合練習 - ezfile.cpp
    4.5.1 直接由檔案讀取到記憶體 - ReadBuffer
    4.5.2 直接將記憶體寫進檔案 - WriteBuffer
    4.5.3 如何知道讀寫了什麼
    4.5.4 將檔案徹底刪除
    4.5.5 更新檔案屬性
    4.5.6 假刪除檔案及假回復檔案

    Part III 密碼篇

    第五章 邏輯運算與加密
    5.1 邏輯運算
    5.2 二值邏輯
    5.3 基本邏輯運算子
    5.3.1 AND 運算
    5.3.2 OR 運算
    5.3.3 NOT 運算
    5.3.4 AND 與 OR 無法用於加密
    5.4 XOR 邏輯運算子
    5.4.1 XOR 運算
    5.4.2 XOR 的特性
    5.5 三值邏輯(純閒聊,可跳過)

    第六章 RC4 加密演算法
    6.1 XOR 簡易加密法
    6.1.1 XOR 加密法簡述
    6.1.2 XOR 加密範例程式
    6.2 RC4 加密演算法
    6.2.1 RC4 介紹
    6.2.2 串流加密與區塊加密
    6.2.3 RC4 與加殼
    6.2.4 RC4 加密流程說明
    6.3 C/C++ 範例程式
    6.3.1 S-Box 初始化第一階段
    6.3.2 S-Box 初始化第二階段
    6.3.3 正式加密
    6.3.4 實行加密和解密

    第七章 BCrypt 函式庫
    7.1 Microsoft 密碼函式庫
    7.1.0 實作RC4 加密類別需要用到的 BCrypt 函式
    7.1.1 開啟演算法提供者 - BCryptOpenAlgorithmProvider
    7.1.2 產生對稱式金鑰 - BCryptGenerateSymmetricKey
    7.1.3 加密 - BCryptEncrypt
    7.1.4 解密 - BCryptDecrypt
    7.1.5 銷毀金鑰 - BCryptDestroyKey
    7.1.6 關閉演算法提供者 - BCryptCloseAlgorithmProvider
    7.2 BCrypt 版的RC4
    7.3 RC4 加密類別實作 - EZRC4.cpp
    7.3.1 定義與宣告 - EZRC4.h
    7.3.2 建構子 - EZRC4::EZRC4
    7.3.3 解構子 - EZRC4::~EZRC4
    7.3.4 產生金鑰 - EZRC4::GenKey
    7.3.5 加密 - EZRC4::Encrypt
    7.3.6 解密 - EZRC4::Decrypt

    第八章 AES 對稱式加密演算法
    8.1 區塊加密法
    8.2 區塊加密法的模式
    8.2.1 ECB - 電子密碼本模式
    8.2.2 CBC - 密碼區塊連結模式
    8.2.3 PCBC - 明文密碼塊連結
    8.2.4 CFB - 密文回饋模式
    8.2.5 OFB - 輸出回饋模式
    8.2.6 CTR - 計數器模式
    8.3 AES 加密演算法用到的 BCrypt 函式
    8.3.1 開啟演算法提供者 - BCryptOpenAlgorithmProvider
    8.3.2 取得內部參數 - BCryptGetProperty
    8.3.3 產生對稱式金鑰 - BCryptGenerateSymmetricKey
    8.3.4 加密 - BCryptEncrypt
    8.3.5 解密 - BCryptDecrypt
    8.3.6 銷毀金鑰 - BCryptDestroyKey
    8.3.7 關閉演算法提供者 - BCryptCloseAlgorithmProvider
    8.4 AES 加密法類別 - EZAES.cpp
    8.4.1 定義與宣告 - EZAES.h
    8.4.2 建構子 - EZAES::EZAES
    8.4.3 解構子 - EZAES::~EZAES
    8.4.4 產生金鑰 - EZAES::GenKey
    8.4.5 記憶體加密 - EZAES::Encrypt
    8.4.6 記憶體解密 - EZAES::Decrypt

    第九章 加密基礎之數學篇
    9.1 密碼保護資料,誰來保護密碼?
    9.2 非對稱式加密法
    9.2.1 RSA 密碼演算法
    9.2.2 公鑰和私鑰
    9.3 公開金鑰密碼的原理
    9.3.1 餘數運算
    9.3.2 指數運算
    9.4 演算法的數學理論
    9.5 簡化的演算步驟
    9.6 實際計算示範
    9.6.1 計算金鑰
    9.6.2 實測金鑰

    第十章 RSA 加密演算法
    10.1 RSA 加密法運用的 BCrypt 函式
    10.1.1 開啟演算法提供者 - BCryptOpenAlgorithmProvider
    10.1.2 生非對稱式金鑰 - BCryptGenerateKeyPair
    10.1.3 生非對稱式金鑰結束 - BCryptFinalizeKeyPair
    10.1.4 加密 - BCryptEncrypt
    10.1.5 解密 - BCryptDecrypt
    10.1.6 銷毀金鑰 - BCryptDestroyKey
    10.1.7 關閉演算法提供者 - BCryptCloseAlgorithmProvider
    10.1.8 金鑰的匯出與匯入
    10.1.9 將金鑰匯出 - BCryptExportKey
    10.1.10 將非對稱式金鑰匯入 - BCryptImportKeyPair
    10.2 RSA 加密法類別 - EZRSA.cpp
    10.2.1 定義與宣告 - EZRSA.h
    10.2.2 建構子 - EZRSA::EZRSA
    10.2.3 解構子 - EZRSA::~EZRSA
    10.2.4 產生金鑰 - EZRSA::GenKey
    10.2.5 從記憶體匯入金鑰 - EZRSA::Import
    10.2.6 從檔案匯入金鑰 - EZRSA::Import
    10.2.7 將金鑰匯出至記憶體 - EZRSA::Export
    10.2.8 將金鑰匯出至檔案 - EZRSA::Export
    10.2.9 記憶體加密 - EZRSA::Encrypt
    10.2.10 記憶體解密 - EZRSA::Decrypt
    10.2.11 比對公鑰和私鑰 - ::RSAKeyMatch

    第十一章 混合式加密
    11.1 加密法的優先點
    11.1.1 對稱式密碼的優缺點
    11.1.2 非對稱式密碼的優缺點
    11.2 混合式加密法類別 - EZHybrid.cpp
    11.2.1 加密檔格式
    11.2.2 定義與宣告 - EZHybrid.h
    11.2.3 亂數產生 - ::GenRandom
    11.2.4 建構子 - EZHybrid::EZHybrid
    11.2.5 解構子 - EZHybrid::~EZHybrid
    11.2.6 產生RSA 金鑰 - EZHybrid::GenKey
    11.2.7 從記憶體匯入公鑰 - EZHybrid::ImportPublicKey
    11.2.8 從記憶體匯入私鑰 - EZHybrid::ImportPrivateKey
    11.2.9 從檔案匯入公鑰 - EZHybrid::ImportPublicKey
    11.2.10 從檔案匯入私鑰 - EZHybrid::ImportPrivateKey
    11.2.11 混合式密碼的加密 - EZHybrid::Encrypt
    11.2.12 混合式密碼的解密 - EZHybrid::Decrypt

    Part IV 加密篇

    第十二章 掃描與檔案加密策略
    12.1 時間就是金錢,駭客最懂
    12.2 目錄過濾
    12.3 檔案型態的分類
    12.4 檔案大小分級
    12.5 檔案型態與大小綜合評判
    12.5.1 來回四趟處理
    12.5.2 檔案型態與大小決定先後
    12.6 大型檔案的預處理
    12.6.1 預處理
    12.6.2 預處理加密
    12.7 鏈結串列介紹
    12.7.1 鏈結串列(Linked List)
    12.7.2 單向鏈結串列(Singly Linked List)
    12.7.3 環狀單向鏈結串列(Circular Singly Linked List)
    12.7.4 雙向鏈結串列(Doubly Linked List)
    12.7.5 環狀雙向鏈結串列(Circular Doubly Linked List)
    12.8 檔案資訊 - FileInfo.cpp
    12.8.1 定義與宣告 - FileInfo.h
    12.8.2 FileNode - 鏈結串列節點
    12.8.3 FileList - 檔案資訊鏈結串列
    12.8.4 建構子 - FileList::FileList
    12.8.5 解構子 - FileList::~FileList
    12.8.6 增加新資料到鏈結串列 - FileList::Insert
    12.8.7 忽略不處理的目錄 - ::isIgnorePath
    12.8.8 檔案型態分類 - ::ClassifyFileType

    第十三章 混合式加密- 改
    13.1 簡單的動作卻如此致命
    13.2 加密檔格式
    13.3 勒索程式的混合式加密 - WanaZip.cpp
    13.3.1 定義與宣告 - WanaZip.h
    13.3.2 WanaZip -混合式加密- 改的類別
    13.3.3 亂數產生器 - ::GenRandom
    13.3.4 建構子 - WanaZip::WanaZip
    13.3.5 解構子 - WanaZip::~WanaZip
    13.3.6 從記憶體匯入公鑰 - WanaZip::ImportPublicKey
    13.3.7 從記憶體匯入私鑰 - WanaZip::ImportPrivateKey
    13.3.8 從檔案匯入公鑰 - WanaZip::ImportPublicKey
    13.3.9 從檔案匯入私鑰 - WanaZip::ImportPrivateKey
    13.3.10 加密與預處理 - WanaZip::Encrypt
    13.3.11 解密 - WanaZip::Decrypt

    第十四章 勒索程式加密流程
    14.1 勒索程式加密類別 - WanaEncryptor.cpp
    14.1.1 定義與宣告 - WanaCryptor.h
    14.1.2 建構子 - WanaCryptor::WanaCryptor
    14.1.3 解構子 - WanaCryptor::~WanaCryptor
    14.1.4 準備WANNATRY 目錄 - WanaCryptor::Init
    14.1.5 準備RSA 金鑰 - WanaCryptor::SetupRSA
    14.1.6 匯入混合式加密公鑰 - WanaCryptor::InitWanaZip
    14.1.7 決定檔案處理動作 - WanaCryptor::SelectEncryptAction
    14.1.8 執行檔案處理動作 - WanaCryptor::EncryptDispatch
    14.1.9 目錄掃瞄與第一趟加密 - WanaCryptor::EncryptTraverse
    14.1.10 檔案列表與第二到四趟加密 - WanaCryptor::EncryptFileList
    14.1.11 檔案與目錄加密 - WanaCryptor::Encrypt
    14.1.12 使用者資料加密 - WanaCryptor::EncryptUsers
    14.1.13 磁碟機加密 - WanaCryptor::EncryptDrivers
    14.1.14 全系統掃瞄加密 - WanaCryptor::EncryptAll
    14.1.15 比對公鑰檔與私鑰檔 - ::CheckDKYFileValid

    第十五章 系統解密
    15.1 系統解密類別 - WanaDecryptor.cpp
    15.1.1 定義與宣告 - WanaDecryptor.h
    15.1.2 建構子 - WanaDecryptor::WanaDecryptor
    15.1.3 解構子 - WanaDecryptor::~WanaDecryptor
    15.1.4 檢查 WANNATRY 目錄- WanaDecryptor::Init
    15.1.5 配置解密引擎 - WanaDecryptor::InitWanaZip
    15.1.6 掃瞄目錄 - WanaDecryptor::DecryptTraverse
    15.1.7 檔案與目錄解密 - WanaDecryptor::Decrypt
    15.1.8 全系統掃瞄解密 - WanaDecryptor::DecryptAll

    Part V 中途篇

    第十六章 中場休息
    16.1 將 00000000.eky 解密
    16.2 主程式
    16.3 將整個目錄或檔案加密
    16.4 將整個目錄或檔案解密
    16.5 比較金鑰配對
    16.6 測試一下
    16.6.1 測試 Encrypt 選項
    16.6.2 測試 DecryptEKY 選項
    16.6.3 測試 Decrypt 選項
    16.6.4 測試 CheckKeyPair 選項
    16.7 預告
 
    北極星
    一群浪人,愛好資訊安全與駭客技術。

    書籍勘誤、與作者交流,請加入通往駭客之路粉絲團:
    https://www.facebook.com/groups/TaiwanHacker/
 

範例下載
 
  1. 範例 (3.19MB)
 
 
     

博碩文化客服信箱
 

[email protected]

 
文教業務團隊
台北、新北、桃園、基隆、宜蘭、花蓮、金門
汪 玉 鳳
LINE ID:0925177716
0925-177716
[email protected]
郭 南 彤
LINE ID:rgtech101
0917-727778
[email protected]
助理分機 519
新竹、苗栗、台中、彰化、南投、雲林
林 世 昌
LINE ID:0925275775
0925-275775
[email protected]
助理分機 519
嘉義、台南、高雄、屏東、台東、澎湖
林 月 玲
LINE ID:0926858627
0926-858627
[email protected]
助理分機 238
 
MOCC 認證小組
 
  林 雯 玲 電話:02-2696-2869 分機:623 [email protected]

 

 
 

 

博碩文化股份有限公司 DrMaster Press Co., Ltd.
台灣新北市汐止區新台五路一段112號10樓A棟
Building A, 10F, No.112, Xintai 5th Rd., Sec.1,Xizhi Dist., New Taipei City 221, Taiwan
Tel:02-2696-2869 Fax:02-2696-2867 劃撥帳號:17484299

Copyright© DrMaster Press Co., Ltd. All Rights Reserved.