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

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

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

定 價:¥139.00

作 者: 錢林松,張延清 著
出版社: 機械工業(yè)出版社
叢編項:
標 簽: 暫缺

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

內(nèi)容簡介

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

作者簡介

  作者簡介錢林松資深安全技術(shù)專家、軟件開發(fā)工程師和架構(gòu)師。從事計算機安全和軟件開發(fā)工作近20年,實踐經(jīng)驗豐富,尤其精通軟件逆向分析技術(shù),對C/C++技術(shù)和Windows的底層機制也有非常深入的研究。武漢科銳軟件技術(shù)有限公司(國內(nèi)知名的安全教育機構(gòu))創(chuàng)始人,教學經(jīng)驗豐富,多年來,為國內(nèi)計算機安全領(lǐng)域培養(yǎng)和輸送了大量的人才?;钴S于看雪論壇,有較高的知名度和影響力。張延清軟件逆向教育專家,看雪論壇技術(shù)專家。2004年從事數(shù)控機床加工編程,2006年進入游戲編程及C/C++開發(fā)與逆向分析領(lǐng)域,2011年就職于武漢科銳軟件技術(shù)有限公司,任技術(shù)總監(jiān)兼授課老師。創(chuàng)立國內(nèi)Android軟件逆向分析教育課程體系,該課程體系被多家培訓教育機構(gòu)采用。科銳·安全實訓領(lǐng)軍者科銳(www.51asm.com)創(chuàng)辦自2007年,一直專注于逆向分析人才培養(yǎng),畢業(yè)學員逾千人,廣泛就業(yè)于各安全企業(yè),從事技術(shù)與技術(shù)管理工作??其J通過一套嚴格的科學考核體系,確保學員對每一個知識點的掌握,從而保證教學質(zhì)量,使每一個畢業(yè)學員都能符合企業(yè)的用人需求。真正實現(xià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 無符號整數(shù)30
2.1.2 有符號整數(shù)31
2.2 浮點數(shù)類型32
2.2.1 浮點數(shù)的編碼方式33
2.2.2 基本的浮點數(shù)指令35
2.3 字符和字符串43
2.3.1 字符的編碼43
2.3.2 字符串的存儲方式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章 認識啟動函數(shù),找到用戶入口66
3.1 程序的真正入口66
3.2 了解VS2019的啟動函數(shù)66
3.3 main函數(shù)的識別70
3.4 本章小結(jié)71
第4章 觀察各種表達式的求值過程72
4.1 算術(shù)運算和賦值72
4.1.1 各種算術(shù)運算的工作形式72
4.1.2 算術(shù)結(jié)果溢出130
4.1.3 自增和自減131
4.2 關(guān)系運算和邏輯運算136
4.2.1 關(guān)系運算和條件跳轉(zhuǎn)的對應(yīng)136
4.2.2 表達式短路137
4.2.3 條件表達式141
4.3 位運算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章 流程控制語句的識別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 編譯器對循環(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 下標尋址和指針尋址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 對象的內(nèi)存布局300
9.2 this指針305
9.3 靜態(tài)數(shù)據(jù)成員311
9.4 對象作為函數(shù)參數(shù)314
9.5 對象作為返回值322
9.6 本章小結(jié)329
第10章 構(gòu)造函數(shù)和析構(gòu)函數(shù)331
10.1 構(gòu)造函數(shù)的出現(xiàn)時機331
10.2 每個對象是否都有默認的構(gòu)造函數(shù)353
10.3 析構(gòu)函數(shù)的出現(xiàn)時機355
10.4 本章小結(jié)375
第11章 虛函數(shù)377
11.1 虛函數(shù)的機制377
11.2 虛函數(shù)的識別383
11.3 本章小結(jié)389
第12章 從內(nèi)存角度看繼承和多重繼承391
12.1 識別類和類之間的關(guān)系392
12.2 多重繼承418
12.3 抽象類426
12.4 虛繼承428
12.5 本章小結(jié)443
第13章 異常處理445
13.1 異常處理的相關(guān)知識445
13.2 異常類型為基本數(shù)據(jù)類型的處理流程451
13.3 異常類型為對象的處理流程459
13.4 識別異常處理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)境的識別486
14.2 開發(fā)環(huán)境的偽造494
14.3 本章小結(jié)497
第15章 調(diào)試器OllyDbg的工作原理分析498
15.1 INT3斷點498
15.2 內(nèi)存斷點503
15.3 硬件斷點507
15.4 異常處理機制513
15.5 加載調(diào)試程序519
15.6 本章小結(jié)522
第16章 大灰狼遠控木馬逆向分析523
16.1 調(diào)試環(huán)境配置523
16.2 病毒程序初步分析524
16.3 啟動過程分析525
16.4 通信協(xié)議分析532
16.5 遠控功能分析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 永恒之藍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
參考文獻592

本目錄推薦

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