当前位置:首页 > 工业技术
iOS应用逆向工程  分析与实战
iOS应用逆向工程  分析与实战

iOS应用逆向工程 分析与实战PDF电子书下载

工业技术

  • 电子书积分:11 积分如何计算积分?
  • 作 者:沙梓社,吴航,刘瑾著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2014
  • ISBN:9787111450726
  • 页数:269 页
图书介绍:本书是iOS逆向工程方面的权威著作,两位作者是iOS该领域内的专家,拥有扎实的理论知识和丰富的实践经验。本书内容以工具+代码的形式全面、系统的展开知识点,由浅入深,图文并茂地带着读者一步步探索常规iOS App之外的世界。本书将分为四大部分,分别是概念、工具、理论和实战。前三部分介绍iOS逆向分析这个领域的背景、知识体系,以及相应的工具集、原理知识;第四部分则具体以4个实际案例来将前面的知识以实战的方式展开。第一部分为概念篇,将简单介绍iOS逆向分析的概念以及iOS平台系统架构。第二部分为工具篇,将会介绍一系列基于Mac和iOS平台的配套工具,并且重点讲解其中的Class—dump、Theos、Reveal、IDA、GDB等5个工具的使用方法,前3个侧重于使用,后2个侧重于分析。第三部分为理论篇,主要介绍iOS逆向/越狱这个方向的理论知识。第四部分为实战篇,将通过对3个普通App及1个系统App进行逆向分析的实战操作,让读者能够了解并同步实践已掌握的知识。
《iOS应用逆向工程 分析与实战》目录

第一部分 概念篇 2

第1章 iOS逆向工程简介 2

1.1 iOS软件逆向工程的要求 2

1.2 iOS软件逆向工程的作用 2

1.2.1与安全相关的iOS逆向工程 4

1.2.2与开发相关的iOS逆向工程 5

1.3 iOS软件逆向工程的一般过程 6

1.3.1系统分析 7

1.3.2代码分析 7

1.4 iOS软件逆向工程用到的工具 8

1.4.1监测工具 8

1.4.2开发工具 9

1.4.3反编译器 9

1.4.4调试器 10

1.5小结 11

第2章 越狱iOS平台简介 12

2.1 iOS系统架构 12

2.1.1 iOS目录结构 13

2.1.2 iOS文件权限 15

2.2 iOS程序类型 16

2.2.1 Application 16

2.2.2 Dynamic Library 19

2.2.3 Daemon 19

2.3小结 20

第二部分 工具篇 22

第3章 Mac工具集 22

3.1 class-dump 22

3.1.1 class-dump介绍及下载 22

3.1.2 class-dump使用演示 23

3.1.3关于class-dump的补充说明 25

3.2 Theos 25

3.2.1 Theos简介 25

3.2.2 Theos安装及编译 26

3.2.3 Theos用法简介 28

3.2.4 Theos开发tweak示例 47

3.3 Reveal 49

3.3.1 Reveal简介 49

3.3.2 Reveal安装及功能扩展 50

3.4 IDA 55

3.4.1 IDA简介 55

3.4.2 IDA使用说明 56

3.4.3 IDA分析示例 65

3.5其他工具 68

3.5.1 iTools 68

3.5.2 dyld_decache 69

3.5.3 MesaSQLite 69

3.6小结 70

第4章 iOS工具集 71

4.1 SBSettings 71

4.2 MobileSubstrate 72

4.3 OpenSSH 73

4.4 GDB 74

4.4.1 GDB简介 74

4.4.2 GDB的使用说明 74

4.5 Cycript 85

4.6其他常用工具 88

4.6.1 BigBoss RecommendedTools 88

4.6.2 AppCrackr 88

4.6.3 iFile 89

4.6.4 MobileTerminal 89

4.6.5 Vi IMproved 90

4.6.6 SQLite 90

4.6.7 top 91

4.6.8 syslogd 92

4.7小结 92

第三部分 理论篇 94

第5章 Objective-C相关的iOS逆向理论基础 94

5.1 tweak的作用原理 94

5.1.1 Objective-C语言的特性 94

5.1.2 MobileSubstrate 96

5.2 tweak的编写套路 97

5.2.1灵感的来源 98

5.2.2分析文件,寻找切入点 99

5.2.3定位目标函数 102

5.2.4测试函数功能 104

5.2.5解析函数参数 105

5.2.6 class-dump的局限性 108

5.3实例演示 108

5.3.1得到灵感 108

5.3.2分析文件 109

5.3.3定位函数 115

5.3.4测试函数 117

5.3.5编写实例代码 117

5.4小结 119

第6章 ARM汇编相关的iOS逆向理论基础 120

6.1 ARM汇编基础 120

6.1.1基本概念 121

6.1.2 ARM/FHUMB指令解读 123

6.1.3 ARM调用规则 129

6.2在IDA中分析目标文件 131

6.2.1分析函数实现细节 132

6.2.2验证分析结果 139

6.3在GDB中分析目标文件 142

6.3.1跟踪代码执行流程 142

6.3.2动态更改代码 147

6.4小结 157

第四部分 实战篇 160

第7章 实战1:去除OPlayerLite的广告 160

7.1 OPlayer Lite简介 160

7.2分析源代码结构,并定位广告横幅的代码 161

7.2.1 class-dump获取.h文件 161

7.2.2猜测广告横幅的出现位置 161

7.2.3分析PlayView-Controller.h 162

7.3去除广告横幅,节省流量 167

7.3.1找到“准备”广告的位置 167

7.3.2追溯到网络连接的起点 173

7.4编写调试代码 175

7.4.1编写Tweak_OPlayer-Lite.xm 175

7.4.2编辑control 176

7.4.3编辑RemoveOPlayer-Ads.plist 176

7.4.4编辑Makefile 177

7.4.5编译+打包 177

7.4.6安装 177

7.5调试去广告插件 177

7.6代码结果整理 178

7.7小结 179

第8章 实战2: WhatsApp消息拦截 180

8.1 WhatsApp简介 180

8.2分析源代码结构,并定位监听点 180

8.2.1 class-dump获取.h文件 180

8.2.2导入Xcode 182

8.2.3找到WhatsAppApp-Delegate 182

8.2.4找到ChatManager 183

8.3编写调试代码 184

8.3.1分析函数列表 184

8.3.2编写Tweak Whats-App.xm 185

8.3.3编辑control 186

8.3.4编辑monitor.plist 186

8.3.5编辑Makefile 186

8.3.6编译+打包 187

8.3.7安装 187

8.4调试运行监听插件 187

8.4.1运行WhatsApp,SSH连接 187

8.4.2发送/接收消息,监控日志 188

8.4.3保存数据 189

8.5代码结果整理 194

8.6小结 195

第9章 实战3: Instagram图片保存 196

9.1 Instagram简介 196

9.2分析源代码结构,并定位图片展示点 196

9.2.1用class-dump获取.h文件 196

9.2.2导入Xcode 198

9.2.3找到AppDelegate 198

9.2.4注入Reveal 199

9.2.5寻找图片页相关class 200

9.3保存图片 205

9.3.1尝试保存图片 205

9.3.2对.h文件进行瘦身 206

9.3.3编译测试 208

9.4弹出提示菜单 208

9.4.1弹出菜单代码 208

9.4.2使用Theos新增函数 210

9.4.3使用runtime新增函数 211

9.5代码结果整理 214

9.6小结 215

第10章 实战4: iOS电话操作 216

10.1常用电话操作 216

10.2分析源代码结构,并定位电话操作的代码 216

10.2.1 class-dump获取.h文件 216

10.2.2寻找拨打电话的函数 217

10.2.3寻找接听电话的函数 229

10.2.4寻找挂断电话的函数 234

10.2.5寻找删除通话记录的函数 236

10.2.6寻找拦截电话的方法 238

10.3编写调试代码 250

10.3.1编写Tweak Phone-Operation.xm 250

10.3.2编辑control 254

10.3.3编辑Phone-Operation.plist 255

10.3.4编辑Makefile 255

10.3.5编译+打包+安装 255

10.4调试电话操作插件 255

10.5代码结果整理 257

10.6小结 257

越狱开发一览 258

沙箱逃脱 263

编写tweak——新时代的hacking 265

返回顶部