C++反汇编与逆向分析技术揭秘(第2版)
全新正版 极速发货
¥
78.12
5.6折
¥
139
全新
库存11件
作者钱林松,张延清
出版社机械工业出版社
ISBN9787111689911
出版时间2021-09
装帧平装
开本16开
定价139元
货号1202465176
上书时间2024-09-02
商品详情
- 品相描述:全新
- 商品描述
-
目录
赞誉
序一
序二
序三
前言
第一部分准备工作
第1章熟悉工作环境和相关工具2
1.1安装VisualStudio20192
1.2安装GCC6
1.3调试工具OllyDbg12
1.4调试工具x64dbg14
1.5调试工具WinDbg15
1.6反汇编静态分析工具IDA17
1.7反汇编引擎的工作原理22
1.8本章小结27
第二部分C++反汇编揭秘
第2章基本数据类型的表现形式30
2.1整数类型30
2.1.1无符号整数30
2.1.2有符号整数31
2.2浮点数类型32
2.2.1浮点数的编码方式33
2.2.2基本的浮点数指令35
2.3字符和字符串43
2.3.1字符的编码43
2.3.2字符串的存储方式44
2.4布尔类型45
2.5地址、指针和引用46
2.5.1指针和地址的区别46
2.5.2各类型指针的工作方式47
2.5.3引用56
2.6常量60
2.6.1常量的定义60
2.6.2#define和const的区别62
2.7本章小结65
第3章认识启动函数,找到用户入口66
3.1程序的真正入口66
3.2了解VS2019的启动函数66
3.3main函数的识别70
3.4本章小结71
第4章观察各种表达式的求值过程72
4.1算术运算和赋值72
4.1.1各种算术运算的工作形式72
4.1.2算术结果溢出130
4.1.3自增和自减131
4.2关系运算和逻辑运算136
4.2.1关系运算和条件跳转的对应136
4.2.2表达式短路137
4.2.3条件表达式141
4.3位运算149
4.4编译器使用的优化技巧152
4.4.1流水线优化规则155
4.4.2分支优化规则158
4.4.3高速缓存优化规则159
4.5一次算法逆向之旅159
4.6本章小结164
第5章流程控制语句的识别165
5.1if语句165
5.2if…else…语句168
5.3用if构成的多分支流程174
5.4switch的真相180
5.5难以构成跳转表的switch196
5.6降低判定树的高度201
5.7do、while、for的比较206
5.8编译器对循环结构的优化214
5.9本章小结220
第6章函数的工作原理221
6.1栈帧的形成和关闭221
6.2各种调用方式的考察222
6.3使用ebp或esp寻址226
6.4函数的参数230
6.5函数的返回值232
6.6x64调用约定235
6.7本章小结238
第7章变量在内存中的位置和访问方式239
7.1全局变量和局部变量的区别239
7.2局部静态变量的工作方式247
7.3堆变量252
7.4本章小结256
第8章数组和指针的寻址257
8.1数组在函数内257
8.2数组作为参数266
8.3数组作为返回值270
8.4下标寻址和指针寻址276
8.5多维数组282
8.6存放指针类型数据的数组288
8.7指向数组的指针变量290
8.8函数指针296
8.9本章小结299
第9章结构体和类300
9.1对象的内存布局300
9.2this指针305
9.3静态数据成员311
9.4对象作为函数参数314
9.5对象作为返回值322
9.6本章小结329
第10章构造函数和析构函数331
10.1构造函数的出现时机331
10.2每个对象是否都有默认的构造函数353
10.3析构函数的出现时机355
10.4本章小结375
第11章虚函数377
11.1虚函数的机制377
11.2虚函数的识别383
11.3本章小结389
第12章从内存角度看继承和多重继承391
12.1识别类和类之间的关系392
12.2多重继承418
12.3抽象类426
12.4虚继承428
12.5本章小结443
第13章异常处理445
13.1异常处理的相关知识445
13.2异常类型为基本数据类型的处理流程451
13.3异常类型为对象的处理流程459
13.4识别异常处理464
13.5x64异常处理475
13.5.1RUNTIME_FUNCTION结构476
13.5.2UNWIND_INFO结构476
13.5.3UNWIND_CODE结构478
13.5.4特定于语言的处理程序478
13.5.5x64FuncInfo的变化479
13.5.6还原x64的try…catch481
13.6本章小结484
第三部分逆向分析技术应用
第14章PEiD的工作原理分析486
14.1开发环境的识别486
14.2开发环境的伪造494
14.3本章小结497
第15章调试器OllyDbg的工作原理分析498
15.1INT3断点498
15.2内存断点503
15.3硬件断点507
15.4异常处理机制513
15.5加载调试程序519
15.6本章小结522
第16章大灰狼远控木马逆向分析523
16.1调试环境配置523
16.2病毒程序初步分析524
16.3启动过程分析525
16.4通信协议分析532
16.5远控功能分析536
16.6本章小结551
第17章WannaCry勒索病毒逆向分析552
17.1tasksche.exe勒索程序逆向分析552
17.1.1病毒初始化552
17.1.2加载病毒核心代码558
17.1.3病毒核心代码562
17.2mssecsvc.exe蠕虫程序逆向分析569
17.2.1蠕虫病毒代码初始化569
17.2.2发送漏洞攻击代码573
17.3永恒之蓝MS17-010漏洞原理分析577
17.3.1漏洞1利用分析577
17.3.2漏洞2利用分析583
17.3.3漏洞3利用分析584
17.4本章小结586
第18章反汇编代码的重建与编译587
18.1重建反汇编代码587
18.2编译重建后的反汇编代码590
18.3本章小结591
参考文献592
内容摘要
这是一部系统讲解反汇编与逆向分析技术原理、流程、方法和实用技巧的著作。
本书第1版出版于2011年,10年来畅销不衰,成为反汇编与逆向工程领域的标志性著作,被数十万安全工程师和C++工程师奉为瑰宝。在优选学术界和企业界都享有盛誉,故第2版得到了优选15位安全技术专家的倾力推荐。第2版在技术、工具和案例等方面做了大量的更新和补充。
通过本书,你将掌握以下知识或技能:
逆向分析技术的工具和原理;
逆向分析技术的流程和方法;
逆向分析技术的精髓和实用技巧;
软件调试的技术原理,以及代码运行时的内存表现;
C++语法的实现机制和反汇编表现形式。
全书共18章,分为三个部分:
第1部分 准备工作 (第1章)
简单地介绍了编译器、调试器和反汇编静态分析工具的使用方法以及反汇编引擎的工作原理;
第二部分C++反汇编揭秘(第2~13章)
以多种编译器为例解析了每个C/C++知识点的汇编表现形式,通过整理反汇编代码梳理流程和脉络,讲解了调试和识别各种C/C++语句的方法,并且深入剖析各知识点的底层机制;
第三部分 逆向分析技术应用(第14~18章)
通过对PEiD、调试器 OllyDbg、木马、勒索病毒等实际应用的逆向分析,带领读者领路逆向分析技术的魔力,并加深对所学理论知识的理解。
主编推荐
(1)第1版影响深远:第1版10年畅销不衰,成为逆向工程领域标志性著作,口碑爆棚,影响数十万安全工程师和C++工程师。(2)作者资历深厚:作者是IT技术领域自学成才典范,有近20年安全技术研发和教育经验,深耕逆向分析技术、C++和系统编程。(3)本书5大用途:逆向分析技术工具和原理、逆向分析技术流程和方法、逆向分析技术精髓和实用技巧、软件调试技术原理及代码运行时内存表现、C++语法的实现机制和反汇编表现形式。(4)优选专家力荐:武汉大学、华中科技大学、南京邮电大学的学术界专家力荐;腾讯、360、金山毒霸、桑坦德集团、中国电信、深信服的企业届专家力荐;台湾地区知名IT技术专家和教育家侯捷、看雪学院创始人段钢力荐。
— 没有更多了 —
以下为对购买帮助不大的评价