包邮 iOS应用逆向与安全+高性能iOS应用开发 2本 iOS应用逆向安全防护技术书籍

包邮 iOS应用逆向与安全+高性能iOS应用开发 2本 iOS应用逆向安全防护技术书籍 pdf epub mobi txt 电子书 下载 2025

刘培庆,[美] 高拉夫·瓦依希 著
图书标签:
  • iOS逆向
  • iOS安全
  • 应用安全
  • iOS开发
  • 高性能
  • 逆向工程
  • 安全防护
  • 书籍
  • 技术
  • 移动安全
想要找书就要到 新城书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
店铺: 旷氏文豪图书专营店
出版社: 电子工业
ISBN:9787121340994
商品编码:28670524200
开本:1
出版时间:2017-04-01

具体描述

SL91  9787121340994 9787115451200

 iOS应用逆向与安全

 《iOS应用逆向与安全》从正向开发、工具的使用、逆向实战及安全保护等方面,对iOS应用的逆向与安全进行了讲解。本书内容包括基本概念、逆向环境的准备、常用逆向分析工具、类的结构、App签名、Mach-O文件格式、hook原理等,并通过在越狱平台和非越狱平台上的逆向分析实例,带领读者学习逆向分析的思路和方法。在应用安全及保护方面,本书内容涉及网络传输、安全检测、代码混淆等。

    《iOS应用逆向与安全》适合高校计算机相关专业的学生、iOS开发工程师、逆向工程师、越狱开发工程师、iOS安全工程师及应用安全审计人员阅读参考。


1  概述

1.1  逆向工程简介  1

1.1.1  iOS逆向学习基础  1

1.1.2  iOS逆向的流程  1

1.1.3  iOS逆向使用的工具  2

1.1.4  iOS逆向的应用场景  2

1.2  应用面临的安全风险  2

1.2.1  静态修改文件  3

1.2.2  动态篡改逻辑  3

1.2.3  协议分析  3

1.3  应用保护手段  3

1.3.1  数据加密  3

1.3.2  程序混淆  4

1.3.3  安全监测  4

1.4  本书工具  4

1.4.1  效率工具  4

1.4.2  实用工具  5

1.4.3  逆向工具  5

 

2  越狱设备

2.1  什么是越狱  6

2.2  Cydia  6

2.3  SSH  7

2.3.1  安装OpenSSH  8

2.3.2  配置dropbear  10

2.3.3  修改默认密码  11

2.3.4  公钥登录  11

2.3.5  通过USB登录  13

2.4  iOS系统结构  14

2.4.1  文件目录  15

2.4.2  文件权限  17

2.5  Cydia Substrate  18

2.5.1  MobileHooker  19

2.5.2  MobileLoader  19

2.5.3  Safe mode  20

2.6  越狱必备工具  21

2.6.1  adv-cmds  21

2.6.2  appsync  21

2.6.3  iFile  21

2.6.4  scp  22

 

3  逆向工具详解

3.1  应用解密  23

3.1.1  dumpdecrypted  23

3.1.2  Clutch  28

3.1.3  小结  30

3.2  class-dump  30

3.2.1  class-dump的使用  30

3.2.2  class-dump的原理  33

3.2.3  OCSwift混编  40

3.3  Reveal  41

3.3.1  开发集成Reveal  41

3.3.2  越狱注入Reveal  42

3.4  Cycript  43

3.4.1  开发集成Cycript  44

3.4.2  使用Cycript越狱  45

3.4.3  使用Cycript分析应用  46

3.4.4  Cycript的高级用法  49

3.5  抓包  52

3.5.1  Charles抓包  53

3.5.2  修改网络请求  55

3.5.3  HTTPS抓包  59

3.5.4  Wireshark抓包  60

 

4  开发储备

4.1  App的结构及构建  66

4.1.1  获取应用包  66

4.1.2  应用包的格式  71

4.1.3  应用的构建过程  72

4.2  界面结构和事件传递  76

4.2.1  界面的组成  76

4.2.2  界面事件的响应  79

4.3  类与方法  83

4.3.1  类与方法的底层实现  84

4.3.2  运行时类的结构  89

4.3.3  消息机制  91

4.3.4  runtime的应用  94

4.4  App签名  98

4.4.1  配置Xcode签名  98

4.4.2  App签名的原理  100

4.4.3  重签名  107

 

5  分析与调试

5.1  静态分析  109

5.1.1  Hopper  109

5.1.2  IDA  118

5.1.3  静态库分析  125

5.2  动态调试  128

5.2.1  LLDB调试  128

5.2.2  LLDB解密  141

5.2.3  Xcode调试第三方应用  144

5.2.4  LLDB的高级调试技巧  151

5.3  Theos  167

5.3.1  Theos的安装  168

5.3.2  Theos的基本应用  168

5.3.3  Theos的高级应用  172

5.4  MonkeyDev  177

5.4.1  安装MonkeyDev  178

5.4.2  Logos Tweak  179

5.4.3  CaptainHook Tweak  181

5.4.4  Command-line Tool  185

 

6  逆向进阶

6.1  程序加载  186

6.1.1  dyld简介  186

6.1.2  dyld加载流程  187

6.2  Mach-O文件格式  206

6.2.1  Mach-O文件的基本格式  206

6.2.2  Mach-O头部  208

6.2.3  Load Command  210

6.2.4  虚拟地址和文件偏移  214

6.2.5  懒加载和非懒加载  217

6.2.6  Code Signature  223

6.3  ARM汇编  228

6.3.1  ARM架构和指令集  228

6.3.2  AArch64寄存器  229

6.3.3  指令集编码  231

6.3.4  AArch64指令  233

6.3.5  栈和方法  236

6.3.6  Objective-C汇编  245

6.4  hook  247

6.4.1  Method Swizzle  247

6.4.2  fishhook  248

6.4.3  Cydia Substrate  253

6.4.4  Swift hook  256

6.5  动态库  259

6.5.1  编译和注入  260

6.5.2  导出和隐藏符号  260

6.5.3  C++ OC动态库  263

6.5.4  其他常见问题  267

 

7  实战演练

7.1  越狱设备分析  270

7.1.1  分析准备  270

7.1.2  开始分析  272

7.1.3  编写Tweak  284

7.1.4  安装与小结  287

7.2  非越狱设备分析  288

7.2.1  创建MonkeyDev项目  288

7.2.2  非越狱逆向实战  291

7.2.3  编写hook代码  303

7.2.4  制作非越狱Pod  304

7.2.5  小结  308

7.3  Frida实战应用  309

7.3.1  Frida的安装  309

7.3.2  Frida的初级使用  311

7.3.3  Frida的高级使用  319

7.3.4  小结  326

 

8  安全保护

8.1  数据加密  327

8.1.1  本地存储加密  328

8.1.2  网络传输加密  328

8.1.3  字符串加密  333

8.2  静态混淆  341

8.2.1  宏定义  342

8.2.2  二进制修改  347

8.3  动态保护  349

8.3.1  反调试  349

8.3.2  反反调试  352

8.3.3  反注入  359

8.3.4  hook检测  360

8.3.5  完整性校验  361

8.4  代码混淆  363

8.4.1  什么是LLVM  363

8.4.2  下载和编译LLVM  364

8.4.3  开发和调试Pass  366

8.4.4  OLLVM源代码分析  373

8.4.5  替换Xcode编译器  379

8.4.6  静态库混淆  389

8.5  本章总结  390


高性能iOS应用开发

性能对用户体验有着至关重要的影响。本书将介绍对用户体验产生影响的各个方面,并概述如何优化iOS应用的性能。全书共5个部分,主要从性能的衡量标准、对应用至关重要的核心优化点、iOS应用开发特有的性能优化技术以及性能的非代码方面,讲解了应用性能的优化问题。本书的主要目的是展示如何从工程学的角度编写代码。本书适合已经具有Objective-C和iOS实践经验的开发人员阅读。前言 xvii
第一部分 开始
第1 章 移动应用的性能 3
1.1 定义性能 3
1.2 性能指标 4
1.2.1 内存 4
1.2.2 电量消耗 4
1.2.3 初始化时间 4
1.2.4 执行速度 5
1.2.5 响应速度 5
1.2.6 本地存储 5
1.2.7 互操作性 6
1.2.8 网络环境 7
1.2.9 带宽 7
1.2.10 数据刷新 8
1.2.11 多用户支持 8
1.2.12 单点登录 9
1.2.13 安全 9
1.2.14 崩溃 10
1.3 应用性能分析 10
1.3.1 采样 10
1.3.2 埋点 10
1.4 测量 11
1.4.1 设置工程与代码 11
1.4.2 设置崩溃报告 12
1.4.3 对应用埋点 13
1.4.4 日志 17
1.5 小结 19
第二部分 核心优化
第2 章 内存管理 23
2.1 内存消耗 23
2.1.1 栈大小 24
2.1.2 堆大小 25
2.2 内存管理模型 27
2.3 自动释放对象 28
2.4 自动释放池块 30
2.5 自动引用计数 32
2.6 引用类型 35
2.6.1 变量限定符 36
2.6.2 属性限定符 37
2.7 实践环节 38
2.7.1 照片模型 38
2.7.2 更新故事板 38
2.7.3 方法实现 39
2.7.4 输出分析 41
2.8 僵尸对象 42
2.9 内存管理规则 43
2.10 循环引用 43
2.10.1 避免循环引用的规则 45
2.10.2 循环引用的常见场景 46
2.10.3 观察者 56
2.10.4 返回错误 59
2.11 弱类型:id 59
2.12 对象寿命与泄漏 61
2.13 单例 62
2.14 找到神秘的持有者 64
2.15 最佳实践 65
2.16 生产环境的内存使用情况 66
2.17 小结 67
第3 章 能耗 68
3.1 CPU 68
3.2 网络 70
3.3 定位管理器和GPS 73
3.3.1 最佳的初始化 74
3.3.2 关闭无关紧要的特性 75
3.3.3 只在必要时使用网络 76
3.3.4 后台定位服务 77
3.3.5 NSTimer、NSThread 和定位服务 77
3.3.6 在应用关闭后重启 78
3.4 屏幕 78
3.4.1 动画 78
3.4.2 视频播放 78
3.4.3 多屏幕 79
3.5 其他硬件 83
3.6 电池电量与代码感知 83
3.7 分析电量使用 85
3.8 最佳实践 86
3.9 小结 88
第4 章 并发编程 89
4.1 线程 89
4.2 线程开销 90
4.2.1 内核数据结构 90
4.2.2 栈空间 90
4.2.3 创建耗时 90
4.3 GCD 91
4.4 操作与队列 92
4.5 线程安全的代码 93
4.5.1 原子属性 93
4.5.2 同步块 94
4.5.3 锁 96
4.5.4 将读写锁应用于并发读写 100
4.5.5 使用不可变实体 102
4.5.6 使用集中的状态更新服务 106
4.5.7 状态观察者与通知 110
4.5.8 异步优于同步 114
4.6 小结 116
第三部分 iOS 性能
第5 章 应用的生命周期 119
5.1 应用委托 119
5.2 应用启动 121
5.2.1 首次启动 123
5.2.2 冷启动 129
5.2.3 热启动 135
5.2.4 升级后启动 137
5.3 推送通知 138
5.3.1 远程通知 138
5.3.2 本地通知 141
5.4 后台拉取 142
5.5 小结 144
第6 章 用户界面 145
6.1 视图控制器 146
6.1.1 视图加载 149
6.1.2 视图层级 150
6.1.3 视图可见性 152
6.2 视图 154
6.2.1 UILabel 155
6.2.2 UIButton 156
6.2.3 UIImageView 157
6.2.4 UITableView 158
6.2.5 UIWebView 161
6.2.6 自定义视图 164
6.3 自动布局 170
6.4 尺寸类别 171
6.5 iOS 8 中新的交互特性 175
6.5.1 交互式通知 175
6.5.2 应用扩展 176
6.6 小结 179
第7 章 网络 180
7.1 指标和测量 180
7.1.1 DNS 查找时间 181
7.1.2 SSL 握手时间 182
7.1.3 网络类型 183
7.1.4 延迟 188
7.1.5 网络API 190
7.2 应用部署 190
7.2.1 服务器 191
7.2.2 请求 191
7.2.3 数据格式 192
7.3 工具 193
7.3.1 网络链接调节器 193
7.3.2 AT & T 应用资源优化器 194
7.3.3 Charles 196
7.4 小结 199
第8 章 数据共享 200
8.1 深层链接 200
8.2 剪贴板 205
8.3 共享内容 208
8.3.1 文档交互 209
8.3.2 活动 215
8.4 iOS 8 扩展 217
8.4.1 配置操作扩展和共享扩展 219
8.4.2 操作扩展 220
8.4.3 共享扩展 221
8.4. 4 文档提供者扩展 223
8.4.5 应用群组 228
8.5 小结 230
第9 章 安全 231
9.1 应用访问 232
9.1.1 匿名访问 232
9.1.2 认证访问 234
9.2 网络安全 237
9.2.1 使用HTTPS 237
9.2.2 使用证书锁定 238
9.3 本地存储 242
9.4 数据共享 248
9.5 安全和应用性能 248
9.6 清单 248
9.7 小结 250
第四部分 代码之外
第10 章 测试及发布 253
10.1 测试类型 253
10.2 定义 254
10.3 单元测试 255
10.3.1 设置 255
10.3.2 编写单元测试 256
10.3.3 代码覆盖率 258
10.3.4 异步操作 262
10.3.5 Xcode 6 福利:性能单元测试 263
10.3.6 模拟依赖 265
10.3.7 其他框架 268
10.4 功能测试 268
10.4.1 设置 269
10.4.2 编写功能测试 271
10.4.3 工程结构 273
10.5 隔离依赖 274
10.6 测试及组件设计 275
10.7 持续集成与自动化 277
10.8 最佳实践 278
10.9 小结 282
第11 章 工具 283
11.1 Accessibility Inspector 283
11.1.1 Xcode Accessibility Inspector 284
11.1.2 iOS Accessibility Inspector 285
11.2 Instruments 288
11.2.1 使用Instruments 289
11.2.2 活动监视器 291
11.2.3 内存分配 292
11.2.4 内存泄漏 295
11.2.5 网络 296
11.2.6 时间分析器 297
11.3 Xcode 视图调试器 298
11.4 PonyDebugger 300
11.5 Charles 304
11.6 小结 309
第12 章 埋点与分析 310
12.1 词汇 310
12.2 埋点 312
12.2.1 规划 312
12.2.2 实现 314
12.2.3 部署 316
12.3 分析 317
12.4 真实用户监控 317
12.4.1 分析与真实用户监控对比 317
12.4.2 使用真实用户监控 318
12.5 小结 318
第五部分 iOS 9
第13 章 iOS 9 321
13.1 应用的生命周期 321
13.1.1 通用链接 322
13.1.2 搜索 324
13.1.3 搜索最佳实践 328
13.2 用户界面 329
13.2.1 UIKit 框架 330
13.2.2 Safari 服务框架 332
13.3 扩展 335
13.3.1 内容拦截扩展 336
13.3.2 Spotlight 索引扩展 338
13.4 应用瘦身 339
13.4.1 分割 339
13.4.2 按需加载资源 340
13.4.3 bitcode 343
13.5 小结 344
第14 章 iOS 10 345
14.1 Siri 扩展 346
14.2 改进的通知 348
14.2.1 申请权限 348
14.2.2 触发器 348
14.2.3 为通知添加交互 349
14.2.4 完全自定义展示通知 350
14.2.5 通知服务扩展 352
14.3 iMessage 扩展 354
14.4 VoIP 支持 357
作者介绍 359
封面介绍 359

用户评价

评分

评分

评分

评分

评分

评分

评分

评分

评分

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.cndgn.com All Rights Reserved. 新城书站 版权所有