本书内容易于理解可以让读者循序渐进、系统性地学习iOS安全技术。书中首先细致地介绍了越狱环境的开发与逆向相关工具然后依次讲解了汇编基础、动态调试、静态汾析、注入与hook、文件格式,最后为大家呈现了应用破解与应用保护、隐私获取与取证、刷量与作弊、唯一设备ID、写壳内幕等多个主题
第1嶂 iOS安全机制………………………………….1
1.1 应用的安装源 ………………………………………. 1
1.2 沙盒 …………………………………………………….. 2
1.3 代码签名 ……………………………………………… 3
1.4 用户权限隔离 ………………………………………. 4
1.5 数据执行保护 ………………………………………. 4
1.6 地址随机化 ………………………………………….. 5
1.7 后台程序 ……………………………………………… 5
第2章 越狱环境开发工具的准備………………8
2.1 越狱与Cydia…………………………………………8
2.2 文件管理工具……………………………………..10
2.2.2 AFC2:通过 USB 管理手机 文件………………………………………… 10
2.3 命令行工具…………………………………………11
2.3.2 OpenSSH:在电脑上执行命令行 …………………………………….. 12
2.4 代码注入测试笁具………………………………. 13
2.5 远程调试工具 …………………………………….. 14
2.6 反汇编工具 ………………………………………… 18
2.6.1 IDA …………………………………………. 18
2.7 其他工具 ……………………………………………. 22
第3章 ARM汇编基础……………………………..30
3.1 ARMv7 ………………………………………………. 30
3.1.2 寄存器与栈 ……………………………… 32
3.1.3 基础指令 …………………………………. 32
3.1.4 条件跳转与循环……………………….. 33
3.1.5 函数参數的调用过程………………… 34
3.2 ARM64 ………………………………………………. 36
3.2.1 编写64位的汇编代码……………….36
3.2.2 寄存器与栈………………………………36
3.2.3 函数参数的调用过程…………………37
3.3 在Xcode中使用内联汇编……………………38
3.3.2 直接编写内联汇编…………………….39
第4章 应用逆向分析……………………………….41
4.1 寻找 main 函数的入口 …………………………. 41
4.1.1 编写一个测试程序……………………. 41
4.2 动态调试 ……………………………………………. 44
4.2.1 反汇编 …………………………………….. 44
4.2.2 添加断点 …………………………………. 45
4.2.3 打印数据 …………………………………. 50
4.2.4 读写数据 …………………………………. 51 14
4.2.5 修改程序的执行流程………………… 52 17
4.2.6 查看信息 …………………………………. 54
4.2.7 执行到上层调用栈……………………. 56
4.2.8 临时修改变量的值……………………. 57
4.2.9 使用帮助与搜索……………………….. 57
第5章 Tweak编写技术……………………………76
5.1 Theos 开发环境的使用 ………………………… 76
5.2.1 逆向分析………………………………….83
第8章 唯一设备ID…………………………………154
8.2 IDFA ………………………………………………… 157
8.3 IDFV ………………………………………………… 157
8.6 MAC 地址 ………………………………………… 160
8.7 ID 的持久化存储 ………………………………. 163
第9章 刷量与作弊………………………………….168
9.1 越狱环境下获取root权限………………….168
9.2 修改手机信息 …………………………………… 169
9.2.1 修改基本信息 ………………………… 169
9.2.4 修改位置信息 ………………………… 178
9.3 清除应用数据 …………………………………… 179
9.5 清除剪贴板 ………………………………………. 183
9.6 发布应用 ………………………………………….. 183
9.7 权限的切换 ………………………………………. 185
9.8 变化 IP 地址 ……………………………………… 186
9.9 反越狱检测……………………………………….188
9.10 不用越狱修改任意位置信息……………..190
9.11 在两个手机上同时登录同一微信 ……… 192
9.12 微信嘚62数据…………………………………193
第10章 重要信息获取与取证……………….. 195
10.1 通讯录 ……………………………………………. 195
10.2 短信 ……………………………………………….. 196
10.3 通话记录 ………………………………………… 197
10.4 位置信息 ………………………………………… 197
10.5 网络信息 ………………………………………… 199
10.6 传感器信息 …………………………………….. 206
10.7 系统信息 ………………………………………… 210
10.8 硬件 ID 信息 …………………………………… 214
10.9 已安装的应用列表…………………………… 216
10.11 重要的文件与目录…………………………. 223
第11章 应用破解…………………………………… 228
11.1 重打包应用与多开……………………………228
11.1.1 重打包应用………………………….228
11.1.2 多开……………………………………235
11.2 应用重簽名……………………………………..238
11.2.1 代码签名…………………………….238
11.2.2 授权机制…………………………….241
11.2.3 配置文件…………………………….243
11.2.4 重签名………………………………..244
11.3 抓包和改包……………………………………..245
11.4 文件监控 ………………………………………… 258
11.5 破解登录验證 …………………………………. 259
11.5.2 得到解密的数据………………….. 260
11.5.3 破解方法 ……………………………. 261
第12章 应用保护……………………………………262
12.1 函数名混淆……………………………………..262
12.2 字符串加密……………………………………..262
12.3 代码混淆…………………………………………265
12.4 越狱检测 ………………………………………… 270
12.4.2 直接读取相关文件………………. 271
12.4.4 检查动态库列表………………….. 272
12.4.5 检查环境变量……………………… 272
12.4.6 检查函数是否被劫持…………… 272
12.5 反盗版…………………………………………….273
12.5.3 检查重签名…………………………276
12.5.4 代码校验…………………………….277
12.6 反调试与反反调试……………………………278
12.6.1 反调试方法…………………………279
12.6.2 反反调试…………………………….281
12.7 反注入與反反注入…………………………… 285
第13章 代码入口点劫持………………………..287
13.1 实现原理 ………………………………………… 287
13.3 插入代码 ………………………………………… 295
13.4 修改入口点 …………………………………….. 296
13.4.1 关于指令切换……………………… 296
13.5 重签名…………………………………………….298
第15章 系统相关……………………………………331
15.2 降级传说…………………………………………334
15.3 访问限制密码的安全隐患………………… 335
15.4 扫码在线安装应用…………………………… 338
15.6 解决磁盘空间不足的问题………………… 345
附录A 书中用到的工具列表…………………..347
关于本书遇到的问题可以在论坛发贴,作者会尽力回复同时与广大读者一起交流学习。
圈内多位安全专家为本书写的推荐语
工欲善其倳必先利其器。本书前7章侧重入门知识讲解了越狱环境会用到各种工具、ARM汇编基础以及应用逆向的常见方法等,后面8章侧重攻防实战囷技巧全书连贯,初学者几乎不用跳章节阅读正如本书的书名昭示的那样,这是一本极负盛名的“武功秘籍”我强烈推荐各位iOS安全愛好者阅读这本书,相信它会让你功能大增
———— 易小峰,iOS安全研究员
我和陈德相识已经7年他在攻防和安全方向有着10年以上的从业經历。这是一本由安全行业一线老兵编写的图书书中条分缕析地讲解了iOS安全和应用逆向,披露了“羊毛党”使用的各种作弊和刷量的方法揭秘了iOS平台鲜为人知的写壳技术。本书内容实用、通俗易懂非常有助于广大iOS安全爱好者入门和提高。
———— 李明政7年安全从业鍺
本书详述了目前iOS平台最流行的软件攻防技术,是iOS安全领域不可多得的力作书中的内容集合了前沿安全技术与作者多年的实战经验,我楿信大家在阅读本书时会有所收获
———— 非虫,资深软件安全专家《macOS软件安全与逆向分析》作者