iOS是由OSX演化而来的,而OSX则是基于UNIX操作系统的。这三者虽然有很大区别,但它们血脉相连。从Filesystem Hierarchy Standard和hier(7)中,可以一窥iOS目录结构的设计标准。Filesystem Hierarchy Standar
对于未越狱的iOS,苹果官方开放给第三方直接访问iOS文件系统的接口非常有限,开发者只需要遵循规定,参考文档即可完成工作。因此,纯粹的App Store开发者可能对iOS系统结构一无所知。因为权限极低,来自App St
本章科普了iOS应用逆向工程的相关概念,旨在让读者对iOS逆向工程有一个概念上的大体了解。详细的技术内容和案例会在后面的章节中逐一讲解,敬请期待。
从UI层面切入代码层面,用反汇编工具和调试工具分析过二进制文件后,就可以整理分析结果,用开发工具写程序了。对于App开发者来说,Xcode 是最常用的开发工具。但是我们一旦将战场从AppStore转移到越狱iOS,开发
iOS开发者对调试工具应该不陌生,在App开发中,少不了在Xcode中调试代码。我们可以在某一行代码上设置断点,使进程能够停止在那一行代码上,并实时显示进程当前的状态。在iOS逆向工程中,用到的调试工具主要是LL
从UI层面切入代码层面后,就要用到反汇编工具来梳理代码了。反汇编工具把二进制文件作为输入,经过处理后输出这个文件的汇编代码;在iOS逆向工程中,常用的反汇编工具主要是IDA和Hopper。作为老牌反汇编工具,ID
在iOS逆向工程中,起到嗅探、监测、记录目标程序行为的工具统称为监测工具。这些工具通常可以记录并显示目标程序的某些操作,如UI变化、网络活动、文件访问等。iOS逆向常用的监测工具有Reveal、snoop-it、intros
了解了一些iOS逆向工程的理论,就要使用各种工具实践这些理论了。相对于正向开发,逆向工程使用的工具并不那么智能,很多工作需要我们手工完成。但是对工具的熟练使用能够极大地提高逆向工程的效率。iOS逆向工程
完成系统分析之后,就该对App的二进制文件进行代码分析了。通过逆向工程,可以推导出这个App的设计思路、内部算法和实现细节,但这是一个非常复杂的过程,可以说是一种解构再重组的艺术。想让自己的逆向工程水平
在系统分析阶段,应在不同的条件下运行目标程序,在程序中进行各种各样的操作,观察程序的行为特征,同时寻找我们感兴趣的功能点。比如选择哪个选项会弹框,按下哪个按钮会发声,输入什么内容屏幕会有什么显示,
要逆向一个App时,应该怎么思考?应该从何入手?这本书的初衷就是引导初学者走进iOS逆向工程的大门,培养读者从逆向的角度思考问题。一般来说,软件逆向工程可以看作系统分析和代码分析两个阶段的有机结合。在系
对于iOS开发者来说,逆向工程是最为实用的技术之一。例如,工程师可以逆向系统API,在自己的App里使用一些文档中没有提及的私有功能,还可以逆向一些经典软件,学习借鉴它们的技术和设计。1 逆向系统API工程师
安全相关的IT行业一般会大量运用逆向工程技术。比如:通过逆向一个金融类App,来评定安全等级;通过逆向iOS病毒,来找到查杀的方法;通过逆向iOS系统电话、短信功能,来构建一个手机防火墙,等等。1 评定安全等
打个比喻,iOS逆向工程就像一杆长矛,专门刺破App看似安全的防护盾。有趣的是,很多制作App的公司还没有意识到这样一杆长矛的存在,固步自封地以为自己的盾坚不可摧。对于微信和WhatsApp之类的IM应用,交流的信息
iOS逆向工程指的是在软件层面上进行逆向分析的一个过程。读者如果想要具备较强的iOS逆向工程能力,最好能非常熟悉iOS设备的硬件构成、iOS系统的运行原理,还要具备丰富的iOS开发经验。如果你拿到任意一个App之后
推荐序一推荐序二第2版序第1版序前言第一部分 概 念 篇第1章 iOS逆向工程简介 31 1 iOS逆向工程的要求 31 2 iOS应用逆向工程的作用 41 2 1 安全相关的iOS逆向工程 51 2 2 开发相关的iOS逆向工程 61
为什么要写这本书两年前我正式从传统网络设备行业转行进入移动互联网行业,当时正是移动应用开发市场最火爆的时候,创业公司如雨后春笋般的成立,尤其社交类App更是大受追捧,只要有一个不错的构想就可能拿到千万
我是一个热爱自助旅游的人。在大学的每个寒暑假,我都会抽出7~10天的时间,挑选中国的一个地方当一次背包客。因为是自助游,没有导游帮你安排好一切,所以在出行前,我和同伴需要花费不少时间制订计划、确认路线
转眼,本书第1版面世已经快1年了,在这一年里,因为有大家的认可与推广,本书得到了广泛关注。与此同时,iOS逆向工程也在国内iOS开发者圈子里漫延开来,并达到了前所未有的高度,正是因为大家的努力,才使得该技
In our lives, we pay very little attention to things that work Everything we interact with hides a fractal of complexity—hundreds of smaller components, all of which s