IOS就是iPhone OS。IPhone是智能手機,硬件上部署了壹套iPhone OS操作系統。這個操作系統就像Windows CE和Windows Mobile。它們可以很容易的用壹個對比來描述,就是iPhone OS(操作系統)之於iPhone(硬件平臺),相當於Windows XP之於我們的x86和x64家用PC,當然也相當於WinCE之於嵌入式硬件。
第二,鎖定版和未鎖定版有什麽區別?
IPhone分為兩種,鎖定版和解鎖版。有了鎖版本就意味著加了壹個網絡鎖,意味著綁定運營商,比如美國版的AT & amp;英國的t,O2。這種手機只能插相應運營商的SIM卡才能用,插其他卡就不能用了。大家通常稱這臺機器為小白。通常情況下,購買這類iPhone是通過與某運營商簽訂1–2年入網協議,綁定話費賬戶承諾每月消費多少,打折購買機器或免費贈送。這樣,iPhone的手機費用就已經轉化為相應運營商的話費了。如果妳想用別的卡,那麽iPhone需要越獄,然後解鎖。只有通過這兩個過程,鎖定版本的iPhone才能使用另壹個運營商的卡。關於解鎖,也分為硬解鎖和軟解鎖,後面會講到。
解鎖版也叫官方解鎖版,比如港行或者阿聯酋的解鎖版(香港也有和記黃埔的“3”定制iPhone)。壹般這種手機價格會高壹些,但好處是任何運營商的SIM卡都可以成功幫助iPhone激活,可以正常使用。他們只需要逃跑,而不是解鎖。
(如何解鎖,百度壹下)
IPhone 2G(第壹代)全部鎖定。
三、什麽是越獄?為什麽要逃?
越獄是指利用iOS系統的壹些漏洞,通過指令獲取iOS的root權限,然後改變壹些程序來強化iPhone的功能,突破iPhone的封閉環境。iPhone剛買的時候是關著的。作為普通用戶,我們無法獲得iPhoneOS的root權限,也無法將壹些軟件安裝到手機中。我們只能通過iTunes中的iTunes Store購買壹些軟件(當然也有免費軟件),然後通過蘋果認可的方法(iTunes連接iPhone並同步)復制手機等合法獲得的軟件。但這樣壹來,我們的用戶就被牢牢綁定在了蘋果的管轄範圍內。壹些有用但不壹定符合蘋果利益的軟件將無法進入iTunes商店。比如我們不能在iOS上安裝SSH,不能在iOS中復制文件,不能安裝更適合自己的輸入法。這些軟件都需要使用更高級別的權限,蘋果是不允許的。
為了更好的使用我們的iPhone,我們不得不越獄。越獄不是必須的,但是出獄後用手機會更爽,更方便,更好玩。越獄後可以免費使用很多軟件,可以進壹步提升手機的易用性。
四、什麽是解鎖?為什麽要解鎖?
因為鎖定iPhone的存在,如果要使用其他運營商的SIM卡,必須解鎖。如果不需要換運營商,當然不需要解鎖。但比如流向中國大陸的美版水貨,就無法使用AT & amp;t,只能解鎖。
解鎖有兩種方式,硬件解碼或者軟解。在軟解決方案發布之前,都是硬件解碼,最常見的硬件解碼就是用卡。如果卡不適用,有壹個終極解鎖方法,但是這個方法只有蘋果官方才能做到,因為我們不知道鑰匙。就像沒有鑰匙就進不了房間的原理,沒有鑰匙就無法完全完美的開鎖。在逐漸了解iPhone基帶、NOR、固件等之後。,我們來更深入的討論壹下完美解鎖的問題。
破解通常被稱為“解鎖+越獄”。對於很多iPhone用戶(尤其是中國大陸的美國iPhone用戶)來說,兩者都是必須的(當然越獄不是必須的,只是更好玩而已),所以很多破解方法把解鎖和越獄的方法放在壹起,提供給大家。
5.什麽是固件?如何更新固件?
固件是iPhone基本的iOS存儲和通信模塊軟件的載體,相當於電腦的操作系統(如windows xp)或更高級別的BIOS。沒有固件,iPhone只是壹個沒有大腦的硬件,相當於買了壹臺沒有操作系統的電腦。固件可以被認為是壹個操作系統。
再往深裏看,iPhone的固件分為應用部分和基帶部分。應用部分主要指iOS的iPhone OS操作系統,基帶主要是iPhone通信系統。這兩個部分組合成壹個xxxx.ispw文件,其中包含iPhone的固件。
更新固件相當於重裝操作系統,通過iTunes中“iPhone固件恢復”的方式完成。對於3GS之前的iPhone壹、二代手機,由於安全措施不足,我們可以直接下載蘋果的固件軟件(xxx.ipsw)進行恢復。但是,在3GS和更高版本中,不能通過這種方式恢復。因為對於壹個從網絡上下載的固件,我們可以直接修改他們的內部內容並越獄,所以蘋果當然不會這麽做。如果我們想恢復3GS加入加密方法後的固件(或者更新固件),首先要去蘋果的激活服務器上查看我們即將恢復的固件軟件(xxx.ipsw)是否來自蘋果官方。他們將檢查這個固件的簽名。如果不是官方的,那麽對不起,用戶無法恢復固件。這就引出了下壹個話題,SHSH和自建的蘋果固件恢復認證服務器。
6.什麽是ECID?什麽是SHSH?如何備份SHSH?如何恢復到最初的iOS版本?
引入這個話題的根本原因是蘋果禁止妳使用舊版本的固件。壹旦“升級”,就不能“降級”。當妳選擇恢復舊固件時,他們通常會讓iTunes收到壹個拒絕執行這個恢復操作的命令,從而阻止妳這樣做。要知道,現在的固件都是簽名的,而且是用只有妳的設備才有的全球唯壹標識符(也就是ECID)簽名的。Apple使用“唯壹”方法來生成壹個哈希值,該哈希值包含固件文件的相應版本和您的ECID。ITunes將接收此哈希值並將其發送到您的設備。當妳的設備收到時,它會立即檢查並驗證簽名(確保這個固件確實來自蘋果官方。加密算法很復雜,暫時破解不了。如果簽名匹配,固件恢復操作將繼續;如果不匹配,設備將報告錯誤,恢復操作將暫停。
然而,我們不得不崇拜傑伊·弗裏曼,現在我們知道如何“愚弄”iTunes。Apple只為固件的“活動”版本提供簽名。因此,壹旦新版本的固件發布,他就停止簽署舊版本的固件。這就是為什麽妳再也得不到3.1.2版本的簽名了。現在蘋果只簽3.1.3版本(iPad是3.2版本),直到下壹個版本的固件發布。很快,3.1.3(以及3.2)版本的固件簽名將成為歷史,因為蘋果只會在新版本的固件上簽名。當前版本非常重要。如果您的設備(ECID)沒有相應固件版本的有效簽名,則不能恢復到該固件版本。這個問題會定期出現(每次固件更新後)。
所以,如果有保存這個簽名的機制,我們可以繞過蘋果,隨意恢復所有版本的固件。如果妳的設備越獄了,使用cydia,妳的SHSH文件就可以保存了。另壹方面,如果妳的設備沒有越獄或者目前沒有越獄,那也是壹大不幸,因為cydia只有越獄後才能使用。
ECID,即專屬芯片ID,是iPhone3GS/iPhone4的ID號,每臺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或Apple獲得特定版本的SHSH。關於固件的恢復,也就是iOS的降級,我們還是要用TinyUmbrella這個軟件。導入相應的SHSH後,可以在本地電腦上模擬蘋果的認證服務器,可以恢復蘋果禁止的固件。
7.什麽是基帶?NOR是什麽?什麽是Seczone?什麽是NCK?
基帶是iPhone的通信系統,用來控制手機通信、電話通信、WiFi無線通信、藍牙通信。IPhone有相關的通信硬件,需要基帶的通信系統驅動。有了工作基帶,可以打電話,收發短信,使用3G功能。
當然除了WIFI。基帶版本可以從iphone-& gt;找到這臺機器的調制解調器使用的版本號。IOS和基帶相對獨立,協同工作。基帶升級後,很多軟解決方案都會失效,鎖版iPhone就用不了了。而且最嚴重的是,基帶幾乎不能降級。所以對於鎖版的手機,基帶升級壹定要謹慎,被破解後壹定要升級。當然,無鎖版也要謹慎對待基帶升級。
也不是壹種閃存芯片。不同於閃存NAND。但都是內存條。iPhone的基帶用的就是這種閃光燈。也不是用來存儲基帶的介質。
Seczone是基帶的內部認證模塊。屬於這個通信系統。這個認證模塊非常強大,除非是用蘋果特定的私鑰加密生成的代碼,否則其他內容都會被屏蔽。這使得基帶很難被破解。而且是暴力破解不了的。
NCK是壹個解鎖計數器。裏面有計數值。達到壹定值。它將永久地把iPhone變成AT & amp;t或者其他國家合約運營商(註:要看妳買的國家)。
有了這些概念,我們就可以討論完美的逃離了。
關於完美解鎖的進壹步討論:
八、如何才能做到完美解鎖?
iPhone中基帶的信息存儲在NOR中。是的,基帶的當前狀態存儲在NOR中,包括iPhone的當前解鎖狀態。當iPhone離開工廠時,它被鎖定在ATT的網絡中。在這裏,有人想問:那如果我們把這個狀態改成解鎖就完美了,可以,但問題是:
1,也不是只能通過基帶的固件,也就是基帶的操作系統來讀寫。而且NOR中對seczone的控制非常嚴格,無法直接發送指令進行寫入。
2.基帶的固件是蘋果數字簽名的,也就是說基帶只有在蘋果自己的1024位固件被其私鑰簽名的情況下才會運行。
3.最重要的壹點是,我們不知道要往NOR seczone裏面寫什麽才能解鎖,因為NOR seczone裏面的數據是加密的,不是0就是lock,1就是解鎖這麽簡單。每部iPhone的NOR在加密前可以壹樣,加密後就不壹樣了,而這種加密機制只能通過蘋果的私鑰才能破解出來。
那麽,要實現完美解鎖,需要做些什麽呢?
其實妳可以通過iPhone的minicom向iPhone的基帶發送命令,其中有壹個命令是用來解鎖的,而我們很清楚這個命令是什麽,即:at+clck = "pn ",0," xxxxxxxx "。
註意到後面的八個X了嗎?那些X是妳的解鎖碼,解鎖碼,或者技術上,叫做NCK和網絡控制鍵。每個iphone的這個鍵都不壹樣。我相信蘋果應該是通過某種隨機機制生成這些解鎖碼,然後和IMEI或者序列號聯系起來,放到自己的數據庫裏。未來蘋果官方提供解鎖的時候,他們會通過妳的IMEI或者序列號告訴妳解鎖碼,實現完美解鎖。
但是當妳發送命令的時候,妳的iPhone怎麽知道這個解鎖碼是對是錯呢?如果iPhone需要知道對錯,就說明iPhone知道解鎖碼,那麽我們就可以從iPhone的某個地方找到這個碼,完美解鎖,對吧?不要!
其實iPhone上保存的也不是這個代碼通過特殊算法生成的哈希值hash(code),而且這個算法是不可逆的(就像MD5壹樣)。
通俗地說,我們可以這麽想。蘋果教iPhone壹組暗碼,告訴iPhone 1 =鴨2 =雞3 =鵝,然後將暗碼123的解鎖碼編碼為“鴨雞鵝”並存儲在Phone NOR中。這個時候iPhone還不知道解鎖碼是123。它只知道如果有人告訴我123,我會根據蘋果的密碼來計算。如果和“鴨、雞、鵝”壹樣,那麽別人講的代碼就是正確的。當然,其實這個過程沒那麽簡單,不然妳壹猜就能破譯這個密碼。按照現在的計算機水平,通過哈希值計算回解鎖碼幾乎是不可能的。
那麽,我們窮嗎?不就是個八位數嗎?我們從000000000到99999999都試了,總有壹個吧?這種方法在理論上是可行的,但在實踐中卻行不通,原因有二:
1,按照粗略的結算,這1億條指令發送到iPhone需要35天,iPhone需要多長時間來計算。
2.至關重要的是,iPhone的基帶NOR seczone中有壹個NCK計數器。壹旦嘗試3–10次失敗,妳的基帶會在AT&中被燒死;t起來。
所以目前iPhone還沒有完美解鎖。我相信如果蘋果不出大錯,就不會有這種事,除非蘋果屆時正式推出解鎖,那將是壹次完美的解鎖。