iOSのダウングレードに必要なSHSHを取得しよう! – TinyUmbrella

2015/03/23 22:01


現在、iPhone 4SやiPad 2以降のiOSデバイスはAppleが発行しているバージョンのファームウェアでしか復元することはできません。しかし、今後ダウングレードする時の鍵となるであろうSHSHを取得できる『TinyUmbrella』がベータ版としてアップデートされました。

※iPhone 4Sは、shshがありiOS 5.1.1の場合に限りiOS 5.1.1に復元可能

SHSHとは


iPhone,iPod touch,iPadなどのFW(ファームウェア:ipswファイル)での復元時、Appleサーバーで認証を行っています。
この認証はAppleが公開している最新バージョンのFW復元時のみ通るように設定されているため、古いバージョンへのダウングレードが通常はできません。

そこで、認証時に発行されるSHSH(Signature Hash)というファイルを使用します。

ECID(unique chip id:デバイスごとに与えられている16の文字列)とSHSHは、デバイスそれぞれに対応したファイルが存在するため、古いバージョンにダウングレードする場合など保存しておく必要があります。

※通常取得できるのはその時発行しているSHSHのみのため古いバージョンのSHSHは取得できません。

但しiOS 5からSHSHとは別にAppleが「APTicket」というFWを復元するときに使う即時発行の使い回しが効かない認証システムを取り入れており、今までのように保存したSHSHを用いて純正のFWをダウングレードすることができなくなりました。

iPhone 5s以降のSHSH


iPhone 5s以降のデバイスからCPUが64bitとなり、今までの方法では取得ができない状態でした。それからしばらく経ち、2015年3月15日『TinyUmbrella』の Betaがリリースされ、3月22日により安定したバージョン8.2.0.41 Betaがリリースされました。


これにより、iPhone 5s以降のA7チップiPhone 6などのA8デバイスでもSHSHが取得できるようになりました。


TinyUmbrella – Betaの使用方法


1.iTunes 12.1.1以降が必要


iTunesの12.1から「Apple Mobile Device Support」が変更になっているので、もし古いバージョンを使っている場合、最新バージョンへアップデートしましょう。

参考:iTunes 12.1の不具合?サードパーティ製ソフトが起動しなくなる問題の修正方法


2.Download/LinksよりOSに合ったソフトをダウンロード


Macであれば [OSX App Only]、Windowsであれば [WIN x64 zip](64bitの場合)のものをダウンロードするといいでしょう。

3.Java 8のインストール



こちらからOSに合った『Java 8』をダウンロード、インストールしましょう。

4.PCとデバイスを接続しアプリを立ち上げる


アプリを立ち上げると自動的にSHSHを取得します。


「Conected」に接続されているデバイス、「History」に以前接続したデバイスが表示されます。一度接続して保存することで、いちいちデバイスを接続しなくても「History」からSHSHを取得することができます。

その他「Action」→「Create Device」から手動でデバイスを追加し、SHSHを取得することができます。

2015/3/25追記

TinyUmbrella beta 8.2.0.48 がリリースされました!


これにより、Jailbreak済みで『Apple File Conduit “2”』をインストールしているデバイスから、そのバージョンのSHSHを取得することが可能になりました。

64bitデバイス(iPhone 5s, iPhone 6/6+, iPad Mini 2, iPad Mini 3, iPad Air, iPad Air 2)にも対応しています。


「Conected」で接続されているデバイス上で右クリックすると「Fetch SHSH on device」という項目が出てくるのでクリック。そうすると、現在のバージョンのSHSHを取得できます。


『Apple File Conduit “2”』がインストールされていない(Jailbreakされていない)場合、このようなアラートが表示されるので『Apple File Conduit “2”』をCydiaからインストールして下さい。

SHSHとデバイス履歴の保存場所


Windowsの場合

C:\Users\ユーザー名\.tu

Macの場合
~/.tu
  • 『.known_devices』がデバイスの履歴
  • 『.shsh』がSHSHファイルの保存場所
~/.tu/.known_devices
~/.tu/.shsh

隠しフォルダになっています。

iOSのダウングレードについて



記事執筆時の現在はできませんが、@iH8sn0wによる「iBoot exploit」などと組み合わせて将来実現可能になるかもしれません。

iOSアプリを開発している方も、古いOSで動作を確認した場合も出てくるかと思います。

今後、ダウングレードが可能になった時のために、SHSHファイルを保存しておくことをおすすめします。