本日、iOSハッカーであるtihmstar氏は、署名されていないiOSへのアップグレードまたはダウングレードができるツール「Prometheus」をリリースし、Youtubeにその使い方と解説が投稿されている。
このツールを使用することで、現在であれば、iOS9.3.3からiOS10.1.1や、iOS10.2からiOS10.1.1へのダウングレードやアップグレードを行うことが出来る。しかし、いくつか条件と注意点があるので確認しておこう。
具体的なダウングレード方法、またはアップグレード方法は後ほど追記する。
もくじ
Prometheus(プロメテウス)
Prometheusは、単一のGUIのツールではなく、以下の3つのツールをまとめたものである。
- nonceenabler
- futurerestore
- img4tool
また現在は、Macでのみ利用可能となっており、WindowsとLinuxのバージョンは後で公開されるようだ。
2通りのダウングレード/アップグレード方法が存在
Prometheusを使ってダウングレードまたはアップグレードするには、2通りの方法が存在し、デバイスと環境によって、使用するものが変わってくる。
「nonceenabler方式」
1つ目は、現在脱獄している必要があるが高速な「nonceenabler方式」。これにはジェネレーターで保存されたshsh2 blobsが必要となる。
「nonce collision方式」
そして2つ目は脱獄している必要はないが時間がかかる「nonce collision方式」がある。これにはジェネレーターは不要だが特別なnonceで保存されたshsh2 blobsが必要とのこと。脱獄していない場合や現在署名されていないiOS10.2デバイスの場合は必然的にこちらの方式を使用する必要がある。
どちらもSHSH2 blobsが保存されている場合にダウングレードまたはアップグレードできる。これらの2つの方式によって、使用するツールが異なり、それぞれの使用法を説明した動画も公開されている。
使用前の注意点
移動できるiOSバージョンは現在のところ以下のようになっている。
現在のiOS | 移動先のiOS | 可否 | |
iOS9.x | → | iOS9.x | ◯ |
iOS10.x | → | iOS10.x | ◯ |
iOS9.x | → | iOS10.x | ◯ |
iOS10.x | → | iOS9.x | × |
- iPhone7(Plus)を除いた64bitデバイスで動作
- 2通り方法があるが、移動したいファームウェアのSHSH2 blobsが保存されている場合のみ可能
- 2通り方法が存在し、環境に合わせて使用する
- 脱獄が必要だが高速な「nonceenabler方式(futurerestore)」。
- 脱獄は不要だが時間がかかる「nonce collision方式」
- iOS9.0.2はtfp0 patchが必要かも?(cl0ver)
SEPとベースバンド
基本的に、SEPとベースバンドは、現在署名されているファームウェアから取得する必要がある。しかし、SEPとベースバンドは多くのiOSバージョンで互換性がないが、近いバージョンであれば互換性があり使用することができる。
現在iOS 10.2が署名されているため、SEPとベースバンドを使用可能となる。ただし、iOS10.1.1とは近いが、iOS9.xとは離れすぎているため移動することはできない。
iOS10.2からiOS10.1.1へダウングレード
iOS10.2からiOS10.1.1へダウングレードする場合は、署名中であるiOS10.2のSEPとベースバンドを使用する必要がある。iOS10.2が署名されている間はもちろんSEPもベースバンドも使用可能となる。
iOS10.2とiOS10.1.1のSEPとベースバンドはバージョンが互いに近いため互換性があり、ダウングレードが可能になる。使用する方式は、現在iOS10.2の脱獄がないため必然的にnonce collision方式で試す必要がある。もちろんSHSH2 blobsが必要。
iOS9.3.3からiOS10.1.1へアップグレード
iOS9.3.3からiOS10.1.1へアップグレードしたい場合も、iOS10.2のSEPとベースバンドを使用する必要がある。iOS10.2が署名されている間はもちろんSEPもベースバンドも使用可能となる。
iOS9.3.3とiOS10.1.1ではバージョンが離れているが、移動先のバージョンがiOS10.1.1であり、これは署名中である10.2と10.1.1のSEPとベースバンドは互いが近いことから、互換性があるということになる。
脱獄しているユーザーはnonceenabler方式で試す。そうでない場合はnonce collision方式。もちろんどちらもSHSH2 blobsが必要。
iOS10.2からiOS9.3.3へダウングレード
この組み合わせは不可能となる。例えiOS10.2のSEPとベースバンドが署名中であったとしても、10.2と9.3.3ではバージョンが離れすぎているため、SEPとベースバンドの互換性がないためできない。
nonceenabler方式
対象となるデバイスまたは環境
- mac
- 要脱獄
- SHSH2 blobsを保存している
脱獄しているデバイス向けのダウングレードまたはアップグレード方法。こちらの利点はnonceと.shsh2ジェネレータが一致するので1回の試行で良い。脱獄しているデバイスは以下のnonce collision方式も使用できるが、nonceenabler方式の方が早いのでこちらが推奨される。
nonce collision方式(futurerestore)
対象となるデバイスまたは環境
- mac
- 脱獄は不要
- SHSH2 blobsを保存している
脱獄していないデバイス向けの方法。Prometheus内のfuturerestoreというツールを使用し、署名のないファームウェアをデバイスに復元することが出来る。nonceenabler方式とは違い、nonceが一致するまで試行し続けるため時間がかかる。
参考・情報
- https://www.youtube.com/watch?v=BIMx2Y13Ukc
- https://www.youtube.com/watch?v=UXxpUH71-s4
- https://www.reddit.com/r/jailbreak/comments/5kttrg/tutorial_simple_step_by_step_guide_to_use_the/
- https://www.reddit.com/r/jailbreak/comments/5ksfgb/newstihmstar_releases_prometheus_downgrade_tool/
- http://www.idownloadblog.com/2016/12/28/prometheus-downgrade-tool-release/
- http://www.redmondpie.com/download-prometheus-to-downgrade-upgrade-ios-with-shsh2-blobs-heres-how/
- https://twitter.com/tihmstar
- 週間Tweaks:ステータスバーの時刻をダブルタップで日付に切り替え「DateTap」など - 2018/02/12
- 週間Tweaks:iPhoneXでスワイプアップでロック「SwipeUpLockX」やドックをカスタマイズ「Marina」など - 2018/02/05
- 週間Tweaks:iPhoneXのアプリスイッチャーでスワイプでアプリ終了「EasySwitcherX」など - 2018/01/29