编辑推荐:还在iPhone和iPad应用开发的大门前徘徊?还是已经投身iOS应用开发阵营,但希望迅速提升自己的功力?选择本书绝对能令你惊喜连连。五位作者均是资深移动开发专家,具有丰富的Mac、iOS、Cocoa及Objectiv
在2014年的WWDC(WorldWide Developers Conference,苹果全球开发者大会)上,苹果公司发布了新的OS X操作系统Yosemite和移动操作系统iOS 8。iOS 8系统是iOS 7的升级版,延续了扁平化界面设计风格并增强了
本书是iOS应用开发基础教程,内容翔实,语言生动。作者结合大量实例,使用Swift和Objective-C两种语言循序渐进地讲解了适用于iPhone iPad开发的基本流程。新版介绍强大的iOS 8操作系统,涵盖Xcode 6的新功能,
本章重点介绍了class-dump、Theos、Reveal、IDA 这4个工具,熟悉它们的使用方法,是我们一步步掌握iOS逆向工程的前提。
安装了iFunBox和AFC2之后,不少读者会迫不及待地开始浏览iOS文件系统,看看这个封闭平台的表面下到底暗藏了多少玄机。相信大家很快就会发现一个问题: System Library Frameworks 、 System Library PrivateFram
iFunBox(如图3-53所示)是一款老牌iOS文件管理工具,可以非常方便地操作iOS中的文件。iFunBox的使用并不复杂,我们主要用到的是它的文件传输功能。有一点需要注意的是,越狱iOS必须安装Apple File Conduit 2
说了IDA的这么多使用方法,下面用一个简单的例子向大家演示IDA的威力。越狱iOS的用户都知道,在Cydia中安装完一个tweak后,Cydia会建议我们Restart SpringBoard,那么这个respring的操作是如何实现的呢?请大家
IDA启动时会短暂地显示如图3-25所示的窗口。这时可以点击OK,或等上几秒,它会自动关闭,之后就会看到IDA的主界面,如图3-26所示。在该界面中,不用繁琐地在菜单里点击打开文件,然后一个目录一个目录地去翻找,
3 4 IDA3 4 1 IDA简介即使你以前没有从事过iOS逆向工程相关的工作,也一定听说过IDA(The Interactive Disassembler)的鼎鼎大名。而对于绝大多数接触过逆向工程的人来说,IDA三个字则是如雷贯耳,它乃逆向工
Reveal是由ITTY BITTY出品的UI分析工具,可以直观地查看App的UI布局,如图3-15所示。官方给Reveal的定位是See your application’s view hierarchy at runtime with advanced 2D and 3D visua
前几节完整地介绍了Theos的安装和使用方法,虽然还没有涵盖Theos的所有功能,但对于逆向工程初学者来说已经完全够用了。讲了这么多内容却还没有涉及一行真实的代码,是不是有些意犹未尽啊?接下来将以一个最简单
1 创建工程1)更改工作目录至常用的iOS工程目录(如笔者的是 Users snakeninny Code ),然后输入 opt theos bin nic pl,启动NIC(New Instance Creator),如下:snakeninnysiMac:Code snakeninny$ opt
1 安装Xcode与Command Line Tools一般来说,iOS开发者都会安装Xcode,其中附带了Command Line Tools。如果还没有安装Xcode,请到Mac AppStore免费下载。如果安装了多个Xcode,需要使用xcode-select命令指
3 2 Theos3 2 1 Theos简介Theos是一个越狱开发工具包,由iOS越狱界知名人士Dustin Howett(@DHowett)开发并分享到GitHub上。Theos与其他越狱开发工具相比,最大的特点就是简单:下载安装简单、Logos语法简单
class-dump,顾名思义,就是用来dump目标对象的class信息的工具。它利用Objective-C语言的runtime特性,将存储在Mach-O文件中的头文件信息提取出来,并生成对应的 h文件。class-dump的用法比较简单,首先去http:
本章简单介绍了iOS系统结构和常见的二进制文件类型,它们都是App Store开发者不需要了解也接触不到的知识,在学习iOS逆向工程时很容易形成概念盲区。本章旨在科普那些在逆向工程中非常重要但苹果官方闭口不提的
相信本书的绝大部分读者从接触iOS开发的第一天起,就不断被苹果灌输这样一个观念——iOS中没有真正的后台多任务,你的App在后台将被大大限制。如果你是一个纯粹的App Store 开发者,坚信并坚守这个观念,那么它
大部分iOS开发者的日常工作应该都是写App,估计很少有人写过dylib,因此对dylib的概念很陌生。殊不知,在Xcode工程里导入的各种framework,链接的各种lib,其实本质都是dylib。可以用file命令验证一下,如下:sn
2 2 iOS二进制文件类型在iOS逆向工程初学阶段,我们的目标主要是Application、Dynamic Library(以下简称dylib)和Daemon这三类二进制文件,对它们的了解越深入,逆向工程就会越顺利。这三类文件分工不同,其目
iOS是一个多用户操作系统。用户是一个抽象的概念,它代表对操作系统的所有权和使用权。比如,mobile用户无法调用reboot命令重启iOS,而root用户却可以;组是用户的一种组织方式,一个组可以包含多个用户,一个用