iOS逆向与安全
  • 推荐0
  • 收藏1
  • 浏览123

iOS逆向与安全

刘培庆 (作者) 

  • 丛  书:安全技术大系
  • 书  号:978-7-121-34099-4
  • 出版日期:2018-06-01
  • 页  数:390
  • 开  本:16(185*235)
  • 出版状态:正在印刷
  • 维护人:潘昕
纸质版 ¥85.00

相关图书

网络安全法与网络安全等级保护制度培训教程(2018版)

郭启全 (作者)

本书共9章,包括网络安全概述、《网络安全法》解读、网络安全等级保护制度、网络安全等级保护政策体系和标准体系、网络安全等级保护的定级与备案、网络安全等级保护的建设...

¥79.00

云虚拟化安全攻防实践

唐青昊 (作者)

云计算市场已经达到千亿美元量级,云计算形态不断丰富,在企业政府的现在和未来布局中都占据着重要位置。作为云生态的关键部分,Hypervisor使人类具备了对计算机...

¥69.00

网络攻防实战研究:漏洞利用与提权

祝烈煌 张子剑 主编 陈小兵 张胜生 王坤 徐炎 编著 (作者)

本书主要讨论目前常见的漏洞利用与提权技术,分别从攻击和防御的角度介绍渗透过程中相对最难,同时又是渗透最高境界的部分——如何获取服务器乃至整个网络的权限。本书共分...

¥128.00

Web攻防之业务安全实战指南

陈晓光 胡兵 张作峰 (作者)

业务安全漏洞作为常见的Web安全漏洞,在各大漏洞平台时有报道,本书是一本从原理到案例分析,系统性地介绍这门技术的书籍。撰写团队具有10年大型网站业务安全测试经验...

¥69.00

代码虚拟与自动化分析

章书琴 (作者)

本书主要分成3个部分讨论代码虚拟和自动化分析技术。第1部分主要讨论代码虚拟化技术的各种实现方法,并通过一些现有的代码虚拟化技术应用案例引领读者了解代码虚拟化的技...

¥79.00

白帽子讲Web扫描器

刘漩 (作者)

Web扫描器是一种可以对Web应用程序进行自动化安全测试的工具,它可以帮助我们快速发现目标存在的安全风险,并能够对其进行持续性安全监控。<br>本书详细讲述了W...

¥39.00
本书从正向开发、工具的使用、逆向实战及安全保护等方面,对iOS应用的逆向与安全进行了讲解。本书内容包括基本概念、逆向环境的准备、常用逆向分析工具、类的结构、App签名、Mach-O文件格式、hook原理等,并通过在越狱平台和非越狱平台上的逆向分析实例,带领读者学习逆向分析的思路和方法。在应用安全及保护方面,本书内容涉及网络传输、安全检测、代码混淆等。
本书适合高校计算机相关专业的学生、iOS开发工程师、逆向工程师、越狱开发工程师、iOS安全工程师及应用安全审计人员阅读参考。
iOS应用逆向基础、理论、实践、保护全解析
刘培庆(@Alone_Monkey)
iOS逆向爱好者,网易云课堂“iOS逆向与安全”主讲。大学毕业后在网易负责iOS安全保护、基础组件开发、质量保障等工作。目前就职于阿里巴巴米诺斯实验室,从事安全保护相关工作。开源作品有MonkeyDev、frida-ios-dump等。
前言

2015年,通过校招,我以Windows安全方向进入网易,组内安排投入iOS安全方向的研究。当时,我连苹果产品都没用过,于是攒了点钱,在淘宝上买了一台可越狱的iPad来研究。因为之前也没有接触过Objective-C,无法深入阅读当时在网上找到的教程,所以只能跟着敲敲代码,看看效果。后来,通过研读念茜的文章,以及国外博客上的一些教程,把基本工具实践了一番,“狗神”沙梓社的书出版后,把他的书认真看了一遍,才算是踏进了门槛。
在那一段学习过程中,我对新的知识点都是囫囵吞枣,一直停留在工具的使用上,没有形成完整的知识体系和深层的认识,一旦出现问题就要花很长的时间去解决。这一点在后面张平引荐我去做网易云课堂的教学视频时感受尤为深刻——当你要规划整个课程时,你必须从全局出发考虑问题,仅仅根据自身的经验、知道工具的使用方法是不够的,只有理解和掌握原理,才能达到举一反三的效果。虽然从准备资料、制作PPT到最后录制视频的过程挺累的,但在这个过程中,我加深了对知识点的理解。这是我第一次录制视频课程,由于经验不足,导致了部分视频在终端的显示字体太小等问题,但总的来说,还是要感谢那些信任我、购买了我的视频课程的人。
后来,有几个朋友建议我出本书,把掌握的东西分享出来,也让新人少踩点坑。当时我是有点犹豫的。我不仅担心写书会占用很多时间,也担心自己的水平不够、写得不好。后来,想到视频里面的一些内容需要更新,很多知识点可以补充和完善,加上书籍的学习和沉淀效果也比视频好一些,我就开始做准备,规划每一章的完成时间,每天下班后或者周末在电脑前整理资料、写书,也挺充实的。现在,这本书终于和你见面了,希望书中的内容能够帮助你扩充自己的知识面,少走弯路,成为技术大牛。
读者对象
本书介绍了iOS开发、逆向和安全等方面的内容,面向以下读者:
*高校计算机相关专业的学生
*iOS开发工程师
*逆向工程师
*越狱开发工程师
*iOS安全工程师
*应用安全审计人员
近几年,iOS开发人员数量激增。正向开发人员应该努力提升自己的竞争力,掌握一些底层技能,为自己开发的应用保驾护航。逆向新人也不要一味追求工具的使用和功能的实现,应该静下心来,基础知识掌握得扎实一些,后面的问题自然迎刃而解。
如何阅读本书
考虑到很多逆向分析人员缺乏正向开发和安全保护方面的知识,本书将分成以下4个部分进行讲解。
*第1章~第3章是快速上手部分,内容包括一些基本概念的介绍,环境的准备,以及一些常用逆向分析工具的使用和原理。
*第4章~第6章是正向知识储备和进阶部分,内容包括逆向过程中一些理论知识的深入讲解,例如类的结构、App签名、Mach-O文件格式、hook原理等。
*第7章是逆向实战部分,通过在越狱平台和非越狱平台上的逆向分析实例,带领读者学习逆向分析的思路和方法。
*第8章是安全保护部分,内容包括应用安全及保护方面的知识,涉及网络传输加密、动态保护、代码混淆等。
尽管不同的人感兴趣的方面可能不一样,但我还是建议读者能够从头开始阅读本书,并把书中提到的每个知识点都实践一遍,以加深理解。
本书的源代码可以在GitHub上面找到:
https://github.com/AloneMonkey/iOSREBook
声明
本书的写作花费了大量的时间和心血,我只是想帮助大家在学习过程中少走弯路、拓宽知识面、增加技术积累,所以,请支持正版书籍,坚决抵制盗版!另外,本书内容仅供技术学习和研究之用,请勿将本书内容用于非法商业用途。
勘误
由于知识水平有限,写作过程也比较匆忙,书中难免出现错误及不足,欢迎各位读者指正。同时,我为本书开设了一个提交issue的项目:
https://github.com/AloneMonkey/iOSREBook-issues
致谢
感谢我的家人,在我成长的路上一直支持我、鼓励我。
感谢我异地三年的女友,很抱歉没有陪在你的身边。即便如此,你还是不离不弃,一直支持我的选择。
感谢念茜、狗神及在我的学习路上给予我帮助的人,感谢在网易期间的所有同事,是你们让我不断成长。
感谢电子工业出版社提供的平台,感谢编辑潘昕对本书内容的把控和指导。
感谢正在阅读本书的你,谢谢你的支持和信任。



刘培庆
2018年4月,于杭州

目录

目 录

第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



读者评论

图书类别

同系列书

  • 黑客攻防:实战加密与解密

    陈小兵 (作者)

    本书从黑客攻防的专业角度,结合网络攻防中的实际案例,图文并茂地再现Web渗透涉及的密码获取与破解过程,是一本对密码获取与破解进行全面研究的图书。本书共分7章,由...

    ¥69.00
  • 阻击黑客:技术、策略与案例

    Steven M. Bellovin (作者) 徐菲 (译者)

    作者是世界上最受尊重和认可的安全专家之一,他在本书中提供了一种看安全的新视角。<br>本书第1部分从问题定义开始,从系统化的角度看待安全,讨论当前安全发展的变化...

    ¥79.00
  • 软件保护及分析技术——原理与实践

    章立春 (作者)

    本书对软件安全领域的保护与分析技术进行了全面的讨论和剖析,通过保护与分析的对比讲解,结合代码和操作流程,对软件安全领域的各种技术进行了详尽的讨论,并将理论与实践...

    ¥59.00
  • 数据恢复技术(经典重现版)

    戴士剑 (作者)

    数据恢复技术逐渐成为一门常用技术,它通过各种手段把丢失和遭到破坏的数据还原为正常数据。本书通过多个典型实例详细介绍了Windows系统下数据恢复技术的原理和方法...

    ¥99.00
  • Web应用安全威胁与防治——基于OWASP Top 10与ESAPI

    王文君 (作者)

    本书详细介绍了OWASP总结的10项最严重的web应用程序安全风险,包括:注入、跨站脚本(XSS)、失效的身份认证和会话管理、不安全的直接对象引用、伪造跨站请求...

    ¥69.00