当前位置:首页 > 电子书 > 正文

iOS应用逆向与安全之道pdf电子书下载

  • 电子书
  • 2023-11-01
  • 1129
  • 更新:2023-12-20 18:47:42

iOS应用逆向与安全之道pdf电子书下载  第1张

《iOS应用逆向与安全之道》是一本深入探讨iOS应用逆向工程和安全方面的重要著作。本书分为四个主要部分,每个部分都包含多个章节,共涵盖了广泛的主题。
第一篇 "初 出 茅 庐" 主要介绍了iOS逆向工程的背景知识和环境搭建,为读者提供了入门知识和必要工具的使用方法。
第二篇 "小 试 牛 刀" 则着重介绍了应用脱壳、运行时分析和各种工具的使用,帮助读者更深入地了解应用的运行时行为。
第三篇 "裴 堂 几 室" 引导读者进行静态分析和动态调试,使用工具如Hopper和IDA Pro来深入研究应用的内部结构和执行流程。
第四篇 "融 会 贯 通" 将读者带入实战领域,通过案例分析具体应用程序,包括社交应用、短视频应用、游戏应用、物联网设备应用等,从中学习如何进行逆向工程和应用安全评估。
总之,这本书提供了广泛的知识和工具,帮助读者深入理解iOS应用逆向工程和安全方面的知识,以便更好地理解和保护自己的应用程序。

第一篇 初 出 茅 庐
第1章 背景知识………………………2
1.1 iOS逆向工程简介………………2
1.1.1 iOS逆向工程学习路线…………2
1.1.2 iOS逆向工程基本流程…………3
1.1.3 iOS 逆向工程意义所在…………4
1.2 iOS越狱平台简介………………4
1.2.1 iOS越狱及其定义………………4
1.2.2 iOS 越狱商店………………………5
1.2.3 iOS系统目录………………………6
1.2.4 iOS 沙盒结构………………………8
1.2.5 iOS 应用结构………………………9
1.2.6 iOS 文件权限………………………10
1.3 本章小结………………………11
第2章 环境搭建……………………12
2.1 开发环境………………………12
2.1.1 Xcode…………………………………12
2.3 SSH配置………………………20
2.3.1 安装 OpenSSH……………………21
2.3.2 配置 dropbear……………………21
2.3.3 免密码登录………………………22
2.3.4 USB连接设备……………………23
2.3.5 修改默认密码………………………24
2.3.6 使用 scp传输文件………………25
2.4 实用工具推荐……………………25
2.5 本章小结…………………………26
第3章 逆向基础………………………27
3.1Mach-O 文件格式………………27
3.1.1 通用二进制文件…………………27
3.1.2 Mach-O头部……………………30
3.1.3 加载命令…………………………33
3.2 ARM汇编基础…………………46
3.2.1 寄存器……………………………46
2.1.2 Homebrew……………………………17
3.2.2 指令集……………………………48
2.2 越狱环境 ………………………18
2.2.1 iOS 越狱设备的选择……………18
3.2.3 栈及传参规则………………………52
3.2.4 内联汇编……………………………56
2.2.2 Cydia Substrate(iOS 11 以下)…19
2.2.3 Substitute(iOS 11~iOS 13)…19
2.2.4 必备小工具………………………20
3.2.5 Objective-C的汇编机制………59
3.3 本章小结………………………62
第二篇 小 试 牛 刀
第4章 应用脱壳……………………64
4.1 检测是否加壳…………………64
卫录
4.2 Clutch…………………………………65
4.2.1 安装 Clutch………………………65
4.2.2 Clutch 脱壳实战…………………65
4.3 dumpdecrypted………………………66
4.3.1 编译 dumpdecrypted……………66
4.3.2 dumpdeerypted 脱壳实战………67
4.4 bfinject………………………………68
4.4.1 安装 bfinject……………………69
4.4.2 bfinject 脱壳实战……………69
4.4.3 修复闪退……………………………71
4.5 CrackerXI(iOS 11~iOS 13)…71
4.6 Frida-ios-dump………………………72
4.6.1 一键快速脱壳………………………72
4.6.2 完美修复闪退……………………74
4.6.3 ipa文件安装失败处理…………75
4.7 使用lipo分离架构……………76
4.8 本章小结 …………………………77
第5章 运行时分析…………………78
5.1 class-dump………………………78
5.2 Cycript………………………………80
5.2.1 越狱环境安装 Cycript…………80
5.2.2 Cycript 实战……………………80
5.2.3 Cycript 高级用法………………85
5.2.4 iOS 11使用 Cycript……………88
5.3 Reveal …………………………………88
5.3.1 越狱环境使用 Reveal…………89
5.3.2 iOS 11~iOS 13 使用 Reveal…89
5.3.3 Reveal 实战………………………90
5.4 FLEX…………………………………91
5.4.1 越狱环境使用 FLEX……………92
5.4.2 FLEX 实战…………………………93
5.5 Frida…………………………………95
5.5.1 Frida安装…………………………95
5.5.2 Frida入门…………………………96
5.5.3 Frida实战………………………102
5.5.4 Frida进阶………………………105
5.6 本章小结………………………116
第三篇 裴 堂 几 室
第6章 静态分析……………………118
6.1 Hopper……………………………118
6.1.1 安装 Hopper ……………………118
6.1.2 认识 Hopper……………………119
6.1.3 编写 Hopper 脚本实战………125
6.2 IDA Pro………………………………129
6.2.1 加载文件………………………129
6.2.2 功能划分………………………131
6.2.3 保存 idb 文件……………………134
6.2.4 常用功能及快捷键 ……………135
6.2.5 编写IDA 脚本实战……………138
6.3 如何定位切入点……………142
6.3.1 通过Runtime 定位………………142
6.3.2 通过导入函数定位 ……………143
6.3.3 通过导出函数定位……………143
6.3.4 通过字符串定位………………143
6.3.5 通过网络行为定位……………143
6.4 实例分析………………………144
6.4.1 使用 class-dump 定位按钮
事件……………………………144
6.4.2 使用 Hopper分析验证流程…145
6.4.3 使用IDA分析序列号及修改
代码 ……………………………148
6.5 本章小结………………………154
第7章 动态调试……………………155
7.1 LLDB 动态调试………………155
7.1.1 配置 debugserver………………155
7.1.2 与 LLDB 建立连接……………157
7.1.3 LLDB 命令详解…………………159
7.1.4 LLDB手动脱壳…………………171
7.1.5 LLDB 脚本编写…………………173
7.1.6 LLDB高效技巧…………………177
iOS应用逆向与安全之道
7.2 IDA动态调试…………………179
7.2.1 直接启动调试……………………179
7.2.2 远程附加调试…………………182
7.3 Xcode 动态调试………………185
7.3.1 远程附加调试……………………185
7.3.2 直接启动调试……………………187
7.3.3 恢复符号表……………………190
7.3.4 UI调试功能………………………193
7.4 本章小结 ………………………195
第8章 越狱开发……………………196
8.1 Theos 简介…………………196
8.1.1 Theos 安装……………………196
8.1.2 Theos 常用模块…………………197
8.2 插件开发………………………198
8.2.1 创建工程………………………198
8.2.2 解读工程文件……………………199
8.2.3 编译+打包+安装 ………………204
8.3 命令行工具开发………………208
8.3.1 创建工程…………………………209
8.3.2 兼容iOS 11~iOS 13…………210
8.4 系统级应用开发………………211
8.4.1 创建工程…………………………211
8.4.2 以root权限运行(iOS 11
以下)……………………………213
8.4.3 以 root权限运行(iOS 11、
iOS 12)……………………………215
8.4.4 以root权限运行(iOS 13)…216
8.5 守护进程开发…………………216
8.5.1 创建工程………………………216
8.5.2 自动部署…………………………219
8.6 进程间通信……………………220
8.6.1 Notification 通信 ………………220
8.6.2 XPC通信………………………222
8.6.3 RocketBootstrap 通信…………224
8.7 MonkeyDev………………………228
8.7.1 MonkeyDev安装………………228
8.7.2 Logos Tweak …………………229
8.7.3 CaptainHook Tweak……………231
8.7.4 Command-line Tool……………233
8.8 跟踪函数调用…………………234
8.8.1 使用logify 跟踪………………234
8.8.2 使用 ANYMethodLog跟踪……234
8.8.3 使用 BigBang跟踪……………236
8.9 增加系统设置项……………236
8.9.1 PreferenceLoader………………237
8.9.2 AppList…………………………240
8.10 deb 重打包……………………244
8.11 本章小结……………………246
第9章 Hook 与注入…………………247
9.1 Method Swizzling………………247
9.1.1 Method Swizzling 原理………247
9.1.2 Method Swizzling实例…………248
9.1.3 MSHookMessageEx 实例………249
9.1.4 获取类成员变量实例…………250
9.2 Inline Hook…………………………251
9.2.1 MSHookFunction 实例………252
9.2.2 fishhook 实例…………………252
9.2.3 HookZz实例……………………253
9.3 Swift Hook………………………254
9.3.1 Swift逆向分析…………………254
9.3.2 Swift Hook 实例…………………256
9.4 注入技术………………………257
9.4.1 越狱环境注入…………………257
9.4.2 非越狱环境注入………………258
9.4.3 注入 dylib 实例…………………259
9.5 应用重签名……………………261
9.5.1 手动重签名………………………261
9.5.2 使用iOSAppSigner重签名…264
9.5.3 使用 fastlane 重签名…………265
9.5.4 使用MonkeyDev 重签名……266
9.6 本章小结………………………266
第10章 应用安全……………………267
10.1 调试器对抗…………………267
10.1.1 反调试…………………………267
10.1.2 反-反调试………………………270
10.2 注入对抗……………………271
10.2.1 反注入…………………………271
10.2.2 注入检测………………………272
10.2.3 注入防护…………………………275
10.3 Hook 检测……………………278
10.3.1 Method Swizzing检测………278
10.3.2 Inline Hook 检测……………278
10.4 越狱检测……………………281
10.4.1 检测越狱商店及其附属文件…281
10.4.2 尝试读取系统应用列表………282
10.4.3 检测 URLSchemes 是否有效…282
10.5 完整性检测…………………283
10.5.1 加载命令检测 …………………283
10.5.2 代码段检测……………………284
10.5.3 签名信息检测 …………………285
10.6 代码保护……………………286
10.7 本章小结………………………288
第11章 协议安全…………………289
11.1 HTTP分析利器:Charles…289
11.1.1 配置 Charles…………………289
11.1.2 修改数据包……………………291
11.1.3 重放数据包……………………293
11.1.4 模拟弱网络……………………294
11.1.5 HTTPS抓包…………………295
11.1.6 绕过证书校验……………………297
11.2 TCP/IP分析利器:
Wireshark…………………………298
11.2.1 创建远程虚拟接口…………298
11.2.2 认识Wireshark…………………300
11.2.3 TCP抓包分析示例……………300
11.2.4 数据包过滤………………………303
11.3 常见算法识别………………306
11.3.1 压缩算法………………………307
11.3.2 摘要算法………………………310
11.3.3 对称加密算法……………………313
11.3.4 非对称加密算法………………317
11.3.5 利用插件识别……………………323
11.4 本章小结………………………325
第四篇 融 会 贯 通
第 12章 实战 1:某著名社交 App
小程序格式分析……………327
12.1目标 App介绍………………327
12.2 寻找切入点…………………327
12.3 分析文件结构………………329
12.3.1 分析伪代码……………………329
12.3.2 定义文件结构…………………330
12.4 分析包头结构………………331
12.4.1 推导包头大小…………………332
12.4.2 定义包头结构 ………………335
12.5 分析描述信息结构…………336
12.6 编写解包工具………………339
12.7 本章小结……………………340
第13章 实战 2:某短视频 App 水印
控制及配置开关分析……341
13.1 目标 App介绍………………341
13.2 寻找切入点…………………341
13.2.1 抓包分析……………………341
13.2.2 用FLEXible 获取 Controller…344
13.2.3 用Frida定位按钮响应方法…344
13.3 水印控制逻辑分析…………345
13.4 配置开关分析 ………………350
13.4.1 获取“通用设置”页面的
Controller…………………………350
13.4.2 寻找数据源……………………351
13.4.3 寻找数据模型…………………353
jOS应用逆向与安全之道
13.4.4 分析数据模型………………354
13.5 本章小结……………………357
第14章 实战 3:某游戏广告及
内购流程分析……………358
14.1目标 App介绍………………358
14.2 分析广告逻辑………………359
14.2.1 使用 Reveal 定位广告窗口…359
14.2.2 定位 GADBannerView 类的
初始化方法…………………360
14.2.3 定位 GADBannerView 类加载
广告的方法……………………361
14.2.4 定位GADBannerView 对象的
创建方法 ………………………362
14.3 分析内购流程………………366
14.3.1 定位关键类……………………366
01C14.3.2 追踪 CMPPurchaseManager
类………………………367
14.3.3 追踪 Purchase类……………369
14.3.4 分析回调处理逻辑……………371
14.3.5 分析内购结果构造过程………372
14.4 本章小结……………………373
第15章 实战 4:某物联网设备登录
协议及安全隐患分析……374
15.1 目标App介绍………………374
15.2 登录协议分析………………374
15.2.1 确定可变字段…………………374
15.2.2 定位关键点………………………375
15.2.3 分析参数来源…………………376
15.2.4 分析 verify 算法………………379
15.2.5 分析 salt 值……………………381
15.3 安全隐患分析………………383
15.3.1 安全隐患成因…………………383
15.3.2 安全隐患复现 …………………384
15.4 本章小结……………………385
第16章 实战 5:某乐谱 App下载
协议与安全问题分析……386
16.1 目标 App介绍…………………386
16.2 数据包采样…………………386
16.2.1 确定可变字段…………………386
16.2.2 字段依赖分析…………………387
16.3 签名算法分析………………388
16.3.1 静态定位关键函数……………388
16.3.2 动态调试获取主要参数………390
16.3.3 栈回溯找出其他参数…………392
16.3.4 协议下载乐谱…………………393
16.4 VIP权限校验的安全问题…394
16.4.1 安全问题成因…………………395
16.4.2 分析 VIP权限控制逻辑………397
16.5 乐谱解密过程分析……………398
16.6 本章小结……………………403
第17章 实战 6:某经典 GPS 插件
授权机制分析……………404
17.1目标 App介绍…………………404
17.2 抓包分析……………………405
17.2.1 数据包采样………………………405
17.2.2 判断关键字段……………………406
17.3 定位关键函数…………………408
17.4 授权机制分析………………411
17.4.1 去除反调试……………………411
17.4.2 确定算法…………………………413
17.4.3 分析RSA公钥读取逻辑……416
17.4.4 验证算法…………………………420
17.4.5 主程序验证流程………………420
17.4.6 二次验证流程…………………421
17.5 本章小结……………………423



iOS应用逆向与安全之道pdf电子书下载
类型:文档文件|已下载:18|下载方式:付费下载
立即下载

发表评论

发现

取消
扫码支持 支付码