iOS应用逆向工程第二版:深入探索工具与技术

5星 · 超过95%的资源 需积分: 9 35 下载量 98 浏览量 更新于2024-07-20 1 收藏 19.95MB PDF 举报
iOS应用逆向工程(第2版)是一本深入解析iOS应用程序反编译和分析的专业书籍。该书详细介绍了针对iOS平台的各种逆向工程工具和技术,旨在帮助开发者和安全研究人员理解并掌握iOS应用的内部构造,以便进行调试、漏洞挖掘和功能定制。 1.1章节中,iOS应用的反汇编(䘶ੁ
2017-12-27 上传
iOS应用逆向工程(第2版) 第一部分 概 念 篇 第1章 iOS逆向工程简介 3 1.1 iOS逆向工程的要求 3 1.2 iOS应用逆向工程的作用 4 1.2.1 安全相关的iOS逆向工程 5 1.2.2 开发相关的iOS逆向工程 6 1.3 iOS应用逆向工程的过程 7 1.3.1 系 统分析 7 1.3.2 代码分析 8 1.4 iOS应用逆向工程的工具 8 1.4.1 监测工具 9 1.4.2 反汇编工具 9 1.4.3 调试工具 10 1.4.4 开发工具 11 1.5 小结 11 第2章 越狱iOS平台简介 12 2.1 iOS系统结构 12 2.1.1 iOS目录结构简介 13 2.1.2 iOS文件权限简介 16 2.2 iOS二进制文件类型 17 2.2.1 Application 17 2.2.2 Dynamic Library 20 2.2.3 Daemon 20 2.3 小结 22 第二部分 工 具 篇 第3章 OSX工具集 25 3.1 class-dump 25 3.2 Theos 27 3.2.1 Theos简介 27 3.2.2 安装Theos 28 3.2.3 Theos用法介绍 30 3.2.4 Theos开发tweak示例 51 3.3 Reveal 53 3.4 IDA 57 3.4.1 IDA简介 57 3.4.2 IDA使用说明 58 3.4.3 IDA分析示例 68 3.5 iFunBox 71 3.6 dyld_decache 72 3.7 小结 73 第4章 iOS工具集 74 4.1 CydiaSubstrate 74 4.1.1 MobileHooker 74 4.1.2 MobileLoader 84 4.1.3 Safe mode 84 4.2 Cycript 85 4.3 LLDB与debugserver 89 4.3.1 LLDB简介 89 4.3.2 debugserver简介 90 4.3.3 配置debugserver 90 4.3.4 用debugserver启动或附加进程 91 4.3.5 LLDB的使用说明 92 4.3.6 LLDB使用小提示 107 4.4 dumpdecrypted 107 4.5 OpenSSH 111 4.6 usbmuxd 112 4.7 iFile 113 4.8 MTerminal 114 4.9 syslogd to /var/log/syslog 115 4.10 小结 115 第三部分 理 论 篇 第5章 Objective-C相关的iOS逆向理论基础 119 5.1 tweak在Objective-C中的工作方式 119 5.2 tweak 的编写套路 121 5.2.1 寻找灵感 121 5.2.2 定位目标文件 123 5.2.3 定位目标函数 127 5.2.4 测试函数功能 129 5.2.5 解析函数参数 130 5.2.6 class-dump的局限性 133 5.3 实例演示 133 5.3.1 得到灵感 134 5.3.2 定位文件 135 5.3.3 定位函数 143 5.3.4 测试函数 145 5.3.5 编写实例代码 145 5.4 小结 147 第6章 ARM汇编相关的iOS逆向理论基础 148 6.1 ARM汇编基础 148 6.1.1 基本概念 149 6.1.2 ARM/THUMB指令解读 152 6.1.3 ARM调用规则 159 6.2 tweak的编写套路 161 6.2.1 从现象切入App,找出UI函数 162 6.2.2 以UI函数为起点,寻找目标函数 173 6.3 LLDB的使用技巧 203 6.3.1 寻找函数调用者 203 6.3.2 更改进程执行逻辑 208 6.4 小结 211 第四部分 实 战 篇 第7章 实战1:Characount for Notes 8 215 7.1 备忘录 215 7.2 搭建tweak原型 216 7.2.1 定位Notes的可执行文件 217 7.2.2 class-dump出MobileNotes的头文件 218 7.2.3 用Cycript找到阅览界面及其controller 218 7.2.4 从NoteDisplayController找到当前note对象 220 7.2.5 找到实时监测note内容变化的方法 223 7.3 逆向结果整理 227 7.4 编写tweak 228 7.4.1 用Theos新建tweak工程“CharacountForNotes8” 228 7.4.2 构造CharacountForNotes8.h 229 7.4.3 编辑Tweak.xm 229 7.4.4 编辑Makefile及co