軟件保護及分析技術——原理與實踐 软件保护及分析技术:原理与实践

章立春

  • 出版商: 電子工業出版社
  • 出版日期: 2016-08-01
  • 定價: CNY $79.00
  • 售價: $474
  • 貴賓價: 9.5$450
  • 語言: 簡體中文
  • 頁數: 403
  • 裝訂: 平裝
  • ISBN: 7121292645
  • ISBN-13: 9787121292644

立即出貨 (庫存=1)

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

商品描述

<內容簡介>

“即便在戰時,日常生活最終要恢復它的權利。”作者從物質文化與視覺文化入手,基於日常生活語境及其散落於其中的風物與體驗,在晚清民國這段文化混雜與價值觀斷裂的時代,描摹出中國設計意識早期萌芽過程的陣痛。夾攜在民族主義的國家話語與消費主義的日常生活慾望之間,身處民族與個人、東方與西方、傳統與現代等各種文化博弈的網絡之中,讀者或許能夠理解:為什麼在20世紀30年代幾乎與全球設計列車同步的中國設計未能發生近在咫尺的現代主義轉型。

本書對軟件安全領域的保護與分析技術進行了全面的討論和剖析,通過保護與分析的對比講解,結合代碼和操作流程,對軟件安全領域的各種技術進行了詳盡的討論,並將理論與實踐相結合,利用具體的程序代碼進行演示。同時,對現今較為成熟的保護系統進行了分析,全面介紹了軟件安全領域的保護與分析技術。最後,結合多年從事軟件軟件保護與分析的經驗,講解了軟件保護與分析中的各種經驗和技巧。

<章節目錄>

第0章準備知識1
0.1 Win32程序1
0.2PE程序文件3
0.3Win32進程的啟動5
0.4PE程序的加載7
第1部分軟件保護
第1章軟件保護技術11
1.1反調試11
1.1.1函數檢測12
1.1 .2數據檢測12
1.1.3符號檢測13
1.1.4窗口檢測13
1.1.5特徵碼檢測14
1.1.6行為檢測14
1.1.7斷點檢測15
1.1.8功能破壞16
1.1.9行為佔用16
1.2反虛擬機17
1.3數據校驗18
1.4導入表加密19
1.5模塊拷貝移位27
1.6資源加密29
1.7代碼加密30
1.7.1代碼變形30
1.7.2花指令33
1.7.3代碼亂序33
1.7.4多分支35
1.7.5call鏈36
1.8代碼虛擬化37
1.8.1堆機39
1.8.2棧機40
1.8.3狀態機42
1.9腳本引擎42
1.10網絡加密42
1.11硬件加密42
1.12代碼簽名43
第2章軟件保護系統44
2.1保護功能44
2.1.1試用控制44
2.1.2授權控制45
2.1.3功能擴展45
2.2保護系統45
2.2.1WinLicense和Themida46
2.2.2VMProtect47
第3章軟件保護強化48
3.1設計優化49
3.1 .1技巧1:代碼習慣優化49
3.1.2技巧2:SDK使用優化51
3.1.3技巧3:驗證保護系統52
3.2加殼優化52
3.2.1技巧1:側重選擇代碼加密53
3.2.2技巧2 :精選被保護代碼54
3.2.3技巧3:充分測試55
第2部分軟件破解
第4章軟件破解工具58
4.1調試分析工具58
4.1.1OllyDbg58
4.1.2WinDBG59
4.1.3IDA60
4.2修改工具60
4.2.1LordPE60
4.2 .2010Editor61
4.3自動化工具61
第5章軟件破解技術62
5.1靜態分析63
5.1.1基本信息分析63
5.1.2代碼靜態分析67
5.2軟件調試68
5.2.1一般調試原理68
5.2.2偽調試技術72
5.2 .3本地調試73
5.2.4遠程調試74
5.2.5虛擬機調試76
5.3反反調試77
5.4HOOK78
5.4.1代碼HOOK79
5.4.2函數HOOK86
5.4.3模塊HOOK86
5.4.4導出表HOOK92
5.5代碼註入94
5.6補丁101
5.6.1冷補丁101
5.6.2熱補丁102
5.6.3SMC102
5.6.4虛擬化補丁103
5.7模塊重定位103
5.8沙箱技術104
5.9虛擬化106
5.10代碼虛擬機107
5.10.1OP分支探測108
5.10.2OP調試113
5.11自動化技術114
5.11.1代碼追蹤114
5.11.2預執行118
5.11.3代碼簡化120
5.11.4代碼重建124
5.11.5塊執行125
5.11.6多分支剔除126
5.11.7小結129
5.12動態分析129
5.12.1著色129
5.12.2黑盒測試132
5.13功能模擬132
5.13.1授權模擬132
5.13.2網絡模擬134
5.13.3加密狗模擬134
5.14脫殼134
5.14.1導入表重建135
5.14.2資源重建149
5.14.3區段重建152
5.14.4OEP定位154
5.14.5PE頭修復159
5.14.6重定位修復159
5.14.7PE重建163
5.14.8補區段164
5.15進程快照技術166
5.15 .1進程快照技術概述166
5.15.2快照脫殼178
5.16代碼回溯技術180
第6章軟件分析技巧184
6.1技巧1:精確代碼範圍184
6.2技巧2:多用對比參考186
6.3技巧3:逆向思考187
6.4技巧4:多利用自動化優勢187
6.5技巧5:利用環境優勢187
6.6技巧6:盡量避免算法分析187
6.7技巧7:夠用原則188
第3部分自己動手
第7章打造函數監視器190
7.1制定功能190
7.2確定技術方案191
7.3開發籌備192
7.4具體實現193
7.4.1啟動目標進程並註入xVMRuntime模塊196
7.4.2通信協議199
7.4.3事件設定201
7.4.4輔助調試功能216
7.4.5技術問題217
7.5效果演示217
第8章打造資源重建工具220
8.1制定功能220
8.2確定技術方案220
8.3開發籌備222
8.4具體實現222
8.4.1數據結構及通信協議222
8.4.2獲取內存段資源數據223
8.4.3監控資源函數獲取數據225
8.4.4強制搜索內存窮舉獲取數據227
8.4.5重建資源區段230
8.4.6技術問題234
8.5效果演示235
第9章打造重定位修復工具238
9.1制定功能238
9.2確定技術方案238
9.3開發籌備239
9.4具體實現239
9.4.1通信協議239
9.4.2註入模塊240
9.4.3抓取內存快照240
9.4.4對比內存數據244
9.4.5重建重定位區段245
9.5效果演示248
9.5.1DLL模塊重定位修復249
9.5.2主模塊重定位修復251
第10章打造進程拍照機253
10.1制定功能253
10.2確定技術方案253
10.3開發籌備255
10.4具體實現255
10.4.1先期模塊註入255
10.4.2接管進程內存管理261
10.4.3建立函數調用中間層268
10.4.4實現場景加載功能269
10.4.5轉儲並修正映像及相關數據270
10.4.6增加TIB轉儲274
10.5效果演示276
10.5.1WinLicense測試276
10.5.2VMProtect測試279
第11章打造函數通用追蹤器281
11.1制定功能281
11.2確定技術方案281
11.3開發籌備282
11.4具體實現283
11.4.1建立插件框架283
11.4.2分層式虛擬機284
11.4.3調用代碼查找識別287
11.5追蹤函數294
11.6重建導入表299
11.7修復調用代碼304
11.7.1內存式修復305
11.7.2文件式修復307
11.8效果演示309
第12章打造預執行調試器312
12.1制定功能312
12.2確定技術方案312
12.3開發籌備313
12.4具體實現313
12.4.1預執行功能313
12.4.2代碼追蹤記錄功能317
12.4.3塊執行功能321
12.4.4OP記錄調試功能327
12.5效果演示331
第13章打造偽調試器335
13.1制定功能335
13.2確定技術方案335
13.3開發籌備336
13.4具體實現336
13.4.1數據結構與通信協議337
13.4.2第1步:界面相關工作338
13.4.3第2步:在調試端啟用和禁用偽調試技術339
13.4.4第3步:創建調試目標341
13.4.5第4步:等待調試事件主循環344
13.4.6第5步:被調試端的初始化346
13.4 .7第6步:中轉異常349
13.4.8第7步:輔助調試函數實現350
13.4.9小結354
13.5效果演示354
第4部分實例分析
第14章VMProtect虛擬機分析358
第15章WinLicense虛擬機分析375
第5部分脫殼實例
第16章VMProtect脫殼382
第17章WinLicense脫殼394
寫在最後405