
《ios应用逆向工程:分析与实战》是ios应用逆向工程方面的权威著作,三位作者都是ios领域内的专家,拥有扎实的理论知识和丰富的实践经验。本书内容以工具+代码的形式全面、系统地展开知识点,由浅入深,图文并茂地带着读者一步步探索常规ios app之外的世界。《ios应用逆向工程:分析与实战》分为四大部分,分别是概念、工具、理论和实战。前三部分介绍ios逆向分析领域的背景、知识体系,以及相应的工具集、理论知识;第四部分则通过4个实际案例来将前面的知识以实战的方式展开。第一部分为概念篇,简单介绍ios逆向分析的概念以及ios平台系统架构。第二部分为工具篇,介绍一系列基于mac和ios平台的配套工具,并且重点讲解其中的class-dump、theos、reveal、ida、gdb等5个工具的使用方法,前3个侧重于使用,后2个侧重于分析。第三部分为理论篇,主要讲述ios逆向/越狱方向的进阶必备理论知识。第四部分为实战篇,通过对3个app store app及1个系统app进行逆向分析的实战操作,让读者能够了解并同步实践已掌握的知识。
《ios应用逆向工程:分析与实战》推荐序一推荐序二自序前言第一部分 概念篇第1 章 ios 逆向工程简介 21.1 ios 软件逆向工程的要求 21.2 ios 软件逆向工程的作用 21.2.1 与安全相关的ios 逆向工程 41.2.2 与开发相关的ios 逆向工程 51.3 ios 软件逆向工程的一般过程 61.3.1 系统分析 71.3.2 代码分析 71.4 ios 软件逆向工程用到的工具 81.4.1 监测工具 81.4.2 开发工具 91.4.3 反编译器 91.4.4 调试器 101.5 小结 11.第2 章 越狱ios 平台简介 122.1 ios 系统架构 122.1.1 ios 目录结构 132.1.2 ios 文件权限 152.2 ios 程序类型 162.2.1 application 162.2.2 dynamic library 192.2.3 daemon 192.3 小结 20第二部分 工具篇第3 章 mac 工具集 223.1 class-dump 223.1.1 class-dump 介绍及下载 223.1.2 class-dump 使用演示 233.1.3 关于class-dump 的补充说明 253.2 theos 253.2.1 theos 简介 253.2.2 theos 安装及编译 263.2.3 theos 用法简介 283.2.4 theos 开发tweak 示例 473.3 reveal 493.3.1 reveal 简介 493.3.2 reveal 安装及功能扩展 503.4 ida 553.4.1 ida 简介 553.4.2 ida 使用说明 563.4.3 ida 分析示例 653.5 其他工具 683.5.1 itools 683.5.2 dyld_decache 693.5.3 mesasqlite 693.6 小结 70第4 章 ios 工具集 714.1 sbsettings 714.2 mobilesubstrate 724.3 openssh 734.4 gdb 744.4.1 gdb 简介 744.4.2 gdb 的使用说明 744.5 cycript 854.6 其他常用工具 884.6.1 bigboss recommendedtools 884.6.2 appcrackr 884.6.3 ifile 894.6.4 mobileterminal 894.6.5 vi improved 904.6.6 sqlite 904.6.7 top 914.6.8 syslogd 924.7 小结 92第三部分 理论篇第5 章 objective-c 相关的ios逆向理论基础 945.1 tweak 的作用原理 945.1.1 objective-c 语言的特性 945.1.2 mobilesubstrate 965.2 tweak 的编写套路 975.2.1 灵感的来源 985.2.2 分析文件,寻找切入点 995.2.3 定位目标函数 1025.2.4 测试函数功能 1045.2.5 解析函数参数 1055.2.6 class-dump 的局限性 1085.3 实例演示 1085.3.1 得到灵感 1085.3.2 分析文件 1095.3.3 定位函数 1155.3.4 测试函数 1175.3.5 编写实例代码 1175.4 小结 119第6 章 arm 汇编相关的ios逆向理论基础 1206.1 arm 汇编基础 1206.1.1 基本概念 1216.1.2 arm/thumb 指令解读 1236.1.3 arm 调用规则 1296.2 在ida 中分析目标文件 1316.2.1 分析函数实现细节 1326.2.2 验证分析结果 1396.3 在gdb 中分析目标文件 1426.3.1 跟踪代码执行流程 1426.3.2 动态更改代码 1476.4 小结 157第四部分 实战篇第7 章 实战1:去除oplayerlite 的广告 1607.1 oplayer lite 简介 1607.2 分析源代码结构,并定位广告横幅的代码 1617.2.1 class-dump 获取.h 文件 1617.2.2 猜测广告横幅的出现位置 1617.2.3 分析playviewcontroller.h 1627.3 去除广告横幅,节省流量 1677.3.1 找到“准备”广告的位置 1677.3.2 追溯到网络连接的起点 1737.4 编写调试代码 1757.4.1 编写tweak_oplayerlite.xm 1757.4.2 编辑control 1767.4.3 编辑removeoplayerads.plist 1767.4.4 编辑makefile 1777.4.5 编译+ 打包 1777.4.6 安装 1777.5 调试去广告插件 1777.6 代码结果整理 1787.7 小结 179第8 章 实战2:whatsapp消息拦截 1808.1 whatsapp 简介 1808.2 分析源代码结构,并定位监听点 1808.2.1 class-dump 获取.h 文件 1808.2.2 导入xcode 1828.2.3 找到whatsappappdelegate 1828.2.4 找到chatmanager 1838.3 编写调试代码 1848.3.1 分析函数列表 1848.3.2 编写tweak_whatsapp.xm 1858.3.3 编辑control 1868.3.4 编辑monitor.plist 1868.3.5 编辑makefile 1868.3.6 编译+打包 1878.3.7 安装 1878.4 调试运行监听插件 1878.4.1 运行whatsapp,ssh 连接 1878.4.2 发送/ 接收消息,监控日志 1888.4.3 保存数据 1898.5 代码结果整理 1948.6 小结 195第9 章 实战3:instagram 图片保存 1969.1 instagram 简介 1969.2 分析源代码结构,并定位图片展示点 1969.2.1 用class-dump获取.h 文件 1969.2.2 导入xcode 1989.2.3 找到appdelegate 1989.2.4 注入reveal 1999.2.5 寻找图片页相关class 2009.3 保存图片 2059.3.1 尝试保存图片 2059.3.2 对.h 文件进行瘦身 2069.3.3 编译测试 2089.4 弹出提示菜单 2089.4.1 弹出菜单代码 2089.4.2 使用theos 新增函数 2109.4.3 使用runtime 新增函数 2119.5 代码结果整理 2149.6 小结 215第10 章 实战4:ios 电话操作 21610.1 常用电话操作 21610.2 分析源代码结构,并定位电话操作的代码 21610.2.1 class-dump 获取.h 文件 21610.2.2 寻找拨打电话的函数 21710.2.3 寻找接听电话的函数 22910.2.4 寻找挂断电话的函数 23410.2.5 寻找删除通话记录的函数 23610.2.6 寻找拦截电话的方法 23810.3 编写调试代码 25010.3.1 编写tweak_phoneoperation.xm 25010.3.2 编辑control 25410.3.3 编辑phoneoperation.plist 25510.3.4 编辑makefile 25510.3.5 编译+ 打包+ 安装 25510.4 调试电话操作插件 25510.5 代码结果整理 25710.6 小结 257越狱开发一览 258沙箱逃脱 263编写tweak——新时代的hacking 265
评论关闭。