代碼虛擬與自動化分析 代码虚拟与自动化分析

章立春

  • 出版商: 電子工業
  • 出版日期: 2017-10-01
  • 定價: $474
  • 售價: 7.9$374
  • 貴賓價: 7.5$356
  • 語言: 簡體中文
  • 頁數: 322
  • 裝訂: 平裝
  • ISBN: 7121320762
  • ISBN-13: 9787121320767
  • 立即出貨

買這商品的人也買了...

商品描述

本書主要分成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