注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)C++反匯編與逆向分析技術(shù)揭秘(第2版)

C++反匯編與逆向分析技術(shù)揭秘(第2版)

C++反匯編與逆向分析技術(shù)揭秘(第2版)

定 價(jià):¥139.00

作 者: 錢林松,張延清 著
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787111689911 出版時(shí)間: 2021-10-01 包裝: 平裝
開本: 16開 頁數(shù): 612 字?jǐn)?shù):  

內(nèi)容簡介

  內(nèi)容簡介這是一部系統(tǒng)講解反匯編與逆向分析技術(shù)原理、流程、方法和實(shí)用技巧的著作。本書第1版出版于2011年,10年來暢銷不衰,成為反匯編與逆向工程領(lǐng)域的標(biāo)志性著作,被數(shù)十萬安全工程師和C++工程師奉為瑰寶。在全球?qū)W術(shù)界和企業(yè)界都享有盛譽(yù),故第2版得到了全球15位安全技術(shù)專家的傾力推薦。第2版在技術(shù)、工具和案例等方面做了大量的更新和補(bǔ)充。通過本書,你將掌握以下知識(shí)或技能:?逆向分析技術(shù)的工具和原理;?逆向分析技術(shù)的流程和方法;?逆向分析技術(shù)的精髓和實(shí)用技巧;?軟件調(diào)試的技術(shù)原理,以及代碼運(yùn)行時(shí)的內(nèi)存表現(xiàn);?C++語法的實(shí)現(xiàn)機(jī)制和反匯編表現(xiàn)形式;全書共18章,分為三個(gè)部分:第1部分 準(zhǔn)備工作 (第1章)簡單地介紹了編譯器、調(diào)試器和反匯編靜態(tài)分析工具的使用方法以及反匯編引擎的工作原理;第二部分C++反匯編揭秘(第2~13章)以多種編譯器為例解析了每個(gè)C/C++知識(shí)點(diǎn)的匯編表現(xiàn)形式,通過整理反匯編代碼梳理流程和脈絡(luò),講解了調(diào)試和識(shí)別各種C/C++語句的方法,并且深入剖析各知識(shí)點(diǎn)的底層機(jī)制;第三部分 逆向分析技術(shù)應(yīng)用(第14~18章)通過對(duì)PEiD、調(diào)試器 OllyDbg、木馬、勒索病毒等實(shí)際應(yīng)用的逆向分析,帶領(lǐng)讀者領(lǐng)路逆向分析技術(shù)的魔力,并加深對(duì)所學(xué)理論知識(shí)的理解。

作者簡介

  作者簡介錢林松資深安全技術(shù)專家、軟件開發(fā)工程師和架構(gòu)師。從事計(jì)算機(jī)安全和軟件開發(fā)工作近20年,實(shí)踐經(jīng)驗(yàn)豐富,尤其精通軟件逆向分析技術(shù),對(duì)C/C++技術(shù)和Windows的底層機(jī)制也有非常深入的研究。武漢科銳軟件技術(shù)有限公司(國內(nèi)知名的安全教育機(jī)構(gòu))創(chuàng)始人,教學(xué)經(jīng)驗(yàn)豐富,多年來,為國內(nèi)計(jì)算機(jī)安全領(lǐng)域培養(yǎng)和輸送了大量的人才。活躍于看雪論壇,有較高的知名度和影響力。張延清軟件逆向教育專家,看雪論壇技術(shù)專家。2004年從事數(shù)控機(jī)床加工編程,2006年進(jìn)入游戲編程及C/C++開發(fā)與逆向分析領(lǐng)域,2011年就職于武漢科銳軟件技術(shù)有限公司,任技術(shù)總監(jiān)兼授課老師。創(chuàng)立國內(nèi)Android軟件逆向分析教育課程體系,該課程體系被多家培訓(xùn)教育機(jī)構(gòu)采用。科銳·安全實(shí)訓(xùn)領(lǐng)軍者科銳(www.51asm.com)創(chuàng)辦自2007年,一直專注于逆向分析人才培養(yǎng),畢業(yè)學(xué)員逾千人,廣泛就業(yè)于各安全企業(yè),從事技術(shù)與技術(shù)管理工作??其J通過一套嚴(yán)格的科學(xué)考核體系,確保學(xué)員對(duì)每一個(gè)知識(shí)點(diǎn)的掌握,從而保證教學(xué)質(zhì)量,使每一個(gè)畢業(yè)學(xué)員都能符合企業(yè)的用人需求。真正實(shí)現(xiàn)以實(shí)踐為主的實(shí)訓(xùn)理念,是我們最終的實(shí)訓(xùn)目標(biāo)。

圖書目錄

贊譽(yù)
序一
序二
序三
前言
第一部分 準(zhǔn)備工作
第1章 熟悉工作環(huán)境和相關(guān)工具2
1.1 安裝Visual Studio 20192
1.2 安裝GCC6
1.3 調(diào)試工具OllyDbg12
1.4 調(diào)試工具x64dbg14
1.5 調(diào)試工具WinDbg15
1.6 反匯編靜態(tài)分析工具IDA17
1.7 反匯編引擎的工作原理22
1.8 本章小結(jié)27
第二部分 C++反匯編揭秘
第2章 基本數(shù)據(jù)類型的表現(xiàn)形式30
2.1 整數(shù)類型30
2.1.1 無符號(hào)整數(shù)30
2.1.2 有符號(hào)整數(shù)31
2.2 浮點(diǎn)數(shù)類型32
2.2.1 浮點(diǎn)數(shù)的編碼方式33
2.2.2 基本的浮點(diǎn)數(shù)指令35
2.3 字符和字符串43
2.3.1 字符的編碼43
2.3.2 字符串的存儲(chǔ)方式44
2.4 布爾類型45
2.5 地址、指針和引用46
2.5.1 指針和地址的區(qū)別46
2.5.2 各類型指針的工作方式47
2.5.3 引用56
2.6 常量60
2.6.1 常量的定義60
2.6.2 #define和const的區(qū)別62
2.7 本章小結(jié)65
第3章 認(rèn)識(shí)啟動(dòng)函數(shù),找到用戶入口66
3.1 程序的真正入口66
3.2 了解VS2019的啟動(dòng)函數(shù)66
3.3 main函數(shù)的識(shí)別70
3.4 本章小結(jié)71
第4章 觀察各種表達(dá)式的求值過程72
4.1 算術(shù)運(yùn)算和賦值72
4.1.1 各種算術(shù)運(yùn)算的工作形式72
4.1.2 算術(shù)結(jié)果溢出130
4.1.3 自增和自減131
4.2 關(guān)系運(yùn)算和邏輯運(yùn)算136
4.2.1 關(guān)系運(yùn)算和條件跳轉(zhuǎn)的對(duì)應(yīng)136
4.2.2 表達(dá)式短路137
4.2.3 條件表達(dá)式141
4.3 位運(yùn)算149
4.4 編譯器使用的優(yōu)化技巧152
4.4.1 流水線優(yōu)化規(guī)則155
4.4.2 分支優(yōu)化規(guī)則158
4.4.3 高速緩存優(yōu)化規(guī)則159
4.5 一次算法逆向之旅159
4.6 本章小結(jié)164
第5章 流程控制語句的識(shí)別165
5.1 if語句165
5.2 if…else…語句168
5.3 用if構(gòu)成的多分支流程174
5.4 switch的真相180
5.5 難以構(gòu)成跳轉(zhuǎn)表的switch196
5.6 降低判定樹的高度201
5.7 do、while、for的比較206
5.8 編譯器對(duì)循環(huán)結(jié)構(gòu)的優(yōu)化214
5.9 本章小結(jié)220
第6章 函數(shù)的工作原理221
6.1 棧幀的形成和關(guān)閉221
6.2 各種調(diào)用方式的考察222
6.3 使用ebp或esp尋址226
6.4 函數(shù)的參數(shù)230
6.5 函數(shù)的返回值232
6.6 x64調(diào)用約定235
6.7 本章小結(jié)238
第7章 變量在內(nèi)存中的位置和訪問方式239
7.1 全局變量和局部變量的區(qū)別239
7.2 局部靜態(tài)變量的工作方式247
7.3 堆變量252
7.4 本章小結(jié)256
第8章 數(shù)組和指針的尋址257
8.1 數(shù)組在函數(shù)內(nèi)257
8.2 數(shù)組作為參數(shù)266
8.3 數(shù)組作為返回值270
8.4 下標(biāo)尋址和指針尋址276
8.5 多維數(shù)組282
8.6 存放指針類型數(shù)據(jù)的數(shù)組288
8.7 指向數(shù)組的指針變量290
8.8 函數(shù)指針296
8.9 本章小結(jié)299
第9章 結(jié)構(gòu)體和類300
9.1 對(duì)象的內(nèi)存布局300
9.2 this指針305
9.3 靜態(tài)數(shù)據(jù)成員311
9.4 對(duì)象作為函數(shù)參數(shù)314
9.5 對(duì)象作為返回值322
9.6 本章小結(jié)329
第10章 構(gòu)造函數(shù)和析構(gòu)函數(shù)331
10.1 構(gòu)造函數(shù)的出現(xiàn)時(shí)機(jī)331
10.2 每個(gè)對(duì)象是否都有默認(rèn)的構(gòu)造函數(shù)353
10.3 析構(gòu)函數(shù)的出現(xiàn)時(shí)機(jī)355
10.4 本章小結(jié)375
第11章 虛函數(shù)377
11.1 虛函數(shù)的機(jī)制377
11.2 虛函數(shù)的識(shí)別383
11.3 本章小結(jié)389
第12章 從內(nèi)存角度看繼承和多重繼承391
12.1 識(shí)別類和類之間的關(guān)系392
12.2 多重繼承418
12.3 抽象類426
12.4 虛繼承428
12.5 本章小結(jié)443
第13章 異常處理445
13.1 異常處理的相關(guān)知識(shí)445
13.2 異常類型為基本數(shù)據(jù)類型的處理流程451
13.3 異常類型為對(duì)象的處理流程459
13.4 識(shí)別異常處理464
13.5 x64異常處理475
13.5.1 RUNTIME_FUNCTION結(jié)構(gòu)476
13.5.2 UNWIND_INFO結(jié)構(gòu)476
13.5.3 UNWIND_CODE結(jié)構(gòu)478
13.5.4 特定于語言的處理程序478
13.5.5 x64 FuncInfo的變化479
13.5.6 還原x64的try…catch481
13.6 本章小結(jié)484
第三部分 逆向分析技術(shù)應(yīng)用
第14章 PEiD的工作原理分析486
14.1 開發(fā)環(huán)境的識(shí)別486
14.2 開發(fā)環(huán)境的偽造494
14.3 本章小結(jié)497
第15章 調(diào)試器OllyDbg的工作原理分析498
15.1 INT3斷點(diǎn)498
15.2 內(nèi)存斷點(diǎn)503
15.3 硬件斷點(diǎn)507
15.4 異常處理機(jī)制513
15.5 加載調(diào)試程序519
15.6 本章小結(jié)522
第16章 大灰狼遠(yuǎn)控木馬逆向分析523
16.1 調(diào)試環(huán)境配置523
16.2 病毒程序初步分析524
16.3 啟動(dòng)過程分析525
16.4 通信協(xié)議分析532
16.5 遠(yuǎn)控功能分析536
16.6 本章小結(jié)551
第17章 WannaCry勒索病毒逆向分析552
17.1 tasksche.exe勒索程序逆向分析552
17.1.1 病毒初始化552
17.1.2 加載病毒核心代碼558
17.1.3 病毒核心代碼562
17.2 mssecsvc.exe蠕蟲程序逆向分析569
17.2.1 蠕蟲病毒代碼初始化569
17.2.2 發(fā)送漏洞攻擊代碼573
17.3 永恒之藍(lán)MS17-010漏洞原理分析577
17.3.1 漏洞1利用分析577
17.3.2 漏洞2利用分析583
17.3.3 漏洞3利用分析584
17.4 本章小結(jié)586
第18章 反匯編代碼的重建與編譯587
18.1 重建反匯編代碼587
18.2 編譯重建后的反匯編代碼590
18.3 本章小結(jié)591
參考文獻(xiàn)592

本目錄推薦

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