图书介绍
macOS软件安全与逆向分析 macOS软件安全第一书pdf电子书版本下载
- 丰生强,网名非虫著 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115460639
- 出版时间:2017
- 标注页数:461页
- 文件大小:75MB
- 文件页数:476页
- 主题词:软件开发-安全技术
PDF下载
下载说明
macOS软件安全与逆向分析 macOS软件安全第一书PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 如何分析macOS软件 1
1.1 分析环境搭建 1
1.1.1 安装Clang 1
1.1.2 HT Editor 2
1.1.3 Homebrew 6
1.2 第一个macOS程序 8
1.3 使用HT Editor进行破解 10
1.4 本章小结 14
第2章 系统安全架构 15
2.1 系统架构概述 15
2.1.1 shell环境 16
2.1.2 目录结构 16
2.1.3 文件权限 17
2.2 系统调用 17
2.3 进程间通信 18
2.4 安全框架 19
2.4.1 CommonCrypto 19
2.4.2 Keychain 20
2.4.3 安全传输 25
2.5 系统安全机制 28
2.5.1 FileVault 2 29
2.5.2 代码签名 31
2.5.3 ASLR/kASLR 33
2.5.4 沙盒 37
2.5.5 Rootless 39
2.5.6 Gatekeeper 42
2.6 软件安全开发建议 50
2.7 本章小结 50
第3章 软件开发基础 51
3.1 Objective-C语言 51
3.1.1 开发环境 51
3.1.2 Objective-C语言特性 54
3.1.3 内存管理 60
3.2 Swift语言 65
3.2.1 Playground 65
3.2.2 Swift语法简介 67
3.3 其他语言 88
3.4 框架 88
3.4.1 框架的开发与使用 88
3.4.2 在Objective-C中使用Swift编写的框架 93
3.4.3 常用的框架 94
3.5 第三方开发工具 94
3.5.1 Qt Creator 94
3.5.2 Xamarin Studio 95
3.5.3 JetBrains系列开发工具 96
3.5.4 Visual Studo Code 97
3.6 完整的Cocoa GUI程序 97
3.6.1 创建工程 98
3.6.2 Storyboard和xib 98
3.6.3 Outlet和Action机制 101
3.7 本章小结 103
第4章 软件内幕 104
4.1 可执行文件 105
4.2 下载与安装软件 106
4.2.1 免费与付费软件 106
4.2.2 安装软件 106
4.3 Bundle 107
4.3.1 Bundle目录结构 107
4.3.2 在代码中访问Bundle 109
4.4 通用二进制格式 109
4.5 Mach-O文件格式 112
4.5.1 Mach-O简介 112
4.5.2 Mach-O头部 113
4.5.3 加载命令 116
4.5.4 LC_CODE_SIGNATURE 117
4.5.5 LC_SEGMENT 129
4.6 动态库 131
4.6.1 构建动态库 132
4.6.2 dyld 135
4.6.3 动态库的加载 136
4.7 静态库 151
4.7.1 构建静态库 152
4.7.2 静态库格式 154
4.7.3 管理静态库 156
4.8 框架 156
4.8.1 构建框架 157
4.8.2 框架的使用与安装 158
4.9 pkg 160
4.9.1 构建pkg 160
4.9.2 pkg的安装与卸载 167
4.9.3 pkg文件格式 170
4.9.4 破解pkg 173
4.10 dmg 177
4.10.1 构建dmg 177
4.10.2 管理dmg 179
4.11 本章小结 181
第5章 汇编基础 182
5.1 搭建汇编语言开发环境 182
5.2 Hello World代码概览 185
5.3 伪指令 186
5.4 x86_64汇编基础 189
5.4.1 寄存器 190
5.4.2 汇编语法 192
5.4.3 数据传送指令 195
5.4.4 控制转移指令 195
5.4.5 栈操作指令 196
5.4.6 运算指令 197
5.5 与其他模块的交互 197
5.5.1 与C语言互相调用 197
5.5.2 使用系统调用 200
5.6 本章小结 201
第6章 软件静态分析 202
6.1 代码分析与二进制分析 202
6.2 分析工具 203
6.2.1 Radare2 203
6.2.2 IDA Pro 207
6.2.3 Hopper 209
6.3 代码分析技术 211
6.3.1 行为分析 211
6.3.2 资源分析 212
6.3.3 数据分析 215
6.3.4 流量分析 216
6.3.5 API分析 218
6.4 反汇编工具的使用 219
6.4.1 反汇编 219
6.4.2 流程图 224
6.4.3 伪代码 225
6.5 破解Mach-O程序 227
6.5.1 定位修改点 227
6.5.2 修改程序 228
6.5.3 代码签名处理 230
6.5.4 重新打包 234
6.5.5 Keygen 234
6.6 本章小结 235
第7章 软件动态调试与跟踪 236
7.1 DTrace 236
7.1.1 DTrace简介 236
7.1.2 DTrace示例 236
7.2 D脚本语言 237
7.2.1 脚本加载方式 237
7.2.2 D语言与C语言 238
7.2.3 D语言语法 238
7.2.4 变量 241
7.2.5 参数传递 243
7.2.6 聚合 243
7.2.7 内置函数与变量 244
7.3 调试器 246
7.3.1 GDB 246
7.3.2 LLDB 248
7.3.3 IDA Pro 258
7.3.4 Hopper 267
7.4 本章小结 269
第8章 调试器开发 270
8.1 概述 270
8.2 开发环境搭建 270
8.2.1 安装所需环境 271
8.2.2 编译Saber 280
8.3 系统调试接口 285
8.3.1 ptrace简介 286
8.3.2 Mach调试接口 287
8.4 macOS异常机制 292
8.4.1 异常与Mach RPC/IPC 292
8.4.2 信号 300
8.5 调试器功能实现 302
8.5.1 调试器架构 302
8.5.2 开始调试 303
8.5.3 异常处理循环 305
8.5.4 读写被调试进程内存 308
8.5.5 获取基地址与入口点 309
8.5.6 单步调试 310
8.5.7 断点 311
8.5.8 继续运行 312
8.5.9 反汇编 313
8.6 本章小结 316
第9章 破解技术 317
9.1 软件破解步骤 317
9.2 常见的保护类型 318
9.2.1 试用版&序列号 319
9.2.2 License授权 319
9.2.3 重启验证与暗桩 330
9.2.4 防拷贝技术 338
9.2.5 网络验证 338
9.2.6 混合验证 342
9.3 App Store内购机制 342
9.4 Hook技术 351
9.4.1 DYLD_INSERT_LIBRARIES 352
9.4.2 SymbolTable Hook 355
9.4.3 Inline Hook 358
9.4.4 Method Swizzing 359
9.5 代码注入 362
9.5.1 静态注入 362
9.5.2 动态注入 365
9.5.3 Hook与注入框架 366
9.6 补丁&注册机 373
9.7 本章小结 375
第10章 反破解技术 376
10.1 反破解技术类型 376
10.2 校验保护 377
10.2.1 完整性检查 377
10.2.2 代码签名验证 377
10.2.3 沙盒检测 382
10.2.4 来源检测 386
10.3 代码保护 386
10.3.1 代码混淆 386
10.3.2 SMC 387
10.3.3 代码校验 387
10.3.4 壳保护 387
10.4 数据保护 391
10.4.1 数据清除 391
10.4.2 数据存储 395
10.4.3 数据传输 400
10.5 调试器对抗 408
10.5.1 调试器检测 408
10.5.2 反调试 410
10.6 Hook检测 411
10.6.1 Method Swizzing检测 411
10.6.2 dyld Hook检测 412
10.7 本章小结 413
第11章 游戏安全 414
11.1 游戏类型 414
11.2 游戏框架与引擎 414
11.2.1 SpriteKit与SceneKit 415
11.2.2 GameplayKit&ReplayKit 417
11.2.3 Cocos2d-x 417
11.2.4 Unity3D 419
11.3 游戏分析工具 422
11.3.1 静态分析工具 423
11.3.2 动态调试工具 424
11.3.3 资源修改工具 424
11.3.4 内存修改工具 427
11.4 游戏分析方法 427
11.4.1 对比分析 427
11.4.2 动态调试 429
11.4.3 静态补丁 429
11.4.4 动态补丁 430
11.5 防破解技术 430
11.6 本章小结 431
第12章 恶意软件与Rootkit 432
12.1 安全趋势 432
12.1.1 知名恶意软件 432
12.1.2 安全漏洞 433
12.1.3 安全软件 435
12.2 文件关联技术 435
12.3 软件自启动技术 439
12.3.1 Launch Items 439
12.3.2 Login Items 441
12.3.3 StartupItems 442
12.3.4 Login/Logout Hooks 444
12.3.5 Cron Jobs 444
12.3.6 Periodic Scripts 446
12.3.7 Authorization Plugins 446
12.3.8 Browser Extensions 447
12.3.9 Spotlight Importers 448
12.3.10 QuickLook Plugins 448
12.3.11 Kernel Extensions 448
12.4 Rootkit 449
12.4.1 文件隐藏 449
12.4.2 进程隐藏 451
12.4.3 内核模块隐藏 452
12.4.4 Root提权 453
12.5 本章小结 454
附录 macOS工具一览表 455
参考资料 460