《iOS应用逆向工程(第2版)》 全球**本讲解iOS8应用逆向工程的实战手册,作者毫无保留地分享了数年来在iOS逆向工程领域的经验,仅此一家。 内容系统深,逻辑紧密,实战性强,从iOS系统架构等理论出发,以多个实例贯穿全书,阐述class-dump、Theos、Cycript、Reveal、IDA、LLDB等常用工具的使用,通俗易懂。 总结提炼出一套从UI观察切代码分析的iOS应用逆向工程方法论,授人以渔。
售 价:¥
纸质售价:¥59.20购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
推荐序一
推荐序二
第2版序
第1版序
未选之路
前言
第一部分 概念篇
第1章 iOS逆向工程简介
1.1 iOS逆向工程的要求
1.2 iOS应用逆向工程的作用
1.2.1 安全相关的iOS逆向工程
1.2.2 开发相关的iOS逆向工程
1.3 iOS应用逆向工程的过程
1.3.1 系统分析
1.3.2 代码分析
1.4 iOS应用逆向工程的工具
1.4.1 监测工具
1.4.2 反汇编工具
1.4.3 调试工具
1.4.4 开发工具
1.5 小结
第2章 越狱iOS平台简介
2.1 iOS系统结构
2.1.1 iOS目录结构简介
2.1.2 iOS文件权限简介
2.2 iOS二进制文件类型
2.2.1 Application
2.2.2 Dynamic Library
2.2.3 Daemon
2.3 小结
第二部分 工具篇
第3章 OSX工具集
3.1 class-dump
3.2 Theos
3.2.1 Theos简介
3.2.2 安装Theos
3.2.3 Theos用法介绍
3.2.4 Theos开发tweak示例
3.3 Reveal
3.4 IDA
3.4.1 IDA简介
3.4.2 IDA使用说明
3.4.3 IDA分析示例
3.5 iFunBox
3.6 dyld_decache
3.7 小结
第4章 iOS工具集
4.1 CydiaSubstrate
4.1.1 MobileHooker
4.1.2 MobileLoader
4.1.3 Safe mode
4.2 Cycript
4.3 LLDB与debugserver
4.3.1 LLDB简介
4.3.2 debugserver简介
4.3.3 配置debugserver
4.3.4 用debugserver启动或附加进程
4.3.5 LLDB的使用说明
4.3.6 LLDB使用小提示
4.4 dumpdecrypted
4.5 OpenSSH
4.6 usbmuxd
4.7 iFile
4.8 MTerminal
4.9 syslogd to/var/log/syslog
4.10 小结
第三部分 理论篇
第5章 Objective-C相关的iOS逆向理论基础
5.1 tweak在Objective-C中的工作方式
5.2 tweak的编写套路
5.2.1 寻找灵感
5.2.2 定位目标文件
5.2.3 定位目标函数
5.2.4 测试函数功能
5.2.5 解析函数参数
5.2.6 class-dump的局限性
5.3 实例演示
5.3.1 得到灵感
5.3.2 定位文件
5.3.3 定位函数
5.3.4 测试函数
5.3.5 编写实例代码
5.4 小结
第6章 ARM汇编相关的iOS逆向理论基础
6.1 ARM汇编基础
6.1.1 基本概念
6.1.2 ARM/THUMB指令解读
6.1.3 ARM调用规则
6.2 tweak的编写套路
6.2.1 从现象切入App,找出UI函数
6.2.2 以UI函数为起点,寻找目标函数
6.3 LLDB的使用技巧
6.3.1 寻找函数调用者
6.3.2 更改进程执行逻辑
6.4 小结
第四部分 实战篇
第7章 实战1:Characount for Notes 8
7.1 备忘录
7.2 搭建tweak原型
7.2.1 定位Notes的可执行文件
7.2.2 class-dump出MobileNotes的头文件
7.2.3 用Cycript找到阅览界面及其controller
7.2.4 从NoteDisplayController找到当前note对象
7.2.5 找到实时监测note内容变化的方法
7.3 逆向结果整理
7.4 编写tweak
7.4.1 用Theos新建tweak工程“CharacountForNotes8”
7.4.2 构造CharacountForNotes8.h
7.4.3 编辑Tweak.xm
7.4.4 编辑Makefile及control
7.4.5 测试
7.5 小结
第8章 实战2:自动将指定电子邮件标记为已读
8.1 电子邮件
8.2 搭建tweak原型
8.2.1 定位Mail的可执行文件并class-dump它
8.2.2 把头文件导入Xcode
8.2.3 用Cycript找到Mailboxes界面的controller
8.2.4 用Reveal和Cycript找到All Inboxes界面的delegate
8.2.5 在MailboxContentViewController中定位“刷新完成”的响应函数
8.2.6 从MessageMegaMall中拿到所有邮件
8.2.7 从MFLibraryMessage中提取发件人地址,用MessageMegaMall标记已读
8.3 逆向结果整理
8.4 编写tweak
8.4.1 用Theos新建tweak工程“iOSREMailMarker”
8.4.2 构造iOSREMailMarker.h
8.4.3 编辑Tweak.xm
8.4.4 编辑Makefile及control
8.4.5 测试
8.5 小结
第9章 实战3:保存与分享微信小视频
9.1 微信
9.2 搭建tweak原型
9.2.1 观察小视频播放窗口,寻找逆向切入点
9.2.2 class-dump获取头文件
9.2.3 把头文件导入Xcode
9.2.4 用Reveal找到小视频播放窗口
9.2.5 找到长按手势响应函数
9.2.6 用Cycript定位小视频的controller
9.2.7 从WCTimeLineViewController找到小视频对象
9.2.8 从WCContentItemViewTemplateNew-Sight中提取WCDataItem对象
9.2.9 从WCDataItem中提取目标信息
9.3 逆向结果整理
9.4 编写tweak
9.4.1 用Theos新建tweak工程“iOSREWCVideoDownloader”
9.4.2 构造iOSREWCVideoDownloader.h
9.4.3 编辑Tweak.xm
9.4.4 编辑Makefile及control
9.4.5 测试
9.5 彩蛋放送
9.5.1 从UIMenuItem切入,找到小视频对象
9.5.2 微信历史版本头文件个数变迁
9.6 小结
第10章 实战4:检测与发送iMessage
10.1 iMessage
10.2 检测一个号码或邮箱地址是否支持iMessage
10.2.1 观察MobileSMS界面元素的变化,寻找逆向切入点
10.2.2 用Cycript找出placeholder
10.2.3 用IDA和LLDB找出placeholderText的一重数据源
10.2.4 用IDA和LLDB找出placeholderText的N重数据源
10.2.5 还原原始数据源生成placeholderText的过程
10.3 发送iMessage
10.3.1 从MobileSMS界面元素寻找逆向切入点
10.3.2 用Cycript找出“Send”按钮的响应函数
10.3.3 在响应函数中寻找可疑的发送操作
10.4 逆向结果整理
10.5 编写tweak
10.5.1 用Theos新建tweak工程“iOSREMadridMessenger”
10.5.2 构造iOSREMadridMessenger.h
10.5.3 编辑Tweak.xm
10.5.4 编辑Makefile及control
10.5.5 用Cycript测试
10.6 小结
越狱开发一览
沙箱逃脱
编写tweak——新时代的hacking
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜