iOS 应用逆向工程分析流程图

制作 by JamesHopbourn
iOS应用逆向与安全

购书链接

京东: https://item.jd.com/12361729.html 6

天猫: https://detail.tmall.com/item.htm?id=570691214072 1

当当: http://product.dangdang.com/25283164.html

亚马逊: https://www.amazon.cn/dp/B07D5952BR/

多多支持正版

目录

第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 OC和Swift混编 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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,736评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,167评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,442评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,902评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,302评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,573评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,847评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,562评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,260评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,531评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,021评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,367评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,016评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,068评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,827评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,610评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,514评论 2 269

推荐阅读更多精彩内容