iPhone解锁的原理以及理论上真正完美的解锁.docVIP

  • 13
  • 0
  • 约5.4千字
  • 约 10页
  • 2017-02-09 发布于重庆
  • 举报

iPhone解锁的原理以及理论上真正完美的解锁.doc

iPhone解锁的原理以及理论上真正完美的解锁

1,iPhone的硬件 iPhone的硬件配置比较高,虽然卖得是比较贵,但是相对于Nokia N95之类的比起来,iPhone造价肯定比N95贵不少。 现在初步相信iPhone的CPU是一个Samsung S5L8900,这个CPU是具有A-GPS和3G功能的(这是后话),但是iPhone的GSM模块采用了另外一个完全独立的系统,就是我们常说的baseband,这个baseband有自己的firmware(操作系统)和CPU(是一个S-GOLD2,西门子的手机也是采用这个CPU),而且,通俗点说,baseband还有自己的闪存用来记录目前baseband的状态,这个闪存被称为NOR,我们所说的seczone就在其中。这个baseband单独拆下来经过小改,也够当一个手机用了。 所以实际上iPhone是非常复杂的一个手机。我们每次所谓更新firmware,实际上是更新iPhone的firmware(就是OS X Darwin),而bbupdater则是更新baseband的firmware。 你可以这样想,iPhone是一个电脑,这个电脑上插了一个联通CDMA卡,你使用电脑可以打电话发短信和上网,问题是联通CDMA卡被锁死了,只能上联通,如果要解锁,怎么办?通过修改电脑的操作系统(Windows XP)是不行的,因为控制权在CDMA卡手里,所以你必须想办法通过Windows XP来修改CDMA卡上的系统,才能达到解锁的目的。 2,完美的解锁 有些人会问了,什么才是所谓的完美解锁?现在的解锁有什么不完美? 完美的解锁,就是真解锁,如果你的iPhone完美的解锁了,你的iPhone不需要任何打过补丁的baseband firmware,你的iPhone可以随着Apple的firmware升级随时升级,不会有任何问题,而且,你的整个iPhone系统,就是 Apple原汁原味的系统,没有任何改动! 就像软件的破解一样,完美解锁,就是注册码,软件还是那套软件,输入注册码后就注册了,完美,而目前的解锁,实际上都是注册机,把软件中的某些地方打了补丁。 那么,怎么样才能实现完美解锁?刚才我们提到了,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=N,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,它只知道如果别人

文档评论(0)

1亿VIP精品文档

相关文档