小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

iPhone解鎖的原理,以及理論上真正完美的解鎖

 Fishxp 2011-02-13

1,iPhone的硬件

iPhone的硬件配置比較高,雖然賣得是比較貴,但是相對(duì)于Nokia N95之類的比起來,iPhone造價(jià)肯定比N95貴不少。

現(xiàn)在初步相信iPhone的CPU是一個(gè)Samsung S5L8900,這個(gè)CPU是具有A-GPS和3G功能的(這是后話),但是iPhone的GSM模塊采用了另外一個(gè)完全獨(dú)立的系統(tǒng),就是我們常說的baseband,這個(gè)baseband有自己的firmware(操作系統(tǒng))和CPU(是一個(gè)S-GOLD2,西門子的手機(jī)也是采用這個(gè)CPU),而且,通俗點(diǎn)說,baseband還有自己的閃存用來記錄目前baseband的狀態(tài),這個(gè)閃存被稱為NOR,我們所說的seczone就在其中。這個(gè)baseband單獨(dú)拆下來經(jīng)過小改,也夠當(dāng)一個(gè)手機(jī)用了。

所以實(shí)際上iPhone是非常復(fù)雜的一個(gè)手機(jī)。我們每次所謂更新firmware,實(shí)際上是更新iPhone的firmware(就是OS X Darwin),而bbupdater則是更新baseband的firmware。

你可以這樣想,iPhone是一個(gè)電腦,這個(gè)電腦上插了一個(gè)聯(lián)通CDMA卡,你使用電腦可以打電話發(fā)短信和上網(wǎng),問題是聯(lián)通CDMA卡被鎖死了,只能上聯(lián)通,如果要解鎖,怎么辦?通過修改電腦的操作系統(tǒng)(Windows XP)是不行的,因?yàn)榭刂茩?quán)在CDMA卡手里,所以你必須想辦法通過Windows XP來修改CDMA卡上的系統(tǒng),才能達(dá)到解鎖的目的。

2,完美的解鎖

有些人會(huì)問了,什么才是所謂的完美解鎖?現(xiàn)在的解鎖有什么不完美?

完美的解鎖,就是真解鎖,如果你的iPhone完美的解鎖了,你的iPhone不需要任何打過補(bǔ)丁的baseband firmware,你的iPhone可以隨著Apple的firmware升級(jí)隨時(shí)升級(jí),不會(huì)有任何問題,而且,你的整個(gè)iPhone系統(tǒng),就是 Apple原汁原味的系統(tǒng),沒有任何改動(dòng)!

就像軟件的破解一樣,完美解鎖,就是注冊(cè)碼,軟件還是那套軟件,輸入注冊(cè)碼后就注冊(cè)了,完美,而目前的解鎖,實(shí)際上都是注冊(cè)機(jī),把軟件中的某些地方打了補(bǔ)丁。

那么,怎么樣才能實(shí)現(xiàn)完美解鎖?剛才我們提到了,iPhone中baseband的資料都存在NOR里,是的,NOR里保存了目前baseband的狀態(tài),其中就有目前iPhone的解鎖狀態(tài),iPhone出廠的時(shí)候,都給鎖在ATT的網(wǎng)絡(luò)里了。

到這里有些人想問了:那么我們把這個(gè)狀態(tài)改成解鎖,不就完美了么,是的,但是,問題是:

1,只有通過baseband的firmware,也就是baseband的操作系統(tǒng),才能讀寫NOR,而且NOR中seczone的控制及其嚴(yán)格,想要直接發(fā)指令寫入,是不可能的。
2,baseband的firmware是Apple數(shù)字簽名過的,意思就是說,只有Apple自己的1024位的私匙簽名過的firmware,baseband才會(huì)運(yùn)行。
3,最重要的一點(diǎn),我們不知道要往NOR seczone里面寫入什么,才能解鎖,因?yàn)镹OR seczone里數(shù)據(jù)都是加密過的,不是0就是鎖,1就是解鎖這么簡(jiǎn)單,每臺(tái)iPhone的NOR在加密前可以是一樣的,但是加密后每臺(tái)都是不一樣的,而且這個(gè)加密機(jī)制,也只有通過Apple的私匙才能算出來。

那么,想要達(dá)到完美解鎖,需要怎么做?

實(shí)際上,你可以通過iPhone的minicom對(duì)iPhone的baseband發(fā)送指令,其中有一條指令,就是用來解鎖的,而且我們明確知道這條指令是什么,就是:

AT+CLCK="N",0,"xxxxxxxx"

注意到后面那8個(gè)x了嗎?那些x就是你的解鎖碼,unlock code,或者專業(yè)說法,叫做NCK、Network Control Key,,這個(gè)key每個(gè)iphone都不一樣,相信蘋果應(yīng)該是用某種隨機(jī)機(jī)制生成了這些解鎖碼,然后和IMEI或者序列號(hào)掛鉤,放在自己的數(shù)據(jù)庫里,在將來,蘋果官方提供解鎖的時(shí)候,他們會(huì)通過你的IMEI或者序列號(hào)告訴你的unlock code,達(dá)到完美解鎖。

但是你發(fā)送指令的時(shí)候,你的iPhone又怎么知道這個(gè)解鎖碼是對(duì)還是錯(cuò)的?如果iPhone需要知道對(duì)錯(cuò),那么說明iPhone自己知道unlock code,所以我們能從iPhone里某個(gè)地方找到這個(gè)code,然后完美解鎖,對(duì)嗎?不對(duì)!

實(shí)際上iPhone NOR上保存的,是這個(gè)code經(jīng)過某個(gè)特殊的算法生成的一個(gè)hash值,hash(code) ,而這個(gè)算法是不可逆的(就像MD5)。

通俗點(diǎn)說,我們可以這么想,Apple教會(huì)了iPhone一套暗號(hào),告訴iPhone 1 = 鴨子 2 = 雞 3 = 鵝,然后把暗號(hào)123這個(gè)unlock code編碼成“鴨子雞鵝"存放在Phone NOR里,這時(shí)候iPhone并不知道unlock code是123,它只知道如果別人告訴我123,我按照Apple的暗號(hào)算一下,如果算出來和"鴨子雞鵝"一樣,那么別人告訴我的code就是對(duì)的了。當(dāng)然實(shí)際上這個(gè)過程不是這么簡(jiǎn)單,否則你一猜就能破譯這個(gè)密碼了,按照目前的計(jì)算機(jī)水平,把這個(gè)unlock code通過hash過的值逆算回來,幾乎是不可能的。

那么,我們窮舉行嗎?不就是一個(gè)8位數(shù)嘛?我們從00000000試到99999999,總有一個(gè)對(duì)吧?這個(gè)方法理論上可以,但是實(shí)際上行不通,原因又兩個(gè):

1,按照粗略結(jié)算,關(guān)把這些1億個(gè)指令發(fā)給iPhone嘗試,就要35天,并且還不考慮iPhone算需要多久。
2,最關(guān)鍵的,iPhone的baseband NOR seczone中,有一個(gè)NCK計(jì)數(shù)器,一旦你嘗試3-10次失敗,你的baseband將會(huì)硬件燒死在AT&T上。

所以,目前來說,iPhone完美解鎖,還沒有,相信如果Apple不出大錯(cuò)誤,也不會(huì)有,除非Apple到時(shí)候官方推出解鎖,那才是完美解鎖。

3,目前的解鎖

目前iPhone上有3種軟件解鎖,分別是:

1,iUnlock / Anysim 1.0.2 / iUnlock Reloaded 這些都是同一種,都是使用了iUnlock的核心代碼。
2,iPhoneSimFree.com,也就是IPSF提供的需要花錢購買的解鎖。
3,Anysim 1.1.1

這3種解鎖,都不是完美解鎖!

目前相信,這3種方法的工作原理如下:

iUnlock
iUnlock通過直接在baseband firmware上打補(bǔ)?。ㄎ也恢浪麄?cè)趺刺^了蘋果的簽名檢查,我知識(shí)不夠),跳過了baseband firmware對(duì)的NOR 中 token(這個(gè)token就是hash過的NCK掛鉤的值)檢查,然后發(fā)送AT+CLCK給baseband要求解鎖,由于token的檢查已經(jīng)被跳過這個(gè)時(shí)候?qū)嶋H上發(fā)送什么NCK iPhone都會(huì)同意解鎖,這樣解鎖后的baseband會(huì)修改seczone中的lockstate table,但是這么做的結(jié)果就是NOR中的數(shù)據(jù)不再是"合法"的了,因?yàn)槲覀兏静恢勒嬲軌驖M足token是NCK什么,只不過因?yàn)樵?baseband firmware上打了補(bǔ)丁,告訴baseband firmware不要檢查這個(gè)token而已。

這么做過之后,你的baseband firmware就是打過補(bǔ)丁的了,不是蘋果原來的baseband firmware了。

這也造成了后來的1.1.1升級(jí),Apple升級(jí)了baseband firmware,結(jié)果不合法的lockstate table 導(dǎo)致了iPhone  -> 磚頭。

iPhoneSimFree IPSF
最開始大家都認(rèn)為IPSF的解鎖是最完美的,也很多人認(rèn)為IPSF的解鎖就是完美解鎖,因?yàn)镮PSF的解鎖過程需要聯(lián)系他們的服務(wù)器,不少人相信他們通過走后門或者其他內(nèi)奸手段,得到了Apple iPhone這個(gè)unlock code數(shù)據(jù)庫,所以能夠提供真解鎖,現(xiàn)在廣泛相信的是,這是一個(gè)天大的謊言。

根據(jù)DEV TEAM的研究,IPSF的解鎖原理是:他們找到了Apple iPhone中RSA算法的一個(gè)漏洞,一個(gè)很大的Bug,通過利用這個(gè)BUG,他們把NOR seczone中的token清零(全部清空),然后再構(gòu)造一個(gè)特別的lockstate table。iPhone在啟動(dòng)校驗(yàn)token / locktable 合法性時(shí)候,因?yàn)檫@個(gè)BUG,導(dǎo)致這個(gè)全部是0的token + locktable得以合法驗(yàn)證,所以iPhone認(rèn)為這個(gè)機(jī)器是合法解鎖的了。

這個(gè)bug在1.1.1升級(jí)的時(shí)候蘋果還沒有補(bǔ)上,所以IPSF的機(jī)器在升級(jí)1.1.1之后可以繼續(xù)保持unlock。

但是,這么做的后果是不堪設(shè)想的!我上面說了,每個(gè)機(jī)器的token都不一樣,每個(gè)iPhone的token全世界唯一,除了蘋果知道,沒有人知道, IPSF把iPhone的token清零,目前在這個(gè)bug還沒有補(bǔ)上的時(shí)候,IPSF解鎖過的iPhone還能用,但是當(dāng)蘋果在修補(bǔ)這個(gè)漏洞后,要么就別升級(jí),要么升級(jí)后IPSF iPhone就變廢鐵了,而且基本上無藥可救。

Anysim 1.1.1
最新推出的Anysim 1.1.1應(yīng)該是目前最好的軟解,Anysim 111的原理和iUnlock不一樣,Anysim 111完全不去動(dòng)seczone里的token和lockstate table,整個(gè)解鎖過程不需要發(fā)送AT+XCLK指令,如果你解鎖用minicom運(yùn)行后就知道lockstate table還是鎖住的狀態(tài),anysim 111用的是在baseband firmware上打補(bǔ)丁,跳過了所謂mnc檢查(network check,實(shí)際是什么我也不是很明白)完全欺騙了iPhone,讓iPhone認(rèn)為自己解鎖了。這個(gè)方法的好處就是:seczone完全沒有動(dòng)過,內(nèi)容完全,之后如果Apple再升級(jí)baseband firmware,大不了我們的手機(jī)重新鎖死,應(yīng)該是不會(huì)再變磚了。

所以,目前所謂變“處女"的方法,就是把iUnlock修改seczone的locktable重新改回來。至于IPSF解鎖后破壞的seczone,就得聽天由命了……

anysim 1.1.1p

現(xiàn)在anysim出了1.1.1p,看google code上只有一個(gè)簡(jiǎn)短的說明:“fix the counter problem”,也就是說:“解決了計(jì)數(shù)器的問題”。

我也不明白這個(gè)到底是怎么回事,hackint0sh上曾經(jīng)有討論過anysim 111在更新了baseband firmware后,還是發(fā)送了XCLCK這個(gè)指令,而按照anysim 111的工作原理,這個(gè)指令完全不需要而且也完全不可能會(huì)成功。而且執(zhí)行這個(gè)命令會(huì)增加一次NCK嘗試解鎖計(jì)數(shù)。據(jù)說是因?yàn)槭д`,在anysim 102 -> 111的時(shí)候這段代碼忘記剔除了。


但是這個(gè)帖子當(dāng)時(shí)就被罵是胡說八道,據(jù)說源代碼上已經(jīng)把調(diào)用標(biāo)記了,不會(huì)再調(diào)用了,反正看到最后也是沒有結(jié)果。而且也不能確定這個(gè)所謂的計(jì)數(shù)器,就是指NCK計(jì)數(shù)器。

我的看法是,你如果現(xiàn)在要解鎖,就用anysim 1.1.1p吧,如果你已經(jīng)用了anysim 1.1.1解鎖,那也完全沒有關(guān)系,反正NOR seczone完全可以重寫(回復(fù)出廠狀態(tài),恢復(fù)NCK解鎖計(jì)數(shù)器為0),這個(gè)NCK計(jì)數(shù)器也就已經(jīng)是一個(gè)擺設(shè)了(只要你不要沒事就嘗試解鎖玩就行了,如果你沒事就一直嘗試用iUnlock發(fā)送XLCK指令玩,又沒有刷回seczone,到時(shí)候NCK計(jì)數(shù)器超了,會(huì)發(fā)生什么事情我不知道)。

現(xiàn)在解鎖了,將來是否能用蘋果推出的官方解鎖

如果你現(xiàn)在已經(jīng)解鎖了,并且解鎖工具是用iUnlock 1.0.2 / anysim 1.0.2 / anysim 1.1.1 / anysim 1.1.1p,那么將來蘋果推出官方解鎖的時(shí)候,你是可以使用蘋果官方的辦法來解鎖的,所需要的就是重新修復(fù)seczone(1.02)或者重新刷回原廠 baseband firmware(1.0.2 / 1.1.1)

如果你現(xiàn)在已經(jīng)解鎖了,并且解鎖工具用的是iPhoneSimFree.com推出的付費(fèi)方案的話,我也不知道你將來是否能用官方的辦法。我個(gè)人覺得:你的機(jī)器將來可能連升級(jí)1.1.2或者更高級(jí)的firmware都不行了,更別說解鎖了,你唯一能希望的就是iPhoneSimFree.com在解鎖的時(shí)候備份了你的seczone

另外:

覺得自己運(yùn)氣實(shí)在太好的朋友,真的想要嘗試猜測(cè)自己的NCK的:
先刷回原廠firmware(恢復(fù)一次即可),然后參考n000b的這個(gè)帖子:http://bbs./v...,按照這個(gè)帖子的辦法進(jìn)入minicom,在minicom輸入:

AT+CLCK="N",0,"NCK碼"

NCK碼從00000000 到 99999999,8位
然后再用n000b帖子中的辦法判斷是否已經(jīng)解鎖。

警告:這個(gè)辦法完全完全完全是按照目前的知識(shí)得出來的,是否能成功,是否有危險(xiǎn),我完全不知道,如果你真的要嘗試,那我先謝謝你為iPhone機(jī)友作出的貢獻(xiàn),請(qǐng)?jiān)趪L試后告訴我們你的壯烈經(jīng)過。

警告:如果你嘗試了超過NCK計(jì)數(shù)器的次數(shù)還失敗了,你的iPhone很有可能就永遠(yuǎn)屬于AT&T了


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多