本书翔实地介绍流行的Frida工具在安卓逆向工程中的应用,内容包括:如何安装和使用Frida、基本环境的搭建、Frida-tools、Frida脚本、Frida API、批量自动化Trace和分析、RPC远程方法调用、在无须逆向算法具体实现的情况下对Frida工具的调用,并提供了大量App逆向与协议分析案例,书中还介绍了更加稳定的Xposed框架的使用方法,以及从安卓源码开始定制属于自己的抓包沙箱,打造无法被绕过的抓包环境等内容。 本书案例丰富,注重实操,适合安卓应用安全工程师、安卓逆向分析工程师、爬虫工程师以及大数据采集和分析工程师使用。
逆向与漏洞分析
✍ Scribed by 魏强 武泽慧
- Publisher
- 科学出版社
- Year
- 2022
- Tongue
- Chinese
- Leaves
- 242
- Category
- Library
No coin nor oath required. For personal study only.
✦ Synopsis
本书包括基础和技术两部分。基础部分介绍与逆向分析和漏洞分析相关的基础知识,包括基本概念、常见漏洞特征,让读者对本书分析研究的对象有个初步了解。技术部分介绍漏洞分析常用的几种技术,既有偏于理论的符号执行技术,也有偏于工程实践的模糊测试技术。每种技术按照概念、分类、发展、原理、案例的逻辑关系进行介绍,使读者能够由浅入深、循序渐进地理解。每章最后配有习题,读者完成这些习题,可以加深对相关知识点的理解和掌握。
✦ Table of Contents
第1章 逆向与漏洞分析概述 1
1.1 逆向概述 1
1.1.1 基本概念 1
1.1.2 基本流程 2
1.1.3 作用 3
1.2 漏洞的概念 3
1.2.1 漏洞的基本定义 4
1.2.2 漏洞的特征 5
1.2.3 漏洞分类 6
1.2.4 漏洞分级 8
1.3 漏洞的影响及发展历程 11
1.3.1 漏洞的影响 11
1.3.2 漏洞发展历程 13
1.3.3 漏洞分析技术发展脉络 14
1.4 本章小结 15
1.5 习题 16
第2章 逆向分析基础 17
2.1 软件保护方法 17
2.1.1 防止调试 17
2.1.2 防止分析 18
2.1.3 防止修改 22
2.1.4 其他保护方法 22
2.2 程序预处理 22
2.2.1 软件脱壳 22
2.2.2 程序入口定位 24
2.2.3 实例分析 25
2.3 基本数据类型逆向 27
2.3.1 整数 27
2.3.2 浮点数 27
2.3.3 字符和字符串 28
2.3.4 内存地址和指针 28
2.3.5 常量 28
2.3.6 数组 29
2.3.7 实例分析 30
2.4 表达式逆向 32
2.4.1 算术运算 32
2.4.2 关系与逻辑运算 33
2.4.3 实例分析 33
2.5 控制语句逆向 35
2.5.1 分支类语句 36
2.5.2 循环类语句 37
2.5.3 实例分析 38
2.6 函数逆向 43
2.6.1 栈帧 43
2.6.2 函数参数 43
2.6.3 函数返回值 43
2.6.4 实例分析 44
2.7 代码优化 48
2.7.1 表达式优化 48
2.7.2 代码结构优化 48
2.8 本章小结 50
2.9 习题 50
第3章 漏洞分析基础 51
3.1 缓冲区溢出漏洞 51
3.1.1 基本概念 51
3.1.2 栈溢出漏洞机理 51
3.2 格式化字符串漏洞 57
3.2.1 基本概念 57
3.2.2 漏洞机理 57
3.3 整型溢出漏洞 59
3.3.1 基本概念 59
3.3.2 漏洞机理 59
3.4 提权漏洞 60
3.4.1 基本概念 60
3.4.2 漏洞机理 61
3.5 UAF 漏洞 62
3.5.1 基本概念 62
3.5.2 漏洞机理 63
3.6 本章小结 67
3.7 习题 67
第4章 数据流分析技术 68
4.1 概念与作用 68
4.1.1 基本概念 68
4.1.2 数据流分析的作用 70
4.2 基本分析模型 70
4.2.1 代码基本块 70
4.2.2 抽象语法树 71
4.2.3 三地址码 72
4.2.4 静态单赋值 73
4.2.5 控制流图 75
4.2.6 其他代码模型 77
4.3 数据流分析原理 82
4.3.1 程序建模 82
4.3.2 函数内分析 84
4.3.3 函数间分析 89
4.3.4 漏洞规则分析 93
4.4 数据流分析的应用 94
4.4.1 辅助程序优化 94
4.4.2 检测程序漏洞 97
4.5 本章小结 99
4.6 习题 99
第5章 污点分析技术 101
5.1 污点分析概述 101
5.1.1 基本概念 101
5.1.2 动、静态污点分析的异同 103
5.2 静态污点分析 105
5.2.1 正向静态污点分析 105
5.2.2 反向静态污点分析 108
5.2.3 静态污点分析的应用 108
5.3 动态污点分析 109
5.3.1 动态污点分析过程 110
5.3.2 动态污点分析应用 122
5.4 本章小结 123
5.5 习题 124
第6章 符号执行技术 125
6.1 符号执行概述 125
6.1.1 基本概念 125
6.1.2 发展脉络 126
6.2 符号执行的原理 129
6.2.1 正向符号执行 129
6.2.2 逆向符号执行 134
6.3 符号执行的应用 136
6.3.1 使用符号执行检测程序漏洞 136
6.3.2 使用符号执行构造测试用例 136
6.3.3 使用离线符号执行生成Exploit 137
6.4 实例分析 138
6.4.1 检测缓冲区溢出漏洞 138
6.4.2 构造测试用例 140
6.5 其他符号执行 142
6.5.1 动态符号执行 142
6.5.2 组合符号执行 144
6.5.3 选择符号执行 146
6.5.4 混合符号执行 148
6.5.5 并行符号执行 149
6.6 符号执行存在的难题及缓解措施 150
6.6.1 路径爆炸问题 150
6.6.2 约束求解问题 151
6.6.3 外部函数调用问题 152
6.6.4 浮点指针计算问题 152
6.6.5 循环处理 153
6.7 本章小结 153
6.8 习题 153
第7章 模糊测试技术 154
7.1 模糊测试概述 154
7.1.1 起源与发展 155
7.1.2 基本概念 160
7.1.3 分类与作用 161
7.2 基本原理 163
7.2.1 目标识别 163
7.2.2 输入识别 164
7.2.3 测试用例生成 164
7.2.4 执行过程监控 165
7.2.5 异常分析 166
7.2.6 可用性判定 174
7.3 传统模糊测试 176
7.3.1 基本流程 176
7.3.2 输入构造 177
7.3.3 输入验证 178
7.3.4 适应度函数 180
7.3.5 基于生成与基于变异技术对比 182
7.3.6 案例分析 182
7.4 覆盖率引导的模糊测试 186
7.4.1 覆盖率概念与分类 186
7.4.2 基本流程 187
7.4.3 初始种子获取 188
7.4.4 种子选择策略 189
7.4.5 覆盖率引导统计 190
7.4.6 案例分析 191
7.5 其他模糊测试技术 193
7.5.1 定向模糊测试 193
7.5.2 内存模糊测试 194
7.5.3 内核模糊测试 195
7.5.4 反模糊测试 196
7.6 模糊测试的局限性和发展方向 196
7.6.1 局限性和面临问题 196
7.6.2 发展方向 197
7.7 本章小结 198
7.8 习题 199
第8章 漏洞攻防演变 200
8.1 漏洞攻防对抗概述 200
8.2 栈空间对抗 202
8.2.1 防御原理 202
8.2.2 对抗方法 205
8.3 堆空间对抗 205
8.3.1 防御原理 205
8.3.2 对抗方法 206
8.4 异常处理机制对抗 207
8.4.1 防御原理 207
8.4.2 对抗方法 209
8.5 数据保护对抗 210
8.5.1 防御原理 210
8.5.2 对抗方法 211
8.5.3 其他数据保护方法 212
8.6 控制保护对抗 217
8.6.1 防御原理 217
8.6.2 对抗方法 218
8.6.3 其他控制保护方法 218
8.7 Windows*新安全机制 222
8.8 本章小结 225
8.9 习题 225
参考文献 226
📜 SIMILAR VOLUMES
<p>《有趣的二进制:软件安全与逆向分析》通过逆向工程,揭开人们熟知的软件背后的机器语言的秘密,并教给读者读懂这些二进制代码的方法。理解了这些方法,技术人员就能有效地Debug,防止软件受到恶意攻击和反编译。本书涵盖的技术包括:汇编与反汇编、调试与反调试、缓冲区溢出攻击与底层安全、钩子与注入、Metasploit 等安全工具。</p> <p>《有趣的二进制:软件安全与逆向分析》适合对计算机原理、底层或计算机安全感兴趣的读者阅读。</p>
本书共分为9章。首先介绍漏洞的分类、特征和发展等基本知识,漏洞扫描的技术和流程;然后分析网络设备的常见漏洞及防范措施,操作系统的常见漏洞及防范措施,数据库的常见漏洞及防范措施,Web系统的常见漏洞及防范措施,用户名及口令猜解的类型与防范措施等方面的内容;最后描述软件配置检查的方法和标准,并结合详细案例对需求和解决方案进行详细分析解读,帮助读者更透彻地掌握漏洞扫描和防护。 本书每章后均附有思考题总结该章知识点,以便为读者的进一步阅读提供思路。 本书由360企业安全集团针对高校网络空间安全专业的教学规划组织编写,既可作为信息安全、网络空间安全专业及网络工程、计算机技术应用型人才培养与认证体系中的教