iOS应用逆向与安全之道
作者:罗巍 编著
出版时间: 2020年版
内容简介
本书始终遵循“大道至简”之法则,仅保留必要的理论知识,以实战为主线来揭开iOS应用逆向与安全的神秘面纱。主要内容包括:环境搭建、Mach-O文件格式、ARM汇编、应用脱壳、运行时分析、静态分析、动态调试、iOS插件开发、Hook与注入、应用安全、协议安全等。本书涵盖了时下热门的iOS逆向技术,以及飘云阁论坛版主、信息安全领域一线软件安全专家和笔者自己的多年实战经验,是软件安全研究人员的一本必备秘籍。 本书适合iOS爱好者、对iOS调试技术和对iOS应用协议分析感兴趣的读者、对iOS应用保护感兴趣的开发人员、从其他ping台转战iOSping台的逆向工程师、想提高实战技巧的iOS逆向工程师及计算机相关专业的师生阅读。
目录
序一
序二
序三
序四
前言
第一篇 初 出 茅 庐
第1章 背景知识
1.1 iOS逆向工程简介
1.2 iOS越狱平台简介
1.3 本章小结
第2章 环境搭建
2.1 开发环境
2.2 越狱环境
2.3 SSH配置
2.4 实用工具推荐
2.5 本章小结
第3章 逆向基础
3.1 Mach-O文件格式
3.2 ARM汇编基础
3.3 本章小结
第二篇 小 试 牛 刀
第4章 应用脱壳
4.1 检测是否加壳
4.2 Clutch
4.3 dumpdecrypted
4.4 bfinject
4.5 CrackerXI(iOS 11~iOS 13)
4.6 frida-ios-dump
4.7 使用lipo分离架构
4.8 本章小结
第5章 运行时分析
5.1 class-dump
5.2 Cycript
5.3 Reveal
5.4 FLEX
5.5 Frida
5.6 本章小结
第三篇 登 堂 入 室
第6章 静态分析
6.1 Hopper
6.2 IDA Pro
6.3 如何定位切入点
6.4 实例分析
6.5 本章小结
第7章 动态调试
7.1 LLDB动态调试
7.2 IDA动态调试
7.3 Xcode动态调试
7.4 本章小结
第8章 越狱开发
8.1 Theos简介
8.2 插件开发
8.3 命令行工具开发
8.4 系统级应用开发
8.5 守护进程开发
8.6 进程间通信
8.7 MonkeyDev
8.8 跟踪函数调用
8.9 增加系统设置项
8.10 deb重打包
8.11 本章小结
第9章 Hook与注入
9.1 Method Swizzling
9.2 Inline Hook
9.3 Swift Hook
9.4 注入技术
9.5 应用重签名
9.6 本章小结
第10章 应用安全
10.1 调试器对抗
10.2 注入对抗
10.3 Hook检测
10.4 越狱检测
10.5 完整性检测
10.6 代码保护
10.7 本章小结
第11章 协议安全
11.1 HTTP分析利器:Charles
11.2 TCP/IP分析利器:Wireshark
11.3 常见算法识别
11.4 本章小结
第四篇 融 会 贯 通
第12章 实战1:某著名社交App小程序格式分析
12.1 目标App介绍
12.2 寻找切入点
12.3 分析文件结构
12.4 分析包头结构
12.5 分析描述信息结构
12.6 编写解包工具
12.7 本章小结
第13章 实战2:某短视频App水印控制及配置开关分析
13.1 目标App介绍
13.2 寻找切入点
13.3 水印控制逻辑分析
13.4 配置开关分析
13.5 本章小结
第14章 实战3:某游戏广告及内购流程分析
14.1 目标App介绍
14.2 分析广告逻辑
14.3 分析内购流程
14.4 本章小结
第15章 实战4:某物联网设备登录协议及安全隐患分析
15.1 目标App介绍
15.2 登录协议分析
15.3 安全隐患分析
15.4 本章小结
第16章 实战5:某乐谱App下载协议与安全问题分析
16.1 目标App介绍
16.2 数据包采样
16.3 签名算法分析
16.4 VIP权限校验的安全问题
16.5 乐谱解密过程分析
16.6 本章小结
第17章 实战6:某经典GPS插件授权机制分析
17.1 目标App介绍
17.2 抓包分析
17.3 定位关键函数
17.4 授权机制分析
17.5 本章小结