詳解 iPhone、iPod Touch、iPad 備份 SHSH 的相關內容

話說原訂要出的 iOS 5 使用心得延期了(被歐飛

因為我認為這篇文章比 iOS 5 心得要重要很多,這篇文章主要也給我身邊的朋友看的

所以詳細說明一下關於 iPhone 的 SHSH 備份、運作、還原 的原理

首先先介紹一下 SHSH 這個「概念」

為什麼說是概念,因為他是用來讓 iPhone、iPod Touch、iPad(以下簡稱 iOS 設備) 能夠對軟體進行驗證的”東西”,意思就是當你的 iOS裝置 處於某一個系統之下,那麼 iOS裝置 開機就會驗證系統是不是對應SHSH的。

那這個 SHSH 必須對應你的 iOS裝置 ,因為他包涵「ECID、IMEI、機身序號」等等的資訊,iOS裝置 會驗證這些資訊來確認 機器、系統 是否對應。

這樣的機制從 3Gs、iPod Touch 3rd 開始實施,所以你的 iOS 裝置要是是以下幾種,那你就會需要用到這篇文章。

需要使用 SHSH 來驗證的 iOS 裝置:

iPhone:3Gs、4

iPod Touch:3rd(8GB除外)、4

iPad:iPad1、iPad2

這個 SHSH 解釋起來會有很多牽涉跟關聯,因此底下用個簡單的例子來表示 SHSH 這東西的概念

假設你想要你的 iOS裝置 運作在 4.3.3,你就必須要有一個對應你的 iOS裝置 4.3.3 的 SHSH

這樣的概念很簡單了吧,你的 iOS 裝置要跑哪個系統,你就要有你裝置對應的 SHSH 才能用。


別人的 SHSH 我可以用嗎?

這答案很簡單,要是別人的SHSH可以給你用,那我直接給你我的 SHSH 就好了,我根本不用寫這篇文章。

上面已經說了,這個SHSH要包涵你的iOS裝置的資訊、版本才行,而且要對應 iOS的版本。


SHSH 在什麼時候使用?

SHSH 主要用在,當你要「回復」或是「更新」你的 iOS 裝置的時候。

iTunes 在進行恢復的時候有個步驟是「連接到 Apple 進行驗證」,而這個步驟就是從蘋果的伺服器上面取得專屬你的 SHSH。

取得之後,才開始更新或回復你的 iOS裝置,完成之後將你的 SHSH放入系統中,讓 iOS裝置 可以正常開機。


那為什麼要備份 SHSH?

這個問題的答案,假設你仔細看了上面的東西,應該也猜的到。

你的 SHSH 必須包涵你的 iOS裝置跟版本 的相關資訊,而且目前來說還沒有方法可以直接在你的電腦上算出SHSH的資料。

所以我們得到SHSH唯一的方法就是連線到 Apple 的伺服器,然後把你的 iOS裝置的序號、版本…等等的資料給他,之後 Apple 的伺服器給你 SHSH。

那問題來了,Apple 可以限定伺服器給你的 SHSH 版本,意思是例如現在 iOS 5.0 出來了,蘋果就關閉了 iOS 4.x.x 的 SHSH,你已經沒辦法從 Apple 的伺服器獲得 iOS 4.x.x 的 SHSH 認證。

所以你現在點下 iTunes 的回復,只能回復到 iOS 5.0,而不能回復到 4.2.1、4.3.3、4.3.5,或是之前的任何一個版本。

因此你擁有越多的SHSH備份,就代表你擁有越多版本 iOS 的「鑰匙」

我會建議你備份 Apple 提供的任何一個版本的 SHSH,不論你有沒有要升級。

因為你永遠不知道,你會不會明天系統突然掛了,要回復任何一個版本?


那有哪些方法SHSH?

備份 SHSH 的方是有幾個種類:

Cydia 自動備份:這是 Cydia 會自動備份你的SHSH來供你使用,但是我認為你應該擁有你自己的備份,所以這個 Cydia 備份只是給你方便,並不是最保險的作法。

Tinyumbrella 備份:這個軟體可以透過 Apple 伺服器來備份你的 SHSH,也可以連線到 Cyida 將自動備份的SHSH抓下來放在你的電腦內,這是最廣泛也最安全的作法。

RedSn0w 備份:老實說,這功能最近才加入,我建議用 Tinyumbrella 就好,因為 RedSn0w 備份沒有特色

iFaith 備份:iFaith 可以備份你手機當前的 SHSH,而且製作不用連線的 ipsw 來讓你的iOS裝置直接回復到當前的版本。

那解釋一下以上除了 RedSn0w 以外,其他幾種備份方法之間的差異性以及特點。

Cydia 自動備份

這是要 Cydia 自動去幫你問 Apple 的伺服器現在用的是哪個版本的 SHSH,然後幫你備份到 Cydia 自己的伺服器保存。不管你現在是 4.2.1、4.3.1、4.3.2、4.3.3,他都會自動幫你備份到最新的 SHSH,但是問題是我並不清楚他到底是依照什麼情況來備份的。

這個 Cydia 備份,也會影響到 Tinyumbrella 的備份,我們稍後會解釋其中的關聯性。

Tinyumbrella 備份

Tinyumbrella 是一個專門用於備份 iOS裝置 SHSH 的軟體,他的主要攻能有底下幾個

一:從 Apple 的伺服器備份最新版的 SHSH 下來備份

像是現在 Apple 伺服器給的是 iOS 5.0 的 SHSH,那你用 Tinyumbrella 備份下來的就是 5.0 的SHSH,因為你不確定會不會明天 5.1 突然出來了,然後 Apple 就關了 5.0 的SHSH備份,那你不就少了一個版本可以用?

二:從 Cydia SHSH 伺服器,抓下你在 Cydia 上的 SHSH 備份

這就是上面提到的,Cydia 備份和 Tinyumbrella 之間的關聯,假設你錯過了備份某個版本的SHSH的機會,但是 Cydia 有幫你備份到這個版本的話,你可以用Tinyumbrella 將他抓下來放在你的電腦內。

畢竟檔案拿在手上總是比較有安全感,你永遠不知道會不會今晚 Cydia 突然被駭,然後全部SHSH備份流失之類的慘劇發生。

三:作為伺服器讓你可以降級系統

具有備份的功能,當然也具有將備份還原的功能,Tinyumbrella 可以架設一個伺服器讓 iTunes 來進行驗證,用來回復 Apple 已經不發送 SHSH 的 iOS版本。

當然前提是,你有備份 SHSH。

iFaith 備份

iFaith 是一個後起之秀,對於很多人來說 Tinyumbrella 已經提供了一個很完整的方案來備份你的SHSH。

但是—-我錯過了我現在用的版本的SHSH備份,還有救嗎?

這個 iFaith 就是專門解決錯過了當前的SHSH備份,但是又需要回復到當前版本iOS的人。

iFaith 是一款可以備份你當前 iOS 的 SHSH 的軟體,他跟 Apple 的伺服器無關,也跟 Cydia 備份無關,他備份的就是你當前系統的 SHSH,並且幫助你回復到你當前版本的iOS。


那要用哪種方法備份 SHSH 呢?

我個人建議,全部都用,因為他們各自用在不同的情況下,除非你很肯定你到死都不會遇到。

第一次備份SHSH的時候,用 Tinyumbrella 把 Cydia 跟 Apple 能給你的全部 SHSH 都抓下來

之後每次聽到有新版本的 iOS 登場時,就立即打開 Tinyumbrella 備份最新的 SHSH 以備不時之需

再來,假設你很悲劇的沒備份到你當前系統的 SHSH(例如 當初我幫忙越獄的很多 4.2.1 都沒備份),又或者 你覺得其他的系統都不完美(例如 4.3.4、4.3.5),你打算有很長一段時間都停留在當前的系統,繼續觀望新的系統的話:「那要記得找一天風調雨順、風和日麗的日子,打開這篇文章,轉到 iFaith 的教學,然後好好的備份一下你當前系統的 SHSH。


Cydia 自動備份檢查

Cydia 自動備份是你有越獄的情況下,對你 iOS裝置 備份 SHSH 的最後一道防線,因為他會自動備份,但是就如同上面介紹寫得,我們沒辦法控制 Cydia 什麼時候要去 Apple 伺服器備份,因此不可以過度依賴 Cydia 備份,這只能當作是你忘記或是錯過備份 SHSH 的情況下的解藥。

那要怎麼查看你在 Cydia 備份到哪些 SHSH?很簡單,你只要打開 Cydia,看到最上面那排

「SHSH:4.x.x、4.x.x、4.x.x」有寫出來的就是你目前在 Cydia 上擁有的備份。

IMG_0640

那從我的圖上可以看到,我擁有 4.3.2、4.3.3、4.3.4、4.3.5 的 SHSH,而其中我只用過 4.3.2、4.3.3,自動備份的是 4.3.4、4.3.5,那 4.3.4、4.3.5 這兩個我用不用的到?我不清楚,現在我用不到,不代表以後用不到對吧?

雖然 Cydia 上有備份,但是我還是建議你將這些 SHSH 用 Tinyumbrella 抓下來。


Tinyumbrella 備份操作

再來講解一下使用 Tinyumbrella 的相關使用方法

首先你必須先安裝「 JAVA 用戶端」才能運行 Tinyumbrella

安裝完 Java 之後,到「Tinyumbrella 部落格」上面下載最新版的 Tinyumbrella 來使用

記住,最好是從 Tinyumbrella 部落格 這個官方部落格抓,才能確保是最新的版本。

Tinyumbrella

抓下來之後,就會看到如下的圖案,他們習慣將版本編號放在檔名上,所以可以清楚的看到當前的版本。

Tinyumbrellaicon

我不將檔案直接放到我的部落格,因為我當前用的版本可以對應到 5.0,我不清楚這篇文章到 5.1、5.2 還有沒有人看,因此要是直接放上來,到時再回來看這篇文章的人不就囧了?

那接著打開 Tinyumbrella 這個程式(防毒軟體可能會叫)

這個程式的主界面中如下:

Tinyumbrella-windows1

Show All SHSHs:這頁面顯示了全部你已經備份的 SHSH,而且也可以一次備份全部曾經用這台電腦備份 SHSH 的 iOS裝置。

Connected Device:這底下是目前有接上這台電腦的 iOS裝置。

Recent Device:這邊顯示曾經接到這台電腦,而且 Tinyumbrella 有偵測到的。

那,備份 SHSH 的方法非常簡單,你在左邊的清單中點入你的 iOS 裝置,然後按下 「Save SHSH」的按鈕,就可以保存 SHSH。

Tinyumbrella-windows2

接著你會問,我現在備份到的是 Cydia 上面的,又或者我備份到 Apple 伺服器上面的,我該怎麼在這兩個之間切換?

要切換 Cydia 跟 Apple 的 SHSH 伺服器的話,請點到 Advanced 這個分頁

其中 Request SHSH from Cydia 打勾的話就是備份 Cydia 的,沒打勾就是 Apple 的。

Tinyumbrella-windows3

現在,你已經用 Tinyumbrella 備份好你在 Cydia 上,以及目前 Apple 還有發的 5.0 SHSH 了(至少到今天為止還有發放)

你可以在 Show All SHSHs 那邊看到你目前擁有的全部 SHSH,假設你發現你沒有你目前正在用的這個版本的 SHSH 的話…:「那要記得找一天風調雨順、風和日麗的日子,打開這篇文章,轉到 iFaith 的教學,然後好好的備份一下你當前系統的 SHSH。


iFaith 備份當前版本的SHSH

想當然,很多iOS用戶可能不是自己越獄的,又或者是別人教你越獄的,你不知道什麼時候會出新版本的 iOS,當然你也不確定你需不需要升級。

但是相對你也不會確定你現在用的好好的,會不會等等開 Cydia 裝個軟體之後系統就掛了?

當這時候,你通常只有兩個選擇:升級到最新版本然後變回沒有越獄的情況、拿去找幫你越獄的人讓他訓話一頓然後幫你想辦法弄好

任何人來用 iOS,總是會有一些喜好的版本,例如有些人覺得 4.2.1 比較穩定,也有認為 4.3.3 相對完美的人,但是不論如何,你當前使用的這個版本肯定是你最熟悉的版本。因此當你的iOS發生問題時,你肯定希望能夠回復(重灌?)到你當前的版本。

然而問題就如前面所寫的,蘋果已經停止發放舊版的 SHSH ,假設你在 Cydia 也沒備份到,先前你也沒有備份過任何SHSH的話,那麼使用 iFaith 來備份SHSH是你現在最好的選擇。

首先你當然必須要有這程式,這是由 iH8sn0w 開發的工具,為了確保每個看這篇文章的人都能拿到最新版本,我一樣是直接給出 iH8sn0w 的連結:iH8sn0w

打開之後可以看到,這是一個非常簡潔的網頁,請直接點選 iFaith v1.3.2 來下載吧

iFaith

下載之後直接點 iFaith 執行,然後就會出現以下的宣告畫面

內容大意就是這個程式是免費,而且不准許商業(販賣)使用,所以請別為了這個軟體付出金錢之類的宣告,也別利用這個軟體賺錢這樣。

簡單的說就是這軟體是免錢的。

iFaithwindows1

再來這邊寫了四個主要的功能,而底下我列出的三個則是我們會用到的功能

Build Signed IPSW:製作一個包涵SHSH的專用 ipsw

Dump SHSH Blobs:從手機中取得目前的 SHSH 備份

Use DFU Pwner:將手機進入 iREB 模式(可以刷非官方製作的 ipsw)

iFaithwindows2

這邊我們要用他來備份SHSH,因此選擇 Dump SHSH Blobs 這個選項

之後會進入這個畫面,表示這個程序會需要花一些時間,這個程序不會改變你手機當前的任何內容

以及這個軟體只能運行在 iOS 3.1.x~~4.3.3(所以我沒辦法示範..因為我的是 5.0)

然後請按下 Proceed 繼續吧

iFaithwindows3

按完之後會出雁 Credits & Thanks,裡面寫出了眾多對越獄有貢獻的黑客..

之後請點下 Let’s Go!

iFaithwindows4

這時軟體會問你,你是不是在 AppleTV 上使用這個軟體..

因為不是,所以這裡要選「否」

iFaithwindows5

再來則是要求你將手機進入 DFU 模式

這邊我個人是建議你手動將手機進入 DFU 模式之後,再按下 Start 會比較快

iFaithwindows6

按下 Start 之後,會開始教導你怎麼進 DFU 模式

假設 iOS 裝置成功進入 DFU 模式的話,軟體就會自動偵測到,然後開始備份。

iFaithwindows7

完成之後,軟體會提示你存檔一個附檔名為 .ifaith 的檔案

有點像底下這樣的名稱

00000xxxxxxxxxx_iPhone_4-4.3.3_(8J2)-blobs.ifaith

這個檔案就是你目前的iOS裝置的 SHSH 備份,將他存檔以備不時之需吧。

iFaith 的教學上,我略過了很多圖片,因為我現在手邊沒有 4.3.3 以下的 iOS裝置 可以示範,不過在進入 DFU 模式之後,一直到存檔前都不用人工操作。

以上介紹了 SHSH的用途、用法、備份原因、備份方法等等的資訊

建議擁有iOS裝置(而且喜歡越獄、或長時間都希望留在當前版本)的人,備份一下手上 iOS 裝置的SHSH以備不時之需。

這篇文章有可能會再補充,不過目前就先到這邊吧。

回應的部份我久久才會看一下(因為很少人回應…我淚目阿..越看越傷心阿)

 

「詳解 iPhone、iPod Touch、iPad 備份 SHSH 的相關內容」 有 6 則迴響

  1. iFaith救到我了

  2. 其實 iFaith 對於沒備份到先前版本的 SHSH 的用戶來說,用途是很大的
    不過因為我已經升到 5.0 而且暫時沒打算降回,所以 iFaith 就沒有完整的圖片說明。

  3. 推~講解得實在很詳細 每個步驟都說明得很清楚
    感謝大大的技術指導 來去試試看
    (目前iPad2 還是4.3.3的版本 完全沒備份過SHSH…T_T)

  4. 感謝這個教學文
    對於我這個IOS的初學者幫助了我了解這方面的資訊
    再一次謝謝randkao大大的文章

  5. 感謝您的分享!! 之前cydia 6.1.2shsh自動備份毀了之後好險用ifaith還能手動備, thanks

發表留言