發表於2024-11-10
探究軟件保護領域的“黑箱”代碼虛擬化技術,運用自動化分析技術理解代碼,暢遊代碼中的虛擬世界。
本書主要分成3個部分討論代碼虛擬和自動化分析技術。第1部分主要討論代碼虛擬化技術的各種實現方法,並通過一些現有的代碼虛擬化技術應用案例*領讀者瞭解代碼虛擬化的技術基礎。第2部分主要介紹和討論代碼自動化分析技術,也就是對在第1部分中介紹的代碼虛擬化技術進行討論,利用虛擬化技術自身進行自動化分析,通過實際的代碼將自動化分析技術從理論變為實際的程序,提升讀者對自動化分析技術的理解和運用水平。第3部分使用自動化分析技術全麵分析Winlicense和VMProtect保護係統,展示自動化分析技術,並通過實際的分析過程帶領讀者深入體會代碼虛擬化技術。本書適閤信息安全領域相關人員、高校相關專業學生及愛好者閱讀。
章立春,看雪ID netsowell,多年來一直從事軟件和網絡安全相關問題研究,擅長軟件逆嚮分析、係統級編程、虛擬化技術及各類工具的開發等。
目 錄
第1部分 實現原理
第1章 代碼虛擬化原理 2
1.1 代碼虛擬機運行時框架 3
1.1.1 流程控製指令 6
1.1.2 入口代碼 6
1.1.3 解碼執行器 7
1.1.4 齣口代碼 8
1.2 代碼虛擬機非運行時部件 8
1.2.1 譯碼器 9
1.2.2 虛擬化媒介編碼器 10
1.2.3 運行時部件 10
1.2.4 運行時部件生成器 10
1.2.5 原始程序處理器 11
1.3 本章小結 11
第2章 模擬虛擬化 12
2.1 Bochs簡單分析 12
2.1.1 模擬CPU對象 13
2.1.2 譯碼器 15
2.1.3 解碼執行器 16
2.1.4 OP代碼分支 17
2.2 模擬虛擬化特徵 19
2.3 實現模擬虛擬化樣機 19
2.3.1 模擬目標設定 19
2.3.2 技術方案 20
2.3.3 原程序處理器 21
2.3.4 運行時部件 24
2.4 本章小結 28
第3章 自動化分析原理 29
3.1 代碼等價替換 29
3.2 垃圾指令生成 32
3.3 代碼亂序 33
3.4 多分支跳轉 34
3.5 自動化分析基礎 34
3.5.1 代碼等價替換技術 35
3.5.2 垃圾指令生成及清除 35
3.5.3 代碼亂序處理 35
3.5.4 多分支跳轉及清除 36
3.5.5 代碼虛擬機技術 36
第4章 花型替換分析 37
4.1 定義花型 38
4.2 匹配花型 40
4.3 實施花型替換 42
4.4 打造花型替換機 42
4.4.1 功能製定 43
4.4.2 確定技術方案 43
4.4.3 開發籌備 44
4.4.4 具體實現 44
4.4.5 效果演示 70
第2部分 技術分析
第5章 打造自動化分析工具 74
5.1 功能製定 74
5.2 確定技術方案 75
5.3 開發籌備 76
5.4 具體實現 77
5.4.1 實時代碼虛擬機 77
5.4.2 代碼執行記錄 89
5.4.3 C語言腳本即時編譯 95
5.4.4 代碼實時監控執行 103
5.4.5 高級調試功能 106
5.4.6 調試界麵改造 106
5.4.7 斷點增強 112
5.4.8 代碼迴溯 113
5.4.9 預執行 114
5.4.10 實時代碼塊記錄 114
5.4.11 腳本化增強調試 117
5.4.12 代碼DNA功能 123
5.5 效果演示 127
第6章 代碼虛擬機結構分析 129
6.1 虛擬機類型鑒彆 129
6.2 OP分支跳轉 132
6.3 OP分支探測 134
6.4 虛擬機棧 145
6.5 虛擬機Context 149
6.6 OPCODE編碼 152
6.7 虛擬機齣口 156
6.8 本章小結 162
第7章 OP分支功能性分析 163
7.1 統計分析法 163
7.2 棧平衡簡化分析法 165
7.3 不精確花型替換分析法 170
7.4 內存狀態著色分析法 173
7.5 內存訪問定位分析法 184
7.6 本章小結 187
第8章 對比測試分析 188
8.1 一般代碼對比分析法 188
8.2 OP分支執行對比分析法 194
8.3 內存訪問記錄對比分析法 201
8.4 嚴格現場對比分析法 202
8.5 本章小結 205
第9章 實時監控分析 206
9.1 一般代碼實時監控分析法 206
9.2 Context實時監控分析法 211
9.3 內存狀態實時同步監控分析法 216
9.4 塊執行實時監控分析法 225
9.5 本章小結 230
第10章 OP實時調試分析 231
10.1 虛擬OP實時調試 231
10.2 直接OP實時調試 234
10.3 OP實時調試演示 237
10.4 本章小結 241
第3部分 實例分析
第11章 Winlicense 2.3.2分析 244
11.1 加密流程分析 245
11.1.1 Winlicense主體框架 245
11.1.2 Shell代碼生成 249
11.2 Winlicense加密技術 252
11.3 代碼變形分析 256
11.4 代碼虛擬機分析 260
11.4.1 代碼虛擬機生成 260
11.4.2 FISH代碼虛擬機 267
11.4.3 TIGER代碼虛擬機 272
11.4.4 PUMA代碼虛擬機 274
11.4.5 SHARK代碼虛擬機 276
11.4.6 小結 278
11.5 OPCODE補丁 278
11.6 代碼還原 282
11.7 本章小結 286
第12章 VMProtect分析 287
12.1 代碼變形分析 287
12.2 OP分支DNA 289
12.3 OPCODE補丁 291
12.4 代碼還原 302
12.5 本章小結 305
第13章 xVMDebug插件 306
13.1 xVMDebug介紹 306
13.2 運行環境 306
13.3 文件結構 306
13.4 插件安裝 306
13.5 主要功能簡介 307
13.5.1 調試功能 307
13.5.2 腳本功能 309
13.5.3 函數監視功能 310
13.5.4 僞調試功能 311
13.5.5 遠端IDA功能 311
13.5.6 模塊注入功能 312
13.6 操作說明 313
13.6.1 選項設置窗口 313
13.6.2 增強界麵窗口 315
13.6.3 塊執行管理窗口 318
13.6.4 CALL記錄窗口 320
13.6.5 ASM窗口菜單 322
13.6.6 DUMP窗口菜單 322
在完成瞭《軟件保護及分析技術——原理與實踐》一書以後,迴顧該書的內容,發現基於該書的定位和目標,無法涉及更多軟件安全領域的高階技術,因此有瞭本書。
在現代軟件安全技術中,代碼加密技術,尤其是代碼虛擬加密技術,已經成為最為主要的,同時也是最為有效的軟件保護手段之一。盡管代碼虛擬化技術不斷成熟,但目前沒有足夠的相關文檔和信息被公開,這使代碼虛擬化技術成為一種封閉的“黑箱技術”,隻有少部分人纔能瞭解並運用它。
寫作目的
虛擬化技術在現代計算機技術中占據著越來越重要的位置。在現代計算機係統中,從硬件到軟件,從上層應用到係統底層,都需要虛擬化技術。
什麼是虛擬化?虛擬化是一個泛指,在計算機中是指將某種邏輯行為發生的環境進行更換,使這種邏輯行為在不同環境中的發生和運行都能得到相同的邏輯結果的技術。傳統的計算機虛擬化技術都是為瞭使程序在更加安全、穩定的環境中更加快捷、方便地完成特定的邏輯處理或者程序功能而設計的,但在計算機技術飛速發展的今天,很多事物都發生瞭質的變化,在虛擬化技術中同樣如此。於是,在現代的虛擬化技術中齣現瞭一個重要的分支——代碼虛擬化。
從廣義上說,代碼虛擬的目的也是使軟件的邏輯行為運行在一個更加安全的環境中,但與其他虛擬化技術不同的是,代碼虛擬化的安全目標是針對人而非計算機環境的,也就是說,代碼虛擬機的實質並不是從技術上使程序的實際代碼運行更加穩定或者更加安全,而是使代碼的運行過程更為復雜,從而使他人難以理解代碼自身的邏輯行為,防止代碼運行流程被篡改或逆嚮。代碼虛擬化技術的這種特徵,使其超齣瞭一般的技術範疇,成為一種在人與人之間藉助軟件安全進行博弈遊戲的載體。
徹底理解代碼虛擬化技術要從虛擬化和反虛擬化兩個方麵進行。在現代的代碼虛擬化技術中,傳統的反虛擬化技術的發展遠遠落後於虛擬化技術,而且遇到瞭難以跨越的障礙。這是因為隨著計算機運算速度的加快,虛擬化技術可以使用大量的計算機運算來實現代碼的虛擬化,大大膨脹和擴張虛擬化代碼量,使代碼的運行量達到一種難以人為進行分析的地步,從而使人工分析代碼的邏輯和行為變得不切實際。
針對這種情況,自動化分析技術應運而生。既然代碼虛擬可以利用計算機強大的運算能力,那麼自動化分析技術也可以運用計算機的運算能力來幫助我們更加方便地理解這些代碼。更富戲劇性的是,在自動化分析方麵,我們使用較多也較為有效的技術恰恰是代碼虛擬化技術,這就形成瞭利用虛擬化技術理解分析虛擬化技術的奇妙關係。在本書中,筆者將與讀者一起感受這個代碼中的虛擬世界。
本書內容
本書主要分成3部分來討論代碼虛擬和自動化分析技術。第1部分主要討論代碼虛擬的各種實現方法,並通過一些代碼虛擬化技術的應用案例引領讀者瞭解代碼虛擬化的技術基礎。第2部分主要介紹和討論代碼自動化分析技術,也就是針對我們瞭解的各種代碼虛擬化技術,對如何對其進行理解和利用進行自動化分析,並通過實際的代碼將自動化分析技術從理論變為實際程序,提升我們對自動化分析技術的理解和運用水平。第3部分使用自動化分析技術分析Winlicense與VMProtect保護係統,全麵展示自動化分析技術,並通過這種實際的分析過程深入體會代碼虛擬化技術。
章立春
2017年2月
代碼虛擬與自動化分析 下載 mobi pdf epub txt 電子書 格式 2024
代碼虛擬與自動化分析 下載 mobi epub pdf 電子書很好,內容很高端
評分太難,無趣
評分很好,內容很高端
評分相當牛
評分太難,無趣
評分很好,內容很高端
評分相當牛
評分不錯,不錯,不錯,不錯,不錯,不錯,不錯,不錯,不錯
評分好評好評好評好評好評好評好評好評好評好評好評好評好評好評好評好評好評好評好評好評好評好評好評好評好評好評好評好評
代碼虛擬與自動化分析 mobi epub pdf txt 電子書 格式下載 2024