SL89 9787121340994 9787115350183 9787115388933 9787115465795
iOS应用逆向与安全
《iOS应用逆向与安全》从正向开发、工具的使用、逆向实战及安全保护等方面,对iOS应用的逆向与安全进行了讲解。本书内容包括基本概念、逆向环境的准备、常用逆向分析工具、类的结构、App签名、Mach-O文件格式、hook原理等,并通过在越狱平台和非越狱平台上的逆向分析实例,带领读者学习逆向分析的思路和方法。在应用安全及保护方面,本书内容涉及网络传输、安全检测、代码混淆等。
《iOS应用逆向与安全》适合高校计算机相关的学生、iOS开发工程师、逆向工程师、越狱开发工程师、iOS安全工程师及应用安全审计人员阅读参考。
第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
逆向分析实战
本书的主要内容为:数据的存储及表示形式、汇编语言入门、熟悉调试工具OllyDbg、PE工具详解、PE文件格式实例(包括加壳与脱壳工具的使用)、十六进制编辑器与反编译工具、IDA与逆向、逆向工具原理实现等。本书可以作为程序员、安全技术的研究人员、安全技术爱好者阅读。
第 1章 数据的存储及表示形式 1
1.1 进制及进制的转换 1
1.1.1 现实生活中的进制与计算机的二进制 1
1.1.2 进制的定义 2
1.1.3 进制的转换 2
1.2 数据宽度、字节序和ASCII码 4
1.2.1 数据的宽度 4
1.2.2 数值的表示范围 4
1.2.3 字节序 5
1.2.4 ASCII码 6
1.3 在OD中查看数据 6
1.4 编程判断主机字符序 11
1.4.1 字节序相关函数 11
1.4.2 编程判断主机字节序 11
1.5 总结 13
第 2章 汇编语言入门 14
2.1 x86汇编语言介绍 14
2.1.1 寄存器 15
2.1.2 在OD中认识寄存器 19
2.2 常用汇编指令集 20
2.2.1 指令介绍 20
2.2.2 常用指令介绍 21
2.3 寻址方式 36
2.4 总结 37
第3章 熟悉调试工具OllyDbg 39
3.1 认识OD调试环境 39
3.1.1 启动调试 39
3.1.2 熟悉OD窗口 42
3.2 OD中的断点及跟踪功能 46
3.2.1 OD中设置断点的方法 47
3.2.2 OD中跟踪代码的介绍 52
3.3 OD中的查找功能和编辑功能 53
3.3.1 OD的搜索功能 53
3.3.2 OD修改的编辑功能 55
3.4 OD中的插件功能 56
3.4.1 OD常用插件介绍 56
3.4.2 OD插件脚本编写 58
3.4.3 OD插件的开发 59
3.5 总结 63
第4章 PE工具详解 64
4.1 常用PE工具介绍 64
4.1.1 PE工具 64
4.1.2 Stud_PE介绍 65
4.1.3 PEiD介绍 66
4.1.4 LordPE介绍 66
4.2 PE文件格式详解 67
4.2.1 PE文件结构全貌介绍 68
4.2.2 详解PE文件结构 70
4.2.3 PE结构的三种地址 84
4.3 数据目录相关结构详解 90
4.3.1 导入表 91
4.3.2 导出表 104
4.3.3 重定位表 110
4.4 总结 118
第5章 PE文件格式实例 119
5.1 手写PE文件 119
5.1.1 手写PE文件的准备工作 119
5.1.2 用十六进制字节完成PE文件 120
5.2 手工对PE文件进行 132
5.2.1 修改压缩节区 132
5.2.2 节表合并 135
5.2.3 结构重叠 140
5.2.4 小结 148
5.3 PE结构相关工具 148
5.3.1 增加节区 148
5.3.2 资源编辑 149
5.4 加壳与脱壳工具的使用 154
5.4.1 什么是壳 154
5.4.2 简单壳的原理 155
5.4.3 加壳工具与脱壳工具的使用 166
5.5 PE32+简介 180
5.5.1 文件头 180
5.5.2 可选头 181
5.6 总结 182
第6章 十六进制编辑器与反编译工具 183
6.1 C32Asm 183
6.1.1 文件的打开方式 183
6.1.2 反汇编模式 185
6.1.3 十六进制模式 189
6.2 WinHex 193
6.2.1 内存搜索功能 194
6.2.2 使用模板解析数据 196
6.2.3 完成一个简单的模板 198
6.3 其他十六进制编辑器 200
6.3.1 UltraEdit简介 200
6.3.2 010Editor简介 201
6.4 反编译工具介绍 202
6.4.1 DeDe反编译工具 202
6.4.2 VB反编译工具 206
6.4.3 .NET反编译工具 208
6.4.4 Java反编译工具 211
6.5 总结 211
第7章 IDA与逆向 213
7.1 IDA工具介绍 213
7.1.1 IDA的启动与关闭 213
7.1.2 IDA常用界面介绍 216
7.1.3 IDA的脚本功能 228
7.2 C语言代码逆向基础 231
7.2.1 函数的识别 232
7.2.2 if…else…结构分析 242
7.2.3 switch结构分析 244
7.2.4 循环结构分析 247
7.3 总结 252
第8章 逆向工具原理实现 253
8.1 PE工具的开发 253
8.1.1 GetProcAddress函数的使用 253
8.1.2 GetProcAddress函数的实现 254
8.2 调试工具的开发 238
8.2.1 常见的三种断点 259
8.2.2 调试API函数及相关结构体介绍 262
8.2.3 打造一个密码显示器 273
8.3 总结 277
参考文献 278
逆向工程实战
本书是一本涵盖x86、x64 和ARM 操作的逆向工程类图书,由浅入深地讲解了包括Windows内核模式代码的恶意软件和驱动程序、虚拟机保护技术等内容。作者通过大量真实案例和示例,提供了化的解决方案。
本书适合所有程序员和想要开始学习逆向工程的读者阅读。
评价五 这次一口气入手了这四本关于 iOS 应用逆向与安全的书籍,简直是满足了我对这个领域深入探索的强烈愿望。我一直对那些隐藏在 App 表象之下的复杂机制感到好奇,特别是 iOS 这样一个在安全性和封闭性方面都有很高要求的平台,其逆向工程的技术就显得尤为重要。《现货iOS应用逆向与安全》这本书,我期望它能给我提供一套快速上手、直击核心的逆向分析方法论,让我能够在短时间内掌握分析 iOS 应用的关键技巧,了解常见的安全隐患和防御策略。实操性强的内容是我最看重的。至于《逆向分析实战》、《逆向工程实战》和《逆向工程核心原理》这三本,我猜想它们会是进阶的宝典,从汇编语言的解读,到动态调试的技巧,再到运行时机制的深入剖析,都将会有详细的讲解。我希望能够通过这些书籍,学会如何深入理解 App 的代码逻辑,如何识别和利用潜在的漏洞,甚至是如何对 App 进行一些深度的修改和定制。特别是《逆向工程核心原理》,我把它看作是打通我认知任督二脉的关键,期待它能为我提供扎实的理论基础,让我理解所有逆向操作背后的原理。这套书的组合,感觉像是一位经验丰富的导师,能够一步步地引导我,从初步的了解,到精通的掌握,成为一个真正的 iOS 安全工程师。
评分评价一 这次一口气收了这四本关于 iOS 应用逆向与安全的书,实在是太激动了!我之前在学习 iOS 开发的过程中,对底层原理一直感到好奇,尤其是那些看起来“神秘”的dylib、framework 到底是怎么工作的。这套书的内容,从标题上看就直击要害,相信能够带我深入理解 iOS 应用的内部运作机制。特别是《现货iOS应用逆向与安全》这本书,听名字就感觉非常实用,希望能学到如何分析 App 的逻辑、发现潜在的安全漏洞,甚至是如何进行一些自动化检测。我一直觉得,了解了攻击者的手段,才能更好地构建安全的防护体系,这对我日后的开发工作肯定会有巨大的帮助。至于《逆向分析实战》、《逆向工程实战》和《逆向工程核心原理》这三本,从它们的书名就能感受到厚重感,我猜想它们会更侧重于方法论和深度技术,可能会涉及更复杂的工具使用、汇编语言的解读,甚至是一些底层的内存分析技术。我特别期待能够通过这些实战案例,将理论知识转化为实际操作能力,能够独立地对一个 iOS 应用进行深入的分析,而不是停留在表面。总而言之,这次的购书经历让我对未来的学习充满了期待,希望能够在这四本书的引导下,真正掌握 iOS 应用逆向与安全的核心技术。
评分评价三 这次购书,我主要看中了这四本书在 iOS 逆向工程领域的全面性。作为一个对技术细节有着极度追求的人,我希望能够从最基础的原理到最前沿的应用都一网打尽。《现货iOS应用逆向与安全》这本书,我希望它能像一个“通关秘籍”,告诉我如何快速有效地分析 iOS 应用,了解它的架构,识别它的安全风险,甚至是如何进行一些基础的漏洞挖掘。我特别期待书中能有详细的工具介绍和操作演示,让我能够立刻将所学应用到实际的 App 上。而《逆向分析实战》和《逆向工程实战》,我猜想它们会是深入的技术宝典,可能会涉及诸如 Hopper、IDA Pro 等专业工具的精细化使用,以及 ARM 汇编语言的深入解读,甚至是如何利用 Objective-C 的运行时特性来进行动态分析。我希望能学到如何精准地定位代码逻辑,如何提取关键信息,如何进行代码的修改与重构。至于《逆向工程核心原理》,我把它视为是整个知识体系的“地基”,我期待它能为我梳理清楚逆向工程的底层逻辑,包括二进制的解析、内存的访问、指令的执行等,让我知其然也知其所以然。这四本书的搭配,感觉非常理想,既有落地性的指导,又有深度的理论挖掘,相信能极大地提升我的技术认知和实操能力。
评分评价四 我一直在寻找一本能够真正带我深入了解 iOS 应用“内心世界”的书籍,这次偶然发现了这四本,感觉像是找到了宝藏。《现货iOS应用逆向与安全》听起来就是一本非常实用的手册,我希望它能教会我如何快速搭建起一个 iOS 应用的分析环境,了解常用的逆向工具,并且能够对一些典型的 App 进行分析,理解它们的功能实现和数据交互。我特别注重实践性,希望这本书能够提供大量的案例和代码示例,让我能够边学边练。而《逆向分析实战》和《逆向工程实战》这两本书,我预感它们会是更深入的探索,可能会涉及一些比较晦涩的汇编代码、运行时机制,甚至是关于越狱和安全加固的知识。我非常期待能通过这些实战案例,学会如何破解一些App的限制,理解App是如何保护自身数据的,以及如何发现和利用一些隐藏的漏洞。至于《逆向工程核心原理》,我把它看作是整个逆向工程的“百科全书”,我希望它能为我讲解清楚二进制文件的结构、Mach-O 格式、Objective-C 和 Swift 的运行时机制,以及内存管理等基础概念,让我对 iOS 应用的底层原理有一个系统性的认识。这四本书的组合,简直就是我想要的那种“从入门到精通”的学习路径,希望能让我彻底告别“黑盒”思维。
评分评价二 拿到手这四本书,感觉像是打开了一个全新的世界。我一直对软件的“黑盒子”运作方式感到着迷,尤其是 iOS 这样一个相对封闭的生态系统,它的逆向工程技术更是充满了挑战和吸引力。这次买的这四本,感觉覆盖了从入门到进阶的整个过程。《现货iOS应用逆向与安全》听起来就是一本可以立刻上手实践的指南,我希望它能教我如何使用现有的工具,快速地对 iOS 应用进行分析,了解它的网络通信、数据存储,甚至是一些简单的逻辑篡改。对于我这种动手能力比较强的人来说,实战性的内容是我的首选。而《逆向分析实战》和《逆向工程实战》这两本,我预感会是硬核技术书籍,可能会深入讲解汇编、ARM 指令集,以及如何绕过一些反调试、反反编译的保护措施。我最期待的是能够学到一些“黑科技”,比如如何 hook 关键函数,如何 dump 出加密的类信息。至于《逆向工程核心原理》,听名字就感觉是理论基础的基石,我相信它会为我提供扎实的理论支撑,让我明白为什么这些逆向技术能够奏效,背后的数学和计算机科学原理是什么。这套书的组合,感觉就像是为我量身定制的,既有实践的指导,又有理论的深度,希望能让我成为一个真正的 iOS 逆向高手。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有