现货iOS应用逆向与安全 刘培庆 ios应用逆向工程分析技术教程书籍

现货iOS应用逆向与安全 刘培庆 ios应用逆向工程分析技术教程书籍 pdf epub mobi txt 电子书 下载 2025

刘培庆 著
图书标签:
  • iOS逆向
  • iOS安全
  • 逆向工程
  • 应用分析
  • 刘培庆
  • iOS开发
  • 安全漏洞
  • 脱壳
  • 砸壳
  • 攻防
想要找书就要到 新城书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
店铺: 蓝墨水图书专营店
出版社: 电子工业出版社
ISBN:9787121340994
商品编码:1670014481

具体描述



iOS应用逆向与安全 平装 – 2018年6月25日

刘培庆 (作者)

 

基本信息

出版社: 电子工业出版社; 第1版 (2018年6月1日)

平装

ISBN: 9787121340994

品牌: 电子工业出版社

ASIN: B07D5952BR

iOS应用逆向基础、理论、实践、保护全解析

 

 

编辑推荐

这是一本从基础、理论、实践到保护,全面介绍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

 

 

 

 

内容介绍

 

 

 

    《iOS应用逆向与安全》从正向开发、工具的使用、逆向实战及安全保护等方面,对iOS应用的逆向与安全进行了讲解。本书内容包括基本概念、逆向环境的准备、常用逆向分析工具、类的结构、App签名、Mach-O文件格式、hook原理等,并通过在越狱平台和非越狱平台上的逆向分析实例,带领读者学习逆向分析的思路和方法。在应用安全及保护方面,本书内容涉及网络传输、安全检测、代码混淆等。

 

    《iOS应用逆向与安全》适合高校计算机相关专业的学生、iOS开发工程师、逆向工程师、越狱开发工程师、iOS安全工程师及应用安全审计人员阅读参考。

 

 

 

 

作者介绍

 

刘培庆(@Alone_Monkey)

 

iOS逆向爱好者,网易云课堂“iOS逆向与安全”主讲。大学毕业后在网易负责iOS安全保护、基础组件开发、质量保障等工作。目前就职于阿里巴巴米诺斯实验室,从事安全保护相关工作。开源作品有MonkeyDev、frida-ios-dump等。


解锁移动应用的深层奥秘:一本面向开发者与安全爱好者的实践指南 在数字化浪潮席卷的今天,移动应用程序已渗透到我们生活的方方面面,从社交娱乐到金融支付,再到工作学习,它们扮演着日益重要的角色。然而,对于大多数用户而言,应用软件就像一个黑盒子,我们仅能通过其表面的功能与之互动,而其内部的运作机制、代码逻辑以及潜在的安全隐患,却鲜为人知。对于开发者而言,深入理解自身应用的结构与行为,以及如何抵御恶意攻击,是构建高质量、安全可靠产品的基石。而对于安全爱好者而言,探索应用的内部世界,洞察其工作原理,更是掌握网络安全技术、参与安全攻防的重要途径。 本书旨在为您打开一扇通往移动应用内部世界的大门,提供一套系统、详尽且极具实践性的方法论,帮助您深入理解移动应用的工作原理,掌握核心的分析技术,并能够识别和应对潜在的安全风险。我们并非专注于某一款特定的应用程序,而是致力于传授普适性的分析思维和技术框架,让您能够触类旁通,独立分析市面上绝大多数的移动应用。 本书涵盖的精彩内容 本书的内容设计,遵循从基础到进阶,从理论到实践的循序渐进的学习路径,确保不同背景的读者都能从中受益。 第一部分:基础理论与环境搭建——构建坚实的分析基石 在深入技术细节之前,扎实的基础理论和完善的分析环境是必不可少的。本部分将带领您: 深入理解移动应用的基本架构: 您将了解到移动应用是如何被构建、打包和运行的,包括其核心组件(如Activity、Service、Broadcast Receiver、Content Provider)、生命周期以及它们之间的交互方式。我们将解释 Dalvik/ART 虚拟机的工作原理,以及应用程序的字节码是如何在这些虚拟机上执行的。 掌握常用的反编译与静态分析工具: 我们将详细介绍业界主流的反编译工具,如 jadx、GDA、JEB 等,并演示如何使用它们将应用程序的字节码还原成可读性更高的 Java 或 Smali 代码。您将学习如何利用这些工具进行代码浏览、类结构分析、字符串提取以及资源文件解析,从而对应用程序的整体构成有一个初步的认识。 搭建高效的动态分析环境: 静态分析只能看到代码的“骨架”,而动态分析则能揭示其“血肉”。本部分将指导您搭建一个功能强大的动态分析环境,包括 Android 模拟器、真机调试环境的配置。您将学习如何使用 Frida、Xposed 等Hook框架,在应用程序运行时拦截函数调用、修改函数返回值、注入自定义代码,从而观察应用程序的实时行为。 理解应用程序的打包与签名机制: 应用程序的完整性和来源的验证至关重要。您将了解 APK(Android Package Kit)文件的结构,以及 Android 的签名机制如何保证应用程序的未被篡改,并学习如何进行证书信息的提取和分析。 第二部分:核心逆向工程技术——精通代码层面的深度探索 在建立了坚实的基础后,本部分将带您进入应用程序逆向工程的核心领域,掌握一系列强大的技术手段: Smali 代码的深入剖析与修改: 尽管我们可以将 Dalvik/ART 字节码反编译成 Java 代码,但 Smali 代码才是直接操作字节码的中间语言。我们将详细讲解 Smali 的语法结构、指令集以及常用操作,并演示如何阅读和理解 Smali 代码,甚至对其进行修改,以实现对应用程序行为的细致控制。 Hook 技术的灵活运用: Hook 技术是动态分析的利器,它允许我们在不修改原始代码的情况下,拦截和修改程序的执行流程。您将学习如何使用 Frida、Xposed 等框架,针对特定的类和方法编写 Hook 脚本,实现诸如数据抓取、权限绕过、逻辑篡改等高级功能。我们将通过大量的实际案例,展示 Hook 技术在破解、安全检测和功能增强方面的巨大潜力。 内存与进程分析: 应用程序在运行时会占用内存,并与其他进程进行交互。本部分将介绍如何使用内存分析工具,如 Memory Analyzer Tool (MAT),检查应用程序的内存占用情况,查找内存泄漏,甚至直接从内存中提取敏感信息。同时,您将学习如何监控和分析应用程序与其他进程的通信,了解其在系统中的行为模式。 数据存储与加密解密技术的探索: 应用程序通常会存储用户数据、配置信息等,这些数据的存储方式和加密方式直接关系到数据的安全性。您将学习如何定位和分析应用程序使用 SharedPreferences、SQLite 数据库、文件等方式存储数据,并重点关注对常见加密算法(如AES、RSA)的识别与解密技术。我们将展示如何通过Hook或直接分析代码,找出加密密钥和算法,从而实现对敏感数据的解密。 第三部分:应用安全攻防与实战演练——提升您的安全防护意识 理论知识最终需要与实践相结合,才能真正发挥其价值。本部分将侧重于应用程序的安全防护,以及如何运用逆向工程技术进行安全检测和攻防演练: 识别与防范常见的安全漏洞: 您将深入了解移动应用中常见的安全漏洞,如SQL注入、跨站脚本(XSS)、不安全的本地存储、权限滥用、通信劫持等。我们将结合实际案例,分析这些漏洞是如何产生的,以及如何利用逆向工程技术去发现它们。 代码混淆与加固技术的分析: 为了保护源代码不被轻易破解,开发者通常会采用代码混淆和加固技术。本部分将揭示常见的代码混淆原理,并教您如何通过反混淆工具和技术,逐步还原被混淆的代码,使其重新变得可读。同时,您将了解各种加固手段的原理,并学习如何针对性地进行破解。 通信安全与抓包分析: 应用程序与服务器之间的通信是数据传输的关键环节。您将学习如何使用 Wireshark、Charles Proxy 等抓包工具,拦截和分析应用程序的网络通信,包括 HTTP/HTTPS 请求和响应。我们将重点讲解如何处理 HTTPS 证书 pinning 问题,以及如何通过 Hook 技术来解密 SSL/TLS 通信,从而洞察敏感数据的传输过程。 实战攻防案例分析: 本部分将通过一系列精心设计的实战案例,涵盖从简单应用到复杂应用的破解与分析过程。这些案例将覆盖不同类型的应用,如游戏、社交应用、工具应用等,让您亲身感受逆向工程和安全分析的魅力。您将有机会动手实践,运用本书所学的知识,独立完成一些具有挑战性的分析任务。 安全编码实践与自我防护: 在学习如何破解和分析应用的同时,我们也将引导您思考如何编写更安全的代码,如何为自己的应用程序添加有效的安全防护措施,从而提升应用程序的健壮性和安全性。 本书的目标读者 本书的内容设计,面向广泛的读者群体: 移动应用开发者: 无论您是 Android 还是 iOS 开发者,本书都能帮助您更深入地理解应用的底层机制,优化代码结构,发现潜在的安全隐患,提升应用的安全性和稳定性。 安全研究人员与渗透测试工程师: 本书将为您提供一套系统的逆向工程工具和技术,助您在移动应用安全领域取得突破,发现和利用应用漏洞。 计算机科学与网络安全专业的学生: 本书是您学习移动应用安全、逆向工程和二进制分析的绝佳入门和进阶读物。 对移动应用内部运作充满好奇心的技术爱好者: 如果您对应用程序的“黑箱”充满疑问,渴望了解其背后运作的奥秘,本书将满足您的求知欲,并为您打开一扇全新的技术视野。 本书的独特价值 系统性与全面性: 本书并非零散的技术点堆砌,而是构建了一个完整的知识体系,从基础理论到高级技术,再到实战应用,层层递进,确保您能够全面掌握移动应用逆向与安全分析的精髓。 实践导向: 我们强调动手实践的重要性,本书包含了大量的实例演示和练习,让您在学习过程中能够立即运用所学知识,解决实际问题。 前沿性: 本书紧跟移动技术和安全领域的发展步伐,涵盖了最新的工具和技术,让您的知识保持与时俱进。 普适性: 我们专注于教授通用的分析思维和技术框架,而非针对特定应用的破解教程。这意味着您掌握的技能将能够应用于分析绝大多数的移动应用程序。 结语 在这个充满机遇与挑战的数字化时代,深入理解和掌握移动应用的运作原理与安全机制,已成为一项必备的核心技能。本书将是您踏入移动应用逆向与安全分析领域,开启深度探索之旅的理想伙伴。我们相信,通过本书的学习,您不仅能够揭开应用程序的神秘面纱,更能够提升自身的安全防护意识,成为一名更具竞争力的技术人才。现在,就让我们一起踏上这场激动人心的技术探索之旅吧!

用户评价

评分

说实话,我之前也翻看过几本相关的技术书籍,但大多都停留在理论介绍和一些简单的代码演示上,真正能拿来实战的干货少之又少,读完后感觉知识点很零散,缺乏一个连贯的脉络。这本书彻底改变了我的看法。它的章节过渡非常自然,前一章的技术点无缝衔接到后一章的复杂场景中,仿佛在构建一个完整的知识体系地图。特别是关于内存操作和数据保护机制的讲解部分,作者深入到了汇编层面去剖析,那种对底层细节的执着和精准度,绝对不是一般技术人员能达到的水平。每当我在某个技术点上卡住时,翻开书本,总能找到清晰的逻辑推导和代码片段来帮助我豁然开朗。这种深度和广度兼备的叙述方式,极大地提升了我解决实际问题的能力,让我从一个只会“调用API”的开发者,开始尝试去“理解系统是如何运作”的逆向工程师。

评分

这本书的封面设计真是直击人心,那种硬朗的科技感扑面而来,让人一眼就知道这不是那种泛泛而谈的入门读物。我拿到手的时候,首先被它的厚度震住了,这分量沉甸甸的,仿佛里面蕴含了无数实战的经验和踩过的坑。我对iOS安全领域一直是心存敬畏,觉得那是高手才能涉足的领域,但这本书的结构布局,从基础理论的梳理到具体工具的运用,都安排得井井有条,像是有一位经验极其丰富的导师,耐心地牵着你的手一步步走入迷宫。它没有那种故作高深的辞藻,语言风格非常务实,充满了代码和截图的印证,让人感到无比踏实。我尤其欣赏其中对经典案例的剖析,那种层层剥茧、直击核心的分析思路,远比教科书上那些抽象的概念要来得生动和深刻。阅读过程中,我能清晰地感受到作者对于移动安全生态的深刻理解,他不仅仅是在教你如何使用工具,更是在培养你一种系统性的安全思维。

评分

对于那些希望从应用开发者的身份,向更深层次的安全研究员转型的技术人员来说,这本书无疑是一份无可替代的宝藏。它不只是教会你“如何做”,更重要的是激发你去思考“为什么会这样”。它引导读者去质疑既有的安全防护机制,去探索软件运行的深层奥秘。阅读体验非常流畅,作者的文笔虽然专业,但逻辑性极强,即便是跨领域的读者也能感受到那种层层递进的逻辑美感。读完之后,感觉自己的技术视野被极大地拓宽了,对整个移动终端的安全防护体系有了更宏观的认识。这本书的影响力,绝非局限于教会你几个工具的使用技巧,而是能深刻地塑造你的技术内核和解决问题的态度。

评分

我一直觉得,逆向工程的学习曲线是非常陡峭的,很多时候,光靠网上的碎片化资料很难形成体系,而且很多资源的时效性也让人担忧。这本书的出现,就像是为iOS逆向领域建立了一个坚实的“知识基石”。它不仅涵盖了目前主流的应用加固和反调试技术,对于一些新兴的混淆和动态插桩技术也进行了探讨,显示了作者持续关注行业前沿的专业性。更难得的是,书中提供的实验环境搭建指南非常详尽,确保了读者可以百分之百地复现书中的每一个实验。这对于我们动手实践派来说,是极其重要的,因为只有亲手操作,那些抽象的概念才能真正固化为自己的技能。我已经在按照书中的步骤尝试分析一些开源的Demo,效果立竿见影。

评分

这本书的排版和细节处理,体现出了作者对读者的尊重。字体选择清晰易读,图表的绘制也非常专业,很多复杂的流程图和数据结构示意图,都做得非常精细,即便是初次接触这些概念的人也能迅速把握重点。我最欣赏的一点是,作者在讲解每一个技术难点时,总会附带提及一些“陷阱”和“常见误区”,这简直是为我们这些在黑暗中摸索的人点亮了指路明灯。这些经验之谈,是光靠自己反复试错才能积累的财富,但作者却毫不保留地倾囊相授。阅读过程中,我甚至能想象出作者在写下这些内容时,一定是经过了多少次失败的调试和深入的源码挖掘。这种真诚的分享态度,让整本书读起来更有温度,而不是冷冰冰的技术文档堆砌。

评分

评分

评分

评分

评分

评分

评分

评分

评分

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.cndgn.com All Rights Reserved. 新城书站 版权所有