A5/A6のiPhoneやiPadをダウングレードできる「Odysseus」の使い方

iPhone 4sやiPhone 5などのA5/A6 CPUでも有効なiOSダウングレードツール「Odysseus」を紹介します。
基本的には、CLIでOS XやLinuxのTerminalからコマンドを入力して、所有しているSHSHを用いてCustum.ipsw(カスタムファームウェア)を作成し、復元を行うという流れになっています。
Odysseusの使用条件
1.CPUが32bitのA4からA6チップまでのデバイスが対象具体的には
- iPhone 4(A4)
- iPhone 4s(A5)
- iPhone 5(A6)
- iPhone 5c(A6)
- iPad mini(A5)
- iPad 2(A5)
- iPad 3(A5X)
- iPad 4(A6X)
- iPod touch 4G(A4)
- iPod touch 5G(A5)
3.脱獄済みでOpenSSHとCore Utilities (coreutils)がインストールされている
以上が対応できるデバイスです。
Odysseusの使用方法
Odysseus – dayt0nこちらの「Instructions」に記されている方法で行います。
Tool:Odysseus v0.999
※Odysseus v0.1に同梱されている「FirmwareBundle」がiPhone 4のiOS 6.1.2と7.1.2しか入っていないため、それ以外のデバイス・バージョンでは現在のところ復元できません。
追記:v0.2にアップデートされ、iPhone 4 iOS 7.0.6が追加されました。
また、仮想マシンのUbuntuで試してみたところ、ツールが読み込めなかったためMac OS Xが必要になります。
1.ダウングレードしたいIPSWをダウンロード
Link:iPhone,iPad,iPod touch,AppleTV iOS Firmware IPSW ダイレクトリンク
2.SHSHファイルを有効にする
「.shshファイル」をxml形式の「.plist」にします。
「.shshファイル」と「IPSWファイル」をダウンロードしたツールの「macos」ディレクトリに入れます。
cat ECID-iDeviceModel-Version.shsh | zcat -fc > myblob.plist
plutil -convert xml1 myblob.plist
./validate myblob.plist downloaded.ipsw -zECID-iDeviceModel-Version.shsh:以前の「Tinyumbrella」や「iFaith」で取得した「APTTicket」が入っている.shshファイルになります。
downloaded.ipsw:iPhone 4のiOS 6.1.2の場合「iPhone3,1_6.1.2_10B146_Restore.ipsw」
※ここでエラーが出る場合、失敗するのでやめましょう。
3.現在のベースバンドを保存
ベースバンドをダウングレードすることが出来ないため、現在のベースバンドを保存します。
./sshtool -s baseband.tar -p 22 deviceIPパスワードを聞かれるので入力します(デフォルトは「alpine」)
※あまりにもバージョンが離れたベースバンドの場合、通信(ネットワーク)が有効とならない可能性があります。
iOS 8.4のベースバンドでダウングレードした場合、最初のアクティベーションがエラーになり最新のiOSでしか復元できなくなるリスクがあります。
4.custom iPSWを作成する
./ipsw downloaded.ipsw custom.ipsw -memory baseband.tar
./xpwntool `unzip -j custom.ipsw 'Firmware/dfu/iBSS*' | awk '/inflating/{print $2}'` pwnediBSSここまでエラーが無ければOKです。
5.kloaderを実行し、DFUモードにする
./sshtool -k ../kloader -b pwnediBSS -p 22 deviceIP10秒ほどで画面が暗くなり、DFUモードになります(その間ボタン類を操作しないように)
30秒くらしたら「Ctrl + c」 で抜けてください。
6.custom.ipswとshshを用いて復元
元の「ECID-iDeviceModel-Version.shshファイル」を「shsh」フォルダの中に入れます。
その後、「idevicerestore」を使ってCFWで復元します。
killall iTunesHelper以上で操作は完了です。
./idevicerestore -d -w custom.ipsw

とりあえず成功したので、あとはCustom Bundle待ち pic.twitter.com/UvRld6hQwU
— いち☠₣ƦEEÐØM (@ichitaso) 2015, 6月 11
対応するデバイスのFirmwareBundleについて
作者の@xerubさんにお願いするしかないのが現状です。@ichitaso oic. I'll make the 7.0.4 bundle, then
— ~ (@xerub) 2015, 6月 10
A5/A6デバイスでも試してみたところなので、今のところは待つしかないですね。But anyway, I'll be writing a GUI for @xerub's downgrade tool. Some old UI code from the tool I worked on will be reused.
— Karen/明美 (@angelXwind) 2015, 6月 9
KarenちゃんもGUIツールを作成しようとしているとのこと。また、@iH8sn0wのツールも気になるところです。個人的には「過去のバージョンでTweakなどのテストができる」ようになるのは非常にありがたいと思ってます。
iOS 8.3/8.4のJailbreakも合わせて、今後に期待しましょう!
追記
v0.3にて「FirmwareBundles」が多く追加されました。リクエストしていたiPhone 4 iOS 7.0.4が追加され、無事ダウングレードに成功しました。
Thank you @xerub! My iPhone 4 has come to 7.0.4 from iOS 7.1.2 by the down grade! pic.twitter.com/wlUFEaVbpF
— いち☠₣ƦEEÐØM (@ichitaso) 2015, 6月 16
v0.4にて「FirmwareBundles」が追加されました。
※OSX 10.11 El Capitanでは動作しないようです
iPhone 4Sにて「7.1.2 -> 6.1.3」もしくは「8.1.1 -> 6.1.3」へダウングレードするとベースバンドのミスマッチが起きるため開発中とのこと。
iPhone5,4(iPhone 5c)が追加されましたが、日本のものだとiPhone5,3なので注意