2010年5月23日 星期日

幫你的iPhone3GS保留降級回復的方法

首先必須先聲明,以下文章99%是PTT上的iPluto發表的文章
我只是想要自己記錄起來 + 一些圖片說明所以才在自己blog上張貼
若有冒犯之觸煩請告知
source1: iPluto網誌文章 - 講解回復機制
source2: iPluto PTT文章 - [越獄] Tiny Umbrella 備份簽名架認證server超簡單
p.s.在此Mac為例

1. Apple處理iPhone回復時的機制
以前的回復方式只要在iTunes按住option再選要回復的firmware即可
但是從iPhone3GS/iPod Touch 3以後就無法了
因為Apple想了一套機制來防止hacker的jailbreak:
每支iPhone/iPod Touch 的晶片都有一個unique的ID - ECID
i) 要回復時,Apple將要刷的firmware版本及ECID送到Apple的server
ii) Apple檢查你想回復的軔體是不是最新版本
是的話就幫你的ECID"簽名"(called ECID SHSH)並回傳
(因為Apple只會簽最新的版本)
iii) iTunes若有收到server回傳的簽名就會讓iPhone開始回復
否則就會回復失敗(Error 代碼好像是1015)

2. Cydia的作者Saurik想出的方法
趁Apple還沒將firmware更新至下一版本前
i) 先把目前firmware版本及ECID送去apple server要簽名
ii) 把server回傳的ECID SHSH備份起來
iii) 透過一些方法把ECID SHSH餵給iTunes,iTunes就會給回復
3. 備份ECID的方法
i) 存在Cydia上 - 要jb,在cydia裡面點選"Make my life easier"
ii) 存在自己電腦上 - 下面會說明,順便說明如何ECID SHSH該如何使用

TinyUmbrella會幫你備份ECID SHSH
更會建立一個假的apple server
好讓iTunes回復時連到假server取得備份的ECID SHSH
i) 將iPhone接上電腦,開啟Umbrella
第一次的話log視窗應該會顯示
>> Connect a device to continue...
>> Caching shsh files...
>> Found [0] shsh files to cache...
先勾選"Advanced Options"
"ECID"跟"Device/Version"他會自己偵測
"Location"先選Apple (趁新版還沒推出前先去要簽名)

ii) 點選"Save My SHSH"
至此步驟已經將ECID SHSH備份完成了
(據說是自己電腦跟Cydia各一份)

5. 如果不幸某一天要回復而且firmware也已經更新了
i) 將iPhone接上電腦,開啟你的Umbrella
ii) 勾選"Advanced Options",並在第3行選擇要去取得ECID SHSH的地點
(按照規則是要去Apple server,但是就是因為Apple已經不給簽舊版
我們才會備份起來,因此看你是要選Cydia上的還是自己電腦裡的
"localhost"就是選擇自己電腦上的)
iii) 點選"Start TSS Server",接者就可以用iTunes的option+回復
來選舊版firmware了

以下是擷取自TinyUmbrella上的一段話:

The latest version of TinyUmbrella contains a small server that forces iTunes to connect to it instead of going to the apple servers. When you run TinyUmbrella and start the TSS server, your saved SHSH signatures will be cached up and ready for use. Once TinyUmbrella is running and the TSS server is running. You can open iTunes and start your restore to the firmware version you have SHSH files for. iTunes will accept the responses as if they had come from Apple itself.

最後提醒一點,iPhone restore用的firmware會存在使用者資料夾下的
/Library/iTunes/iPhone Software Updates/
底下
有空最好備份一下。

沒有留言: