描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302651277
《二进制安全基础》以网络空间安全中常见的二进制安全技术为主线,详细介绍 C 语言反汇编技术、二进制漏洞挖掘和软件逆向分析基础技能。
《二进制安全基础》配套示例源码、PPT课件、教学大纲、教案、习题答案、作者QQ群答疑。
《二进制安全基础》适合二进制安全技术初学者、系统安全研究人员、底层软件开发人员、病毒分析人员。
《二进制安全基础》可以作为企事业单位网络安全从业人员的技术参考用书,也可以作为应用型本科、高职高专网络空间安全、信息安全类专业的教材。
《二进制安全基础》为二进制安全技术知识普及与技术基础教程,不仅能为初学二进制安全技术的读者提供全面、实用的C语言反汇编知识,而且能有效培养读者的漏洞挖掘和软件逆向分析基础能力。《二进制安全基础》配套示例源码、PPT课件、教学大纲、教案、习题答案、作者QQ群答疑。
《二进制安全基础》共12章,内容包括二进制安全概述、基本数据类型、表达式、流程控制、函数、变量、数组和指针、结构体、C 反汇编、其他编程知识、二进制漏洞挖掘(PWN)、软件逆向分析。
《二进制安全基础》适合二进制安全初学者和网络安全从业人员,也适合作为应用型本科与高职高专网络空间安全、信息安全类专业的教材。
第1章 二进制安全概述 1
1.1 汇编指令 1
1.1.1 寄存器 1
1.1.2 指令集 6
1.2 编译环境 8
1.2.1 x86环境 8
1.2.2 ARM环境 9
1.2.3 MIPS环境 11
1.3 常用工具 12
1.3.1 PE工具 12
1.3.2 OllyDbg工具 14
1.3.3 IDA Pro工具 15
1.4 本章小结 17
1.5 习题 18
第2章 基本数据类型 19
2.1 整数 19
2.1.1 无符号整数 19
2.1.2 有符号整数 21
2.2 浮点数 21
2.2.1 浮点指令 22
2.2.2 编码 22
2.3 字符和字符串 24
2.4 布尔型 27
2.5 指针 28
2.6 常量 30
2.7 案例 32
2.8 本章小结 33
2.9 习题 34
第3章 表达式 35
3.1 算术运算 35
3.1.1 四则运算 35
3.1.2 自增和自减 41
3.2 关系运算和逻辑运算 42
3.3 位运算 49
3.4 案例 52
3.5 本章小结 54
3.6 习题 54
第4章 流程控制 56
4.1 if语句 56
4.1.1 单分支 56
4.1.2 双分支 57
4.1.3 多分支 58
4.2 switch语句 60
4.3 while/for语句 66
4.3.1 while循环语句 66
4.3.2 for循环语句 68
4.4 案例 69
4.5 本章小结 72
4.6 习题 72
第5章 函数 74
5.1 函数栈 74
5.2 函数参数 75
5.3 函数调用类型 77
5.4 函数返回值 81
5.5 案例 82
5.6 本章小结 85
5.7 习题 85
第6章 变量 87
6.1 全局变量 87
6.2 静态变量 88
6.3 堆变量 90
6.4 案例 93
6.5 本章小结 96
6.6 习题 96
第7章 数组和指针 98
7.1 数组 98
7.1.1 数组作为参数 99
7.1.2 数组作为返回值 100
7.1.3 多维数组 101
7.2 指针 102
7.2.1 指针数组 102
7.2.2 数组指针 106
7.2.3 函数指针 108
7.3 案例 109
7.4 本章小结 112
7.5 习题 112
第8章 结构体 114
8.1 结构体变量内存分配 114
8.2 结构体对象作为函数参数 120
8.2.1 值传递 120
8.2.2 地址传递 122
8.3 结构体对象作为函数返回值 124
8.4 案例 125
8.5 本章小结 127
8.6 习题 127
第9章 C 反汇编 129
9.1 构造函数和析构函数 129
9.1.1 局部对象 129
9.1.2 全局对象 130
9.1.3 堆对象 133
9.1.4 参数对象 135
9.1.5 返回值对象 137
9.2 虚函数 139
9.3 继承与多态 143
9.4 本章小结 150
9.5 习题 150
第10章 其他编程知识 151
10.1 C语言常用功能 151
10.1.1 文件处理 151
10.1.2 多线程 152
10.1.3 网络 155
10.2 数据结构和算法 159
10.2.1 线性结构 160
10.2.2 树 172
10.2.3 排序算法 178
10.3 本章小结 190
第11章 二进制漏洞挖掘(PWN) 191
11.1 Linux安全机制 191
11.1.1 Stack Canaries 191
11.1.2 No-eXecute 193
11.1.3 ASLR 193
11.1.4 RELRO 195
11.2 pwntools 196
11.3 shellcode 197
11.3.1 编写shellcode 197
11.3.2 通过pwntools生成
shellcode 200
11.3.3 使用其他方式获取
shellcode 200
11.4 整数溢出 201
11.5 格式化字符串漏洞 203
11.5.1 数据泄露 204
11.5.2 数据写入 205
11.6 栈溢出与ROP 205
11.6.1 ret2text 205
11.6.2 ret2shellcode 207
11.6.3 ret2libc 210
11.7 堆溢出 217
11.7.1 堆基本数据结构 217
11.7.2 堆空闲管理结构 218
11.7.3 malloc基本流程 219
11.7.4 free基本流程 220
11.7.5 堆溢出漏洞 220
11.8 本章小结 235
第12章 软件逆向分析 236
12.1 文件格式 236
12.1.1 PE文件格式 236
12.1.2 ELF文件格式 241
12.2 加密算法识别 244
12.2.1 Base64 244
12.2.2 MD5 245
12.2.3 TEA 245
12.2.4 DES 246
12.2.5 RC4 247
12.2.6 算法识别 248
12.3 加壳与脱壳 249
12.3.1 基本概念 249
12.3.2 脱壳方法 250
12.4 分析案例 251
12.4.1 CTF案例 251
12.4.2 CrackMe案例 256
12.4.3 病毒分析 264
12.5 本章小结 269
“没有网络安全,就没有国家安全”,网络安全中的二进制安全技术常用于软件破解、病毒分析、逆向工程、软件漏洞挖掘等领域,学习和理解反汇编技术对软件调试、系统漏洞挖掘、理解内核原理和高级语言代码有相当大的帮助。
关于本书
本书以网络空间安全中常见的二进制安全技术为主线,详细介绍 C 语言反汇编技术、二进制漏洞挖掘和逆向分析基础知识。
全书共分为12章,内容包括C语言基本数据类型、运算表达式、流程控制、函数、变量、数组和指针、结构体的汇编表现形式;C 的构造函数和析构函数、虚函数、继承和多态的汇编表现形式;栈溢出、堆溢出等漏洞挖掘基础;文件格式、加密算法识别、加壳和脱壳等软件逆向分析基 础等。
本书内容由浅入深、循序渐进,注重实践操作。在操作过程中,按需讲解涉及的理论知识,抛开纯理论介绍,做到因材施教。书中案例步骤详细,既便于课堂教学,也便于读者自学。
本书读者
本书适合二进制安全技术初学者、系统安全研究人员、底层软件开发人员、病毒分析人员。本书可以作为企事业单位网络安全从业人员的技术参考用书,也可作为应用型高等院校信息安全、网络空间安全及其相关专业的本科生和专科生的教材。
配套资源下载
本书配套资源包括示例源码、PPT课件、教学大纲、教案、习题答案、作者QQ群答疑,读者需要用微信扫描下面二维码获取。如果阅读过程中发现问题,请用电子邮件联系[email protected],邮件主题务必写“二进制安全基础”。
重要提示
本书所有案例均在实验环境下进行,目的是培养网络安全人才,维护网络安全,减少由网络安全问题带来的各项损失,使个人、企业乃至国家的网络更加安全,请勿用于其他用途。
由于编者水平有限,书中难免存在疏漏和不足,恳请同行专家和读者给予批评和指正。
鸣谢
本书在编写的过程中,许多同事和同行从业者提出了很多宝贵的意见和建议,在此表示诚挚的谢意。特别要感谢是奇安信高校合作中心,他们对本书提出了非常具体的修改意见和建议,为本书的内容增色不少。
编 者
2023年11月
评论
还没有评论。