0920~0926_夏季暢銷第三波BN

【電子書】Windows駭客程式設計:勒索病毒加密篇

紙本絕版書 Readmoo 電子書
  • 460

內容簡介

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


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

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

製作出一隻勒索病毒,需要多少知識?翻開這本書,你想知道的答案都在裡面。

作者

北極星

一群浪人,愛好資訊安全與駭客技術。

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

序/導讀

目錄

第○章 本書大綱

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

(節錄)

詳細資料

詳細資料

    • 語言
    • 中文繁體
    • 裝訂
    • ISBN
    • 9789864344512
    • 分級
    • 普通級
    • 頁數
    • 480
    • 商品規格
    • 23*17
    • 出版地
    • 台灣
    • 適讀年齡
    • 全齡適讀
    • 注音
    • 級別

商品評價

訂購/退換貨須知

加入金石堂 LINE 官方帳號『完成綁定』,隨時掌握出貨動態:

加入金石堂LINE官方帳號『完成綁定』,隨時掌握出貨動態
金石堂LINE官方帳號綁定教學

提醒您!!
金石堂及銀行均不會請您操作ATM! 如接獲電話要求您前往ATM提款機,請不要聽從指示,以免受騙上當!

購買須知:

使用金石堂電子書服務即為同意金石堂電子書服務條款

電子書分為「金石堂(線上閱讀+APP)」及「Readmoo(兌換碼)」兩種:

金石堂 電子書
  • 將儲存於會員中心→電子書服務「我的e書櫃」,點選線上閱讀直接開啟閱讀。
    1. 線上閱讀:
      建議使用Chrome、Microsoft Edge 有較佳的線上瀏覽效果, iOS 14.2 或以上版本,Android 6.0 以上版本,建議裝置有6GB以上的記憶體,至少有 30 MB以上的容量。
    2. 離線閱讀:
      APP下載:iOS Android
      安裝電子書APP後,請依照提示登入「會員中心」→「我的E書櫃」→「電子書APP通行碼/載具管理」,取得通行碼再登入下載您所購買的電子書。完成下載後,點選任一書籍即可開始離線閱讀。
Readmoo 電子書
  • 請至會員中心→電子書服務「我的e書櫃」領取複製『兌換碼』至電子書服務商Readmoo進行兌換。

退換貨須知:

  • 因版權保護,您在金石堂所購買的電子書僅能以金石堂專屬的閱讀軟體開啟閱讀,無法以其他閱讀器或直接下載檔案。
  • 依據「消費者保護法」第19條及行政院消費者保護處公告之「通訊交易解除權合理例外情事適用準則」,非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書、電子雜誌、下載版軟體、虛擬商品…等),不受「網購服務需提供七日鑑賞期」的限制。為維護您的權益,建議您先使用「試閱」功能後再付款購買。
金石堂門市 全家便利商店 ok便利商店 萊爾富便利商店 7-11便利商店
World wide
活動ing