日韩精品 中文字幕 动漫,91亚洲午夜一区,在线不卡日本v一区v二区丶,久久九九国产精品自在现拍

注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)其他編程語(yǔ)言/工具軟件加密與解密:全面權(quán)威的軟件保護(hù)指南

軟件加密與解密:全面權(quán)威的軟件保護(hù)指南

軟件加密與解密:全面權(quán)威的軟件保護(hù)指南

定 價(jià):¥99.00

作 者: (美)科爾伯格 (Collberg,C.) ,(美) 納蓋雷 (Nagra,J.) 著,崔孝晨譯
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 程序設(shè)計(jì)

ISBN: 9787115270757 出版時(shí)間: 2012-05-01 包裝: 平裝
開本: 16開 頁(yè)數(shù): 601 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  對(duì)抗軟件盜版、篡改和惡意逆向工程的理論、技巧和工具近十年來(lái),人們?cè)谲浖辣I版和防篡改技術(shù)的研發(fā)上取得了重大進(jìn)展。這些技術(shù)在保護(hù)軟件開發(fā)人員的知識(shí)產(chǎn)權(quán)方面具有不可替代的作用。無(wú)論是研究人員、在校學(xué)生,還是開發(fā)人員,要了解這些技術(shù)及其能提供的安全級(jí)別和可能引發(fā)的性能開銷,都可以從本書獲得權(quán)威、全面的參考資料。Christian Collberg和Jasvir Nagra在書中詳盡地介紹了相關(guān)技術(shù),涵蓋了計(jì)算機(jī)科學(xué)的各個(gè)相關(guān)領(lǐng)域,包括密碼學(xué)、隱寫術(shù)、水印、軟件度量、逆向工程和編譯優(yōu)化等。本書通過(guò)大量的示例代碼,向讀者展示了代碼混淆、軟件水印、代碼防篡改和“胎記”技術(shù)等保護(hù)算法的實(shí)現(xiàn)方式,并且從理論和實(shí)踐兩個(gè)角度探討了這些技術(shù)的局限。涵蓋的內(nèi)容攻擊者和防御者用來(lái)分析程序的各種主要方法代碼混淆技術(shù),用于提高程序被分析和理解的難度軟件水印和指紋,用于標(biāo)識(shí)軟件開發(fā)者并追蹤盜版代碼防篡改技術(shù),用于檢測(cè)和響應(yīng)非法修改代碼和數(shù)據(jù)的行為,從而保護(hù)軟件動(dòng)態(tài)水印和動(dòng)態(tài)混淆技術(shù),用于阻止軟件的非法復(fù)制軟件相似性分析和“胎記”算法,用于檢測(cè)代碼剽竊硬件技術(shù),用于保護(hù)軟件及各類媒體免遭盜版和篡改在分布式系統(tǒng)中,檢測(cè)遠(yuǎn)端不可信平臺(tái)上運(yùn)行的軟件是否被篡改代碼混淆技術(shù)在理論上的局限性

作者簡(jiǎn)介

  Christian Collberg瑞典隆德大學(xué)計(jì)算機(jī)科學(xué)博士,亞利桑那州立大學(xué)計(jì)算機(jī)科學(xué)系副教授,從事代碼混淆、軟件水印和“胎記”方面的基礎(chǔ)性研究工作。他曾在新西蘭奧克蘭大學(xué)及中國(guó)科學(xué)院工作過(guò)。Jasvir Nagra 專注于設(shè)計(jì)強(qiáng)壯的動(dòng)態(tài)水印算法,曾致力于通過(guò)代碼混淆和防篡改技術(shù)保護(hù)運(yùn)行在遠(yuǎn)程不可信平臺(tái)上的軟件的完整性。目前,他任職于谷歌公司,在加利福尼亞州從事與基于編程語(yǔ)言的安全性有關(guān)的研究工作。

圖書目錄

第1章   什么是隱蔽軟件    1
1.1   概述    1
1.2   攻擊和防御    5
1.3   程序分析的方法    6
1.4   代碼混淆    11
1.4.1   代碼混淆的應(yīng)用    13
1.4.2   混淆技術(shù)概述    17
1.4.3   被黑客們使用的代碼混淆技術(shù)    21
1.5   防篡改技術(shù)    27
1.5.1   防篡改技術(shù)的應(yīng)用    27
1.5.2   防篡改技術(shù)的例子    29
1.6   軟件水印    30
1.6.1   軟件水印的例子    32
1.6.2   攻擊水印系統(tǒng)    34
1.7   軟件相似性比對(duì)    36
1.7.1   代碼剽竊    36
1.7.2   軟件作者鑒別    37
1.7.3   軟件“胎記”    38
1.7.4   軟件“胎記”的案例    40
1.8   基于硬件的保護(hù)技術(shù)    41
1.8.1   把硬件加密鎖和軟件一起發(fā)售    42
1.8.2   把程序和CPU綁定在一起    43
1.8.3   確保軟件在安全的環(huán)境中執(zhí)行    43
1.8.4   加密可執(zhí)行文件    44
1.8.5   增添物理防護(hù)    45
1.9   小結(jié)    46
1.9.1   使用軟件保護(hù)技術(shù)的理由    46
1.9.2   不使用軟件保護(hù)技術(shù)的理由    47
1.9.3   那我該怎么辦呢    47
1.10   一些說(shuō)明    48
第2章   攻擊與防御的方法    49
2.1   攻擊的策略    50
2.1.1   被破解對(duì)象的原型    50
2.1.2   破解者的動(dòng)機(jī)    52
2.1.3   破解是如何進(jìn)行的    54
2.1.4   破解者會(huì)用到的破解方法    55
2.1.5   破解者都使用哪些工具    58
2.1.6   破解者都會(huì)使用哪些技術(shù)    59
2.1.7   小結(jié)    69
2.2   防御方法    70
2.2.1   一點(diǎn)說(shuō)明    71
2.2.2   遮掩    73
2.2.3   復(fù)制    75
2.2.4   分散與合并    78
2.2.5   重新排序    80
2.2.6   映射    81
2.2.7   指引    84
2.2.8   模仿    85
2.2.9   示形    87
2.2.10   條件—觸發(fā)    88
2.2.11   運(yùn)動(dòng)    90
2.2.12   小結(jié)    91
2.3   結(jié)論    92
2.3.1   對(duì)攻擊/防御模型有什么要求    92
2.3.2   該如何使用上述模型設(shè)計(jì)算法    93
第3章   分析程序的方法    94
3.1   靜態(tài)分析    95
3.1.1   控制流分析    95
3.1.2   數(shù)據(jù)流分析    103
3.1.3   數(shù)據(jù)依賴分析    107
3.1.4   別名分析    109
3.1.5   切片    115
3.1.6   抽象解析    116
3.2   動(dòng)態(tài)分析    118
3.2.1   調(diào)試    118
3.2.2   剖分    129
3.2.3   trace    132
3.2.4   模擬器    135
3.3   重構(gòu)源碼    137
3.3.1   反匯編    139
3.3.2   反編譯    146
3.4   實(shí)用性分析    155
3.4.1   編程風(fēng)格度量    156
3.4.2   軟件復(fù)雜性度量    158
3.4.3   軟件可視化    159
3.5   小結(jié)    162
第4章   代碼混淆    163
4.1   保留語(yǔ)義的混淆轉(zhuǎn)換    164
4.1.1   算法OBFCF:多樣化轉(zhuǎn)換    164
4.1.2   算法OBFTP:標(biāo)識(shí)符重命名    170
4.1.3   混淆的管理層    173
4.2   定義    177
4.2.1   可以實(shí)用的混淆轉(zhuǎn)換    178
4.2.2   混淆引發(fā)的開銷    181
4.2.3   隱蔽性    181
4.2.4   其他定義    182
4.3   復(fù)雜化控制流    183
4.3.1   不透明表達(dá)式    183
4.3.2   算法OBFWHKD:壓扁控制流    184
4.3.3   使用別名    186
4.3.4   算法OBFCTJbogus:插入多余的控制流   191
4.3.5   算法OBFLDK:通過(guò)跳轉(zhuǎn)函數(shù)執(zhí)行無(wú)條件轉(zhuǎn)移指令   195
4.3.6   攻擊    198
4.4   不透明謂詞    201
4.4.1   算法OBFCTJpointer:從指針別名中產(chǎn)生不透明謂詞   202
4.4.2   算法OBFWHKDopaque:數(shù)組別名分析中的不透明值   204
4.4.3   算法OBFCTJthread:從并發(fā)中產(chǎn)生的不透明謂詞   205
4.4.4   攻擊不透明謂詞    207
4.5   數(shù)據(jù)編碼    211
4.5.1   編碼整型數(shù)    213
4.5.2   混淆布爾型變量    217
4.5.3   混淆常量數(shù)據(jù)    220
4.5.4   混淆數(shù)組    222
4.6   結(jié)構(gòu)混淆    226
4.6.1   算法OBFWCsig:合并函數(shù)簽名    226
4.6.2   算法OBFCTJclass:分解和合并類    229
4.6.3   算法OBFDMRVSL:摧毀高級(jí)結(jié)構(gòu)    232
4.6.4   算法OBFAJV:修改指令編碼方式    239
4.7   小結(jié)    243
第5章   混淆理論    245
5.1   定義    248
5.2   可被證明是安全的混淆:我們能做到嗎    249
5.2.1   圖靈停機(jī)問(wèn)題    250
5.2.2   算法REAA:對(duì)程序進(jìn)行反混淆    252
5.3   可被證明是安全的混淆:有時(shí)我們能做到    254
5.3.1   算法OBFLBS:混淆點(diǎn)函數(shù)    254
5.3.2   算法OBFNS:對(duì)數(shù)據(jù)庫(kù)進(jìn)行混淆    261
5.3.3   算法OBFPP:同態(tài)加密    263
5.3.4   算法OBFCEJO:白盒DES加密    267
5.4   可被證明是安全的混淆:(有時(shí)是)不可能完成的任務(wù)   272
5.4.1   通用混淆器    273
5.4.2   混淆最簡(jiǎn)單的程序    276
5.4.3   對(duì)混淆所有程序的不可能性的證明    277
5.4.4   小結(jié)    278
5.5   可被證明為安全的混淆:這玩兒還能成嗎    279
5.5.1   跳出不可能性的陰霾    280
5.5.2   重新審視定義:構(gòu)造交互式的混淆方法    281
5.5.3   重新審視定義:如果混淆不保留語(yǔ)義又當(dāng)如何    283
5.6   小結(jié)    286
第6章   動(dòng)態(tài)混淆    288
6.1   定義    290
6.2   代碼遷徙    292
6.2.1   算法OBFKMNM:替換指令    293
6.2.2   算法OBFAGswap:自修改狀態(tài)機(jī)    296
6.2.3   算法OBFMAMDSB:動(dòng)態(tài)代碼合并    307
6.3   加密技術(shù)    311
6.3.1   算法OBFCKSP:把代碼作為產(chǎn)生密鑰的源泉   312
6.3.2   算法OBFAGcrypt:結(jié)合自修改代碼和加密   318
6.4   小結(jié)    324
第7章   軟件防篡改    325
7.1   定義    327
7.1.1   對(duì)篡改的監(jiān)測(cè)    328
7.1.2   對(duì)篡改的響應(yīng)    331
7.1.3   系統(tǒng)設(shè)計(jì)    332
7.2   自監(jiān)測(cè)    333
7.2.1   算法TPCA:防護(hù)代碼之網(wǎng)    335
7.2.2   生成hash函數(shù)    338
7.2.3   算法TPHMST:隱藏hash值    342
7.2.4   Skype中使用的軟件保護(hù)技術(shù)    349
7.2.5   算法REWOS:攻擊自hash算法    352
7.2.6   講評(píng)    356
7.3   算法RETCJ:響應(yīng)機(jī)制    357
7.4   狀態(tài)自檢    360
7.4.1   算法TPCVCPSJ:易遭忽視的hash函數(shù)   362
7.4.2   算法TPJJV:重疊的指令    365
7.5   遠(yuǎn)程防篡改    368
7.5.1   分布式監(jiān)測(cè)和響應(yīng)機(jī)制    368
7.5.2   解決方案    369
7.5.3   算法TPZG:拆分函數(shù)    369
7.5.4   算法TPSLSPDK:通過(guò)確保遠(yuǎn)程機(jī)器硬件配置來(lái)防篡改   372
7.5.5   算法TPCNS:對(duì)代碼進(jìn)行持續(xù)的改變    375
7.6   小結(jié)    376
第8章   軟件水印    378
8.1   歷史和應(yīng)用    378
8.1.1   應(yīng)用    379
8.1.2   在音頻中嵌入水印    382
8.1.3   在圖片中嵌入水印    383
8.1.4   在自然語(yǔ)言文本中嵌入水印    384
8.2   軟件水印    387
8.3   定義    388
8.3.1   水印的可靠性    389
8.3.2   攻擊    391
8.3.3   水印與指紋    392
8.4   使用重新排序的方法嵌入水印    392
8.4.1   算法WMDM:重新排列基本塊    394
8.4.2   重新分配資源    396
8.4.3   算法WMQP:提高可靠性    397
8.5   防篡改水印    400
8.6   提高水印的抗干擾能力    403
8.7   提高隱蔽性    408
8.7.1   算法WMMIMIT:替換指令    409
8.7.2   算法WMVVS:在控制流圖中嵌入水印    409
8.7.3   算法WMCC:抽象解析    416
8.8   用于隱寫術(shù)的水印    421
8.9   把水印值分成幾個(gè)片段    425
8.9.1   把大水印分解成幾個(gè)小片段    426
8.9.2   相互冗余的水印片段    427
8.9.3   使用稀疏編碼提高水印的可靠性    432
8.10   圖的編/解碼器    432
8.10.1   父指針導(dǎo)向樹    433
8.10.2   底數(shù)圖    433
8.10.3   排序圖    434
8.10.4   根延伸的平面三叉樹枚舉編碼    434
8.10.5   可歸約排序圖    435
8.11   講評(píng)    436
8.11.1   嵌入技術(shù)    437
8.11.2   攻擊模型    438
第9章   動(dòng)態(tài)水印    439
9.1   算法WMCT:利用別名    443
9.1.1   一個(gè)簡(jiǎn)單的例子    443
9.1.2   水印識(shí)別中的問(wèn)題    445
9.1.3   增加數(shù)據(jù)嵌入率    447
9.1.4   增加抵御攻擊的抗干擾性能    452
9.1.5   增加隱蔽性    455
9.1.6   講評(píng)    458
9.2   算法WMNT:利用并發(fā)    459
9.2.1   嵌入水印的基礎(chǔ)構(gòu)件    462
9.2.2   嵌入示例    467
9.2.3   識(shí)別    469
9.2.4   避免模式匹配攻擊    470
9.2.5   對(duì)構(gòu)件進(jìn)行防篡改處理    471
9.2.6   講評(píng)    473
9.3   算法WMCCDKHLSpaths:擴(kuò)展執(zhí)行路徑    474
9.3.1   水印的表示和嵌入    474
9.3.2   識(shí)別    479
9.3.3   講評(píng)    480
9.4   算法WMCCDKHLSbf:防篡改的執(zhí)行路徑    481
9.4.1   嵌入    481
9.4.2   識(shí)別    484
9.4.3   對(duì)跳轉(zhuǎn)函數(shù)進(jìn)行防篡改加固    484
9.4.4   講評(píng)    485
9.5   小結(jié)    486
第10章   軟件相似性分析    489
10.1   應(yīng)用    490
10.1.1   重復(fù)代碼篩選    490
10.1.2   軟件作者鑒別    492
10.1.3   剽竊檢測(cè)    495
10.1.4   胎記檢測(cè)    496
10.2   定義    497
10.3   基于k-gram的分析    501
10.3.1   算法SSSWAwinnow:有選擇地記錄k-gramhash    501
10.3.2   算法SSSWAMOSS:軟件剽竊檢測(cè)    504
10.3.3   算法SSMCkgram:Java字節(jié)碼的k-gram“胎記”    507
10.4   基于API的分析    509
10.4.1   算法SSTNMM:面向?qū)ο蟮摹疤ビ洝?nbsp;   510
10.4.2   算法SSTONMM:動(dòng)態(tài)函數(shù)調(diào)用“胎記”    512
10.4.3   算法SSSDL:動(dòng)態(tài)k-gram API“胎記”   513
10.5   基于樹的分析    514
10.6   基于圖的分析    518
10.6.1   算法SSKH:基于PDG的重復(fù)代碼篩選    518
10.6.2   算法SSLCHY:基于PDG的剽竊檢測(cè)    521
10.6.3   算法SSMCwpp:整個(gè)程序的動(dòng)態(tài)“胎記”   522
10.7   基于軟件度量的分析方法    525
10.7.1   算法SSKK:基于軟件度量的重復(fù)代碼篩選    525
10.7.2   算法SSLM:基于度量的軟件作者鑒別    527
10.8   小結(jié)    532
第11章   用硬件保護(hù)軟件    534
11.1   使用發(fā)行的物理設(shè)備反盜版    535
11.1.1   對(duì)發(fā)行盤片的保護(hù)    536
11.1.2   軟件狗和加密鎖    541
11.2   通過(guò)可信平臺(tái)模塊完成認(rèn)證啟動(dòng)    545
11.2.1   可信啟動(dòng)    546
11.2.2   產(chǎn)生評(píng)估結(jié)果    548
11.2.3   TPM    550
11.2.4   盤問(wèn)式驗(yàn)證過(guò)程    551
11.2.5   社會(huì)可信性和隱私問(wèn)題    553
11.2.6   應(yīng)用和爭(zhēng)議    555
11.3   加密的可執(zhí)行文件    556
11.3.1   XOM體系結(jié)構(gòu)    557
11.3.2   阻止重放攻擊    560
11.3.3   修補(bǔ)有漏洞的地址總線    561
11.3.4   修補(bǔ)有漏洞的數(shù)據(jù)總線    564
11.3.5   講評(píng)    565
11.4   攻擊防篡改設(shè)備    565
11.4.1   監(jiān)聽總線——破解微軟的XBOX    566
11.4.2   猜測(cè)指令——破解達(dá)拉斯半導(dǎo)體公司的DS5002FP微處理器   567
11.4.3   破解智能卡    570
11.4.4   非侵入式攻擊    573
11.4.5   主板級(jí)的保護(hù)    574
11.5   小結(jié)    576
參考文獻(xiàn)    578
  

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) rgspecialties.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)