ios越狱相关知识大搜罗
|
因此,如果有一种机制,能够保存这个签名,我们就能绕过苹果公司而随意恢复各个版本的固件。如果你的设备越狱了,使用cydia,你的SHSH文件就可以保存好了。反之,如果你的设备没有越狱或者当前未能越狱,那真是天大的不幸,因为cydia只能越狱后才能使用。 ECID,即Exclusive Chip ID,就是iPhone3GS/iPhone4的身份证号,每一个iPhone3GS/iPhone4都有自己的独特的ECID。有了这个ECID,就能唯一确定一部iPhone。而ECID和我们按手机*#06#得到的序列号不太一样,虽然都能唯一确定一部手机。ECID是iPhone的唯一编号,而后者则只是针对iPhone的通讯模块的唯一编号。 SHSH实际上是ECID+iOS某个特定版本加起来行程的一个特征码。对于一部iPhone 3GS或是iPhone 4,想升级到某一版本,就需要到苹果的激活服务器去下载一个文件,来判断这个版本针对这部手机是否合法。而这个文件就是xxxx.shsh。 这个文件对与我们越狱十分重要,一定要将针对每个iOS版本的SHSH文件备份好,才能在某天苹果不让我们恢复到这个版本时候,自行搭建认证服务器,然后恢复老的、有漏洞的版本来越狱。 再啰嗦一句,ECID和SHSH的概念仅仅适用于3GS及其以上版本,iPhone一代和二代就不需要考虑了。 如何备份SHSH目前主要有两种方法。一种是手机越狱了有了Cydia,进入Cydia首页就能看到备份SHSH的内容(不过是英文的)。另外就是通过TinyUmbrella这款软件。目前这款软件已经做得很出色了,iPhone连上电脑,就能够自动读取ECID编号,然后从Cydia或是苹果官方获取特定版本的SHSH。关于固件的恢复,也就是iOS的降级,我们仍然需要使用TinyUmbrella这款软件。导入相应的SHSH后,即可在自己本地的电脑上模拟苹果的认证服务器,也就可以恢复被苹果禁掉的固件了。 七、什么是基带?什么是NOR?什么是Seczone?什么是NCK? 基带就是iPhone的通讯系统,是用来控制手机通讯的程序,控制电话通讯,WiFi无线通讯,还有蓝牙通讯。iPhone有相关的通讯硬件,是需要靠基带这个通讯系统来驱动的,有了正常工作的基带,才能打电话、收发短信、使用3G功能。 当然WIFI除外。基带版本可以从iphone中设置->“关于本机”的调制解调器使用的版本号中查询到。iOS和基带相对独立,协同工作。基带升级后,很多软解就会失效,有锁版的iPhone便无法使用。而最严重的是,基带几乎无法降级。所以对于有锁版的手机来说,基带升级一定要慎重,一定要等破解后再升级。当然无锁版也要慎重对待基带升级。 NOR是flash内存芯片的一种。区别于Flash NAND. 但都是内存芯片。iPhone 的Baseband就使用这种flash。NOR就是存储基带所用的媒介。 Seczone是baseband的一个内部验证模块。是属于这个通信系统的。这个认证模块很厉害,除非是使用苹果特定私钥加密后生成的代码,其他内容一律会被阻止。这样基带便很难被破解。而且不能暴力破解。 NCK是一个解锁计数器。内部有一个有计数值。达到一定的数值。它将会把iPhone永久变成只能使用AT&T或其它国家合约运营商(注:这取决于你购买的国家)。 有了这些概念,我们就可以讨论完美越狱了。 关于完美解锁更深入的讨论: 八、怎么样才能实现完美解锁? iPhone中baseband(基带)的资料都存在NOR里,是的,NOR里保存了目前baseband的状态,其中就有目前iPhone的解锁状态,iPhone出厂的时候,都给锁在ATT的网络里了。 到这里有些人想问了:那么我们把这个状态改成解锁,不就完美了么,是的,但是,问题是: 1,只有通过baseband的firmware,也就是baseband的操作系统,才能读写NOR,而且NOR中seczone的控制及其严格,想要直接发指令写入,是不可能的。 2,baseband的firmware是Apple数字签名过的,意思就是说,只有Apple自己的1024位的私匙签名过的firmware,baseband才会运行。 3,最重要的一点,我们不知道要往NOR seczone里面写入什么,才能解锁,因为NOR seczone里数据都是加密过的,不是0就是锁,1就是解锁这么简单,每台iPhone的NOR在加密前可以是一样的,但是加密后每台都是不一样的,而且这个加密机制,也只有通过Apple的私匙才能算出来。 那么,想要达到完美解锁,需要怎么做? 实际上,你可以通过iPhone的minicom对iPhone的baseband发送指令,其中有一条指令,就是用来解锁的,而且我们明确知道这条指令是什么,就是: AT+CLCK=“PN”,0,“xxxxxxxx” 注意到后面那8个x了吗?那些x就是你的解锁码,unlock code,或者专业说法,叫做NCK、Network Control Key,这个key每个iphone都不一样,相信苹果应该是用某种随机机制生成了这些解锁码,然后和IMEI或者序列号挂钩,放在自己的数据库里,在将来,苹果官方提供解锁的时候,他们会通过你的IMEI或者序列号告诉你的unlock code,达到完美解锁。 但是你发送指令的时候,你的iPhone又怎么知道这个解锁码是对还是错的?如果iPhone需要知道对错,那么说明iPhone自己知道unlock code,所以我们能从iPhone里某个地方找到这个code,然后完美解锁,对吗?不对! 实际上iPhone NOR上保存的,是这个code经过某个特殊的算法生成的一个hash值,hash(code) ,而这个算法是不可逆的(就像MD5)。 通俗点说,我们可以这么想,Apple教会了iPhone一套暗号,告诉iPhone 1 = 鸭子 2 = 鸡 3 = 鹅,然后把暗号123这个unlock code编码成“鸭子鸡鹅”存放在Phone NOR里,这时候iPhone并不知道unlock code是123,它只知道如果别人告诉我123,我按照Apple的暗号算一下,如果算出来和”鸭子鸡鹅”一样,那么别人告诉我的code就是对的了。当然实际上这个过程不是这么简单,否则你一猜就能破译这个密码了,按照目前的计算机水平,把这个unlock code通过hash过的值逆算回来,几乎是不可能的。 那么,我们穷举行吗?不就是一个8位数嘛?我们从00000000试到99999999,总有一个对吧?这个方法理论上可以,但是实际上行不通,原因又两个: 1,按照粗略结算,关把这些1亿个指令发给iPhone尝试,就要35天,并且还不考虑iPhone算需要多久。 2,最关键的,iPhone的baseband NOR seczone中,有一个NCK计数器,一旦你尝试3–10次失败,你的baseband将会硬件烧死在AT&T上。 所以,目前来说,iPhone完美解锁,还没有,相信如果Apple不出大错误,也不会有,除非Apple到时候官方推出解锁,那才是完美解锁。 (编辑:无忧刷机网 - 51刷机网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
