开篇 关于iOS越狱开发

本文版权归扣丁书屋全部,转载请保留此说明。html

越狱与开发

iPhone 在10年前问世时,并无第三方应用,连一个游戏都没有,可是 Nicholas Allegra 等越狱开发者将苹果的智能手机推到了极限,由于用户越狱后能够在没有苹果容许的状况下安装第三方应用程序和插件。随着时间的推移,iOS的生态愈来愈强大,其第三方应用愈来愈多,涉及的功能五花八门,从必定程度上说,越狱已经死了,但这不意味着,开发人员没有必要越狱手机。拿到一部越了狱的手机,对开发人员来讲,就像是开启了上帝模式,你能够进入系统看看各个系统进程是如何配合完成任务的,系统的签名机制的工做原理等等,同时,当你以为第三方软件很酷时,能够在越狱手机上分析其实现原理,了解竞争对手的安全性措施等等。linux

本系列介绍如何开发Tweak以增长软件功能,如何开发Daemon保护应用的安全性,如何调试第三方应用,固然这一切都是创建在越狱手机上的。建议在阅读本系列文章以前,先准备一台越狱的手机。至于越狱的方法,能够参考爱思助手越狱教程PP助手越狱教程,固然还有盘古越狱等等,工具比较多,不一一列举。git

越狱

越狱简单来讲,就是经过系统的漏洞(又叫Bug),拿到系统的最高权限(通常是root用户,对于使用或了解linux或类linux的用户,应该知道root用户意味着什么),而后利用这个最高权限,安装必要的软件到必要的地方,并让这个软件开机就以最高权限启动。须要说明的是,开机就以最高权限权限启动这个机制是系统自己就自带,由于系统也须要这一权限以实现必要的功能,好比安装应用。而越狱程序能开机自启动则是由于他利用系统的漏洞拿到最高权限后,利用这个权限,把本身加到启动列表中。github

对于系统来讲,防止被越狱总的说来一个是对权限管控,尽可能最少使用最高权限,即不滥用最高权限,减小产生漏洞的可能性,同时系统还能够过后弥补,好比重启时发现被越狱了,进行自我保护,不启动或清除掉那些异常的程序。通常来讲,咱们常常说的不完美越狱就是由于没有搞定系统的“过后弥补”这一过程。通常的现象就是越狱后的设备(iPhone或者是iPad)一旦重启以后,会没法进入系统,直接卡在一颗白色苹果的界面;或者是能够进入系统,可是越狱以后所装的应用都没法使用,打不开。安全

进行完前面的操做后,手机被称之为成功越狱(完美与不完美都认为是成功越狱)。如咱们所知道的,咱们能够经过ssh协议远程进入类Unix系统(unix,linux,FreeBSD),而后操做文件,进程等。iOS系统也能够看作是类Unix系统,从而咱们能经过ssh进入iOS设备(越狱后是能够以root用户进入的,这意味着什么,你们都懂的)。至此,咱们开启了上帝模式。框架

开发

越狱开发须要与咱们常说的应用开发区分开来,但越狱开发本质上也是在开发应用。说区分开来是由于,若是只用应用开发,咱们彻底没有必要越狱,要知道为了越狱,咱们但是费了好大的功夫。通常来讲,越狱开发专指Tweak开发,Daemon开发,破解开发。但越狱开发最后的产物,通常来讲,仍是一个应用或是做用在某一个应用上。毕竟最终用户都是经过应用来进行操做的。在Tweak,Daemon,破解开发中,又以Tweak开发最为常见。本文以Tweak开发来讲明越狱开发。ssh

Tweak开发是指开发一个模块(差很少就是像Windows开发的dll,iOS开发的动态Framework,Android开发的.so或是.dex文件),而这个模块被加载入某一个或几个应用中。听上去挺复杂,好比咱们如何能被应用加载,咱们又如何显示出来(入口),好在被加载到应用这一块不能咱们担忧,在越狱的时候,会自带一个越狱模块,咱们称之为Cydia。当咱们提到Cydia时,能够认为他是一个商店,能够收录不被苹果经过的软件(固然被苹果经过的软件也能收录)。也能够认为他是一个注入框架,全部的Tweak向Cydia注册后,他会负责在适当的时候把咱们的Tweak注入到指定的应用(进程)中去。至此,咱们解决了第一个老是:Tweak被应用加载。工具

Tweak被加载后,按照常规开发思路,就是要找机会显示(或者工做)了,好比用户有4个Tab,咱们试着加入一个Tab,长按的时候,添加一个本身的菜单项,或是强制显示已有的菜单项(好比原本有3个菜单项但软件根据本地条件是否知足只显示2项或1项)。这本就是一个较复杂的开发,须要用到Hook相关的技术,好在咱们不用从头开始整理本身的Hook库,Theos这个越狱开发工具包解决了大部分的问题。至于如何安装这个越狱开发工具包,这篇博客iOS逆向工程之Theos已经有很详细的说明。你们能够试着安装,而后按照Helloworld的教程开发第一个Tweak.开发工具

至此,2个问题均已解决。spa

本文版权归扣丁书屋全部,转载请保留此说明。

相关文章
相关标签/搜索