IOS 设备越狱原理

原文地址:http://blog.163.com/aries_duan/blog/static/957602272011918217334/

 

关于越狱,随着5.0的发布,又有锋友不断的提问了。有些问题白的不能再白了,老鸟们估计不屑于理会。但是谁不是从小白过来的?我想把一些基本问题解释一下,让小白们减少一些困惑,也欢迎老鸟们多多拍砖。 


为什么要越狱? 
APPLE的设备中的文件,用户没有完全的访问权限。用户也就无法为所欲为的安装插件、输入法和APP了,这是APPLE基于安全和利益的考虑。 
所以越狱是要获得设备的完全控制权,拿到所有文件的最高管理权限。 
在美国越狱苹果设备是合法的,其原因是承认用户对设备拥有完全的所有权。 
越狱不等于盗版安装APP经常看到“越狱干什么,几百元买正版软件足以了”之类的言论,我很无语。比如我在我自己的手机上把“中国联通”改成“中国怜通”(在我自己的手机上)这是我的权利,我可以不做,但是苹果不让我做是损害我的权利,我要越狱!越狱之后你安装盗版APP是损害开发者权利,是你违法! 
“违法必究”!不管你信不信,反正我不是信了。 

如何实现越狱? 
越狱需要挖地洞,也就是找到所谓的漏洞加以利用。利用漏洞获得设备的控制权,再通过提权操作获得设备所文档的完全管理权限。拿到文档完全管理权限,就是越狱成功了。你从监狱围q1an9里面出来了。但是对于一般用户而言,这时的设备无法使用,我们必须安装CYDIA(感谢Saurik的工作)以及一些基本的插件,保证我们的使用(你越狱要有新的或者合法的身份职业才能正常生活吧)。 

漏洞与越狱。 
越狱可以利用的漏洞分为两类,userlandbootrom 

Userland漏洞是指IOS中存在的漏洞,比如4.33 JailbreakMe.com越狱,就是利用了一个PDF漏洞完成越狱的。这种越狱的特点: 
一、在设备启动之后实施。 
二、针对的是使用这一IOS的所有设备(所以IPAD2可以越狱)。 
三、一般不可能“不完美越狱”。 

这一类越狱不容易实现,因为要找到适当的漏洞,能够提权操作,同时还要安排好CYDIA的安装和系统文件的位置等等。另一方面有十分容易被封堵,升级一下IOS就可以永久地堵住这一漏洞。 

Bootrom漏洞是在硬件上的BUG造成的,当前绿毒、绿雨、红雪等大多使用的是一个A4处理器的BUG完成越狱。这种越狱的特点: 
一、设备需要进入DFU模式之后实施(DFU的全称是Development FirmwareUpgrade)。 
二、针对的是使用这种固件(比如A4处理器)所有设备。 
三、会有“不完美越狱”的情况。 
由于IPAD2IPHONE4S使用A5处理器,所以可以肯定的是利用Bootrom漏洞越狱的工具不会同时支持(IPHONG4IPAD1ITOUCH4)和(ipad2IPHONE4SiFaith工具不支持IPAD2,也是如此。 


越狱为什么“不完美”? 
完美越狱是指 你的设备可以无障碍的启动(不需要计算机的引导) 
完美越狱不是说越狱以后各种插件、APP跑起来没有问题,这种兼容性问题与越狱无关。(有意思的是IOS5发布之后,许多锋友说XX软件闪退是IOS5BUG!这是APP不支持IOS5,等等APP更新就好了)。 
Bootrom漏洞的特点导致了 越狱的不可阻止。用户买了IPHONE4,其中的A4处理器就不变了,那个BUG永远存在,与IOS无关。所以无论APPLE出什么版本的IOS,越狱是一定的。IOS5bate版放出第二天越狱不是什么惊天新闻(向各路大神赔罪,没有贬低你们的意思。) 

为什么不完美了?越狱利用DFU模式是因为这时的设备启动是由计算机控制的,设备会允许从计算机读入一定的代码(设备准备升级系统固件)越狱者利用之一机制让设备读入特定的代码,利用Bootrom漏洞提权,达到掌握设备文件完全管理权限的目的。同时把CYDIA和一些基本的插件写入系统。OK,越狱了。 
但是,APPLE的程序员不是吃闲饭的。设备每次启动是当然要自检,其目的之一就是防止文件被篡改。发现篡改的文件修复,修复不了罢工(白苹果),白苹果了,用户不得不重新恢复系统实际是利用用户来修复文件。 
道高一尺魔高一丈(这句话原本如此,魔高一尺道高一丈是错误的。)越狱的大神会再次通过引导启动设备,继续使用。 
以上就是所谓的不完美越狱。 

因此Userland漏洞越狱是不可能不完美的,因为Userland漏洞越狱的大神除非是一次安排好后事,否则是没有办法在启动时利用DFU模式写入代码终止IOS的自检的(可以的话就直接Bootrom漏洞越狱了)。所以Userland漏洞越狱比较少见。 

完美越狱和不完美越狱的差距是巨大的,不完美越狱中漏洞是不变的、溢出代码是不变的、苹果设备的文件框架是不变的,只需要针对新系统做小小的调整,封装一下就可以了。当然第一次找到漏损可开发溢出代码另当别论。要实现完美越狱,就是要重新解读IOS的自检机制,把他破解掉。这个工作每次必须从头再来,这也是大神和APPLE程序员较量的核心。要使IOS的自检对被修改的文件视而不见谈何容易,所以需要时间!正因为如此几乎虽有版本的IOS都有不完美越狱,但不是各个都有完美越狱。 

如果实现不完美越狱的工作量是1,实现完美的越狱工作量我认为不低于10。(指现有的A4处理器)既然大神们用1份精力交出了60分的答卷,是不是一定再花9份精力答出来100呢? 

我想说的 
有人说,系统一定有BUG,越狱一定会实现 
这是一种大无畏的乐观主义精神。学过统计的知道,我每期买一注彩票,坚持下去一定可以中头奖,但不一定是在我这一辈子。BUG一定有,是不是可以被发现难说,发现了是不是一定可用来越狱还是难说。如果不是像某些论调说得“苹果公司故意预留(透漏)BUG给越狱的大神”也许真有一天新的设备是不能越狱。 

IPAD2IPHONE4S的越狱前景不乐观,目前没有确切的消息A5存在可以利用来越狱的Bootrom漏洞。 
对于那些天天等IPAD2IPHONE4S越狱的锋友来说,你们要等很长很长很长很长时间。不要看到A4处理器完美越狱了,就天天来叫,这与你们无关,你们选择了高性能的设备同时就是放弃了永远可以越狱A4系列设备。有得有失。 

完美越狱不会在IOS发布数天内发布。我认为一个月之后是可接受的时间。 
如果新的一个IOS存在较多的或者严重的BUGAPPLE会很快推出新的版本,费劲完美越狱是不划算的。IOS5这个经过多个测试版又是较大的升级,完美越狱是会有的,但肯定不是最近。有些问题会干扰完美越狱的测试,用户不断报告越狱后的兼容问题,实际是APP不支持新的IOS,这样大神们会很难受,不如等到大多数APP更新之后,你认为呢? 

你可能感兴趣的:(ios相关其它)