以前のエントリで書いたように、新ブートROMデバイスや、iPadに対応したblackra1nが、そろそろ出そうな状況だった。
しかしその後、いろんな人がgeohotに、
『いつ出すの、ねぇねぇblackra1nいつ出すのー教えてー』
攻撃をしたせいで、geohotが
『シラネーヨ、他にやることいっぱいあるんだ。すぐ出ると思ったら大間違いだ』
とキレてしまい、blackra1nがしばらく出なそう。
が、しばらくお蔵入りの予定だった、spirit exploitを使用したツールが復活しそうな気配もでてきた。
いずれにせよ、これらのツールが直近で出た場合は、3.1.3・3.2 (iPad)を利用できる環境が必要になる。だが、今後Appleがさらに新しいファームウェアをリリースすれば、これらのバージョンには、公式な復元すらできなくなるのがパターンだ。
Jailbreakして、CydiaにECIDが登録されている場合は、各バージョンのECID SHSHが順次Appleのサーバから、自動的に取得される。
3.1.3で購入した3GSや、iPod Touch、iPadは現状jailbreakできない。そのため他のツールを使って、Cydiaキャッシュサーバに、ECIDを登録する必要がある。
現状、jailbreakせずに、ECIDをCydiaに登録する方法は、
- .hostsを変更してiTunes認証をCydiaキャッシュサーバでリダイレクトして復元作業
- Umbrellaというツールを使う
- Auto SHSH 3.1.3/3.2 [RC2] というツールを使う
の3つの方法がある。
Umbrellaは、notcom という人が開発したツールだが、iPhone Dev-Teamのmusclenerdも、複数のテストを重ねて 『非常に強固なツールだ』 とお墨付きを出している。
Auto SHSHは、iH8sn0wが開発、Umbrellaのコードを搭載して、作業の自動化を図ったツールだ。
実際にUmbrellaとAuto SHSHで、iPadのECIDをCydiaに登録する作業をやってみたので、まとめておく。
【UmbrellaツールでのECIDファイル作業】
まず、Umbrella自体は、ECIDを取得する機能を持っていない。従ってSystem Profiler (Mac)か、USBView (Windows)でECIDを別途読み出す作業が必要になる。
追記:最新のUmbrellaは、ECIDを自動的に取得する機能が追加されている。
▼まずは、リカバリーモードでiPadを母艦に接続。
リカバリーモードにする手順は、iPhone/iPod Touchと一緒で、電源OFF状態でホームボタンを押しながら、母艦に接続する。
デカイから、各ボタンが離れてて、両押しとか大変である。
▼USBView(Windows)で、リカバリーモードで接続した、iPadのECIDを表示。
Options メニューから、Config Discriptors を選択。FileメニューからRefreshを選択。
Apple Recovery Device Driverの下に、ECIDの16桁の数列を探す。
MacのSystem Profilerでは、Apple Mobile Device (Recovery Mode)の下。
▼ゲトしたECIDを、Umbrellaに入力。デバイスからiPad – 3.2を選択、SHSH RepositoryはSaurik – Cydiaに。
▼Submitを押すと、ダイアログの下部にSHSH Saved! xxxx-ipad-3.2.shsh と表示される。
この状態で、Cydiaキャッシュサーバに、iPadのECIDが登録されているはず。確認する術はない。
また、Umbrellaを起動したフォルダにも、ECID SHSH blobと呼ばれるハッシュファイルが、先ほどのxxxx-ipad-3.2.shshの名前でセーブされている。
Umbrellaに同梱されている、TinyTSSは、このファイルを利用して、Cydiaキャッシュサーバを経由せずに、iTunesでの復元を可能にする。
従って、Cydiaキャッシュサーバがダウンしていても、TinyTSSとECID SHSH blobがあれば、旧ファームウェアへのダウングレード作業が可能になる。
【Auto SHSH ツールでのECIDファイル作業】
Windowsユーザなら、こっちの方が作業は楽だ。
Auto SHSHには、リカバリーモードで接続されたiDeviceのECIDを、直接読み出す機能が搭載されているからだ。
なお、Auto SHSHに内蔵されたCydiaキャッシュサーバへのアップロード機能は、Umbrellaのコードを流用している模様。
▼リカバリーモードにしてiPadを接続し、Auto SHSHを起動。
Grab my SHSH Blobs Automaticallyを押す
Cydiaキャッシュサーバに接続できるのは、Auto-SHSH RC2からになっているので注意。
▼ほんの数秒で、ECIDを自動的に確認。
この後、SHSH blobをセーブするファイル名を聞いてくる。
▼ファイルがセーブされ、CydiaにECIDを登録中のメッセージが出た後に、完了ダイアログが出る。
注意点として、.hosts ファイルを書き換えて復元、Umbrella、Auto SHSHとも、CydiaにきちんとECIDが登録できたか、確かめる方法がない。
慎重に作業をし、ローカルに出力されたECID SHSH blobファイルをきちんと保存しておくなど、注意が必要。