什么是ECID?
引入這個話題的根本原因是:,蘋果公司禁止你使用老版本的固件。一旦你“升級”后,就不能“降級”了。他們一般會在你選擇恢復(fù)老版本固件的時候,讓iTunes收到一個拒絕實施這項恢復(fù)操作的命令,從而阻止你這么做。要知道,現(xiàn)在的固件都是簽過名的,并且使用只有你的設(shè)備才具有的、全球唯一的標(biāo)識符(也就是ECID)來簽名。蘋果公司使用“僅此一家”的方式將對應(yīng)版本的固件文件以及你的ECID一起生成一個哈希值。iTunes會收到這個哈希值,并發(fā)送給你的設(shè)備。當(dāng)你的設(shè)備收到后會立即檢查并核實簽名(確保這個固件的確來自于蘋果公司官方。加密算法非常繁雜,實踐上暫時無法被破解)。如果簽名匹配,才會繼續(xù)進行固件恢復(fù)操作;如果不匹配,設(shè)備就會報錯,恢復(fù)操作也就中止了。
不過,我們要膜拜Saurik大神(Jay Freeman),現(xiàn)在我們知道該怎么“忽悠”iTunes了。蘋果公司只提供“活躍”版本固件的簽名。因此,一旦新版本固件發(fā)布,他就停止對老版本固件的簽名。這就是你為何再也無法獲得3.1.2版本的簽名的緣故。現(xiàn)在蘋果公司只為3.1.3版本(iPad是3.2版本)簽名,直至下個版本固件的發(fā)布。很快,3.1.3(以及3.2)版本的固件簽名將會成為歷史,因為蘋果只會為新版本固件簽名(也就是只為iOS4簽名,譯者注)。當(dāng)前這個版本很重要。如果你沒有為你的設(shè)備(ECID)準(zhǔn)備好對應(yīng)版本固件的有效簽名,你就沒法再恢復(fù)到那個版本的固件了。這個問題會周期性地出現(xiàn)(每次固件更新后都會出現(xiàn),譯者注)。
因此,如果有一種機制,能夠保存這個簽名,我們就能繞過蘋果公司而隨意恢復(fù)各個版本的固件。如果你的設(shè)備越獄了,使用cydia,你的SHSH文件就可以保存好了。反之,如果你的設(shè)備沒有越獄或者當(dāng)前未能越獄,那真是天大的不幸,因為cydia只能越獄后才能使用。
ECID,即Exclu sive Chip ID,就是iPhone3GS/iPhone4的身份證號,每一個iPhone3GS/iPhone4都有自己的獨特的ECID。有了這個ECID,就能唯一確定一部iPhone。而ECID和我們按手機*#06#得到的序列號不太一樣,雖然都能唯一確定一部手機。ECID是iPhone的唯一編號,而后者則只是針對iPhone的通訊模塊的唯一編號。
SHSH實際上是ECID+iOS某個特定版本加起來行程的一個特征碼。對于一部iPhone 3GS或是iPhone 4,想升級到某一版本,就需要到蘋果的激活服務(wù)器去下載一個文件,來判斷這個版本針對這部手機是否合法。而這個文件就是xxxx.shsh。
這個文件對與我們越獄十分重要,一定要將針對每個iOS版本的SHSH文件備份好,才能在某天蘋果不讓我們恢復(fù)到這個版本時候,自行搭建認證服務(wù)器,然后恢復(fù)老的、有漏洞的版本來越獄。
再啰嗦一句,ECID和SHSH的概念僅僅適用于3GS及其以上版本,iPhone一代和二代就不需要考慮了。
如何備份SHSH目前主要有兩種方法。一種是手機越獄了有了Cydia,進入Cydia首頁就能看到備份SHSH的內(nèi)容(不過是英文的)。另外就是通過TinyUmbrella這款軟件。目前這款軟件已經(jīng)做得很出色了,iPhone連上電腦,就能夠自動讀取ECID編號,然后從Cydia或是蘋果官方獲取特定版本的SHSH。
具體教程及TinyUmbrella軟件下載點此查看。
關(guān)于固件的恢復(fù),也就是iOS的降級,我們?nèi)匀恍枰褂肨inyUmbrella這款軟件。導(dǎo)入相應(yīng)的SHSH后,即可在自己本地的電腦上模擬蘋果的認證服務(wù)器,也就可以恢復(fù)被蘋果禁掉的固件了。