Windows上のUbuntu 16.04を使ってfuturerestoreを使用する方法

iPhone、iPad、iPod touchの署名されていないiOSバージョンにダウングレード・アップグレードできる「futurerestore(Prometheus)」ですが、MacとLinuxしか使えません。
そこで、Windowsユーザーでも利用できるように、VMwareを利用してUbuntu経由で復元できたので、その方法を紹介いたします。
Contents
yalu102で脱獄したiPhone 6 iOS 10.2を10.2で復元した環境
事前に「futurerestore – Prometheusを使ったiOSのダウングレード・アップデートについて」を把握しておく必要があるので目を通しておいて下さい。- Ubuntu 16.04VMware-workstation-10.0.2-1744117.exe.tar
こちらに付属するVMware Player 6.0.2で行いました。
通常のPlayerだとiPhoneが接続できなく、Workstationに付属するものだとiPhoneを接続できます。
最新版だとできるかもしれませんが、試していません。
インストール方法などはこちらを参考にして下さい。 - iPhone 6 (iPhone7,2) iOS 10.2
- ECID_iPhone7,2_10.2-14C92.shsh2(noapnonce)
- iOS 10.2と10.2.1のIPSW
iOS 10 or later IPSW Download Links - futurerestore-latest.zip
- DropbearSSH(repo: cydia.ichitaso.com)
iOS 10.2と10.2.1ではベースバンドのバージョンが同じで、SEPファイルも互換性があるため復元しても問題はありません。
ただし、今後iOS 10.3以降となってくると問題が発生してくる可能性があります。
(iOS 10.3 beta1ではSEPの互換性はありますが、ベースバンドが上がります)
※SEPファイルに互換性が無かった場合、Touch IDが使えなくなります。
(例.iOS 10.2と10.1.1では互換性がありませんでした)
参考:【iPhone】nonceEnablerを使ってiOS 9.3.3から10.1.1へアップグレードする方法
※iPhone 7及びiPhone 7 Plusはtsscheckerとyalu102が対応していないため利用できません。
Ubuntu 16.04でfuturerestoreを利用できるようにする
こちらを参考にしました。Ubuntuでターミナルを開き以下のコマンドを実行してください。
sudo apt-get update && sudo apt-get upgrade && sudo apt-get install git
git clone https://github.com/elrhk/Library-iPhone && cd Library-iPhone && chmod +x autobuild.sh && ./autobuild.sh
sudo updatedb && sudo ldconfig
locate libzip.so.4
libzip.so.4の場所が表示されるのでそれに合わせてシンボリックリンクを作成します。
libzip.so.4の場所が違う場合、適宜変更してください。
sudo ln -sf /usr/lib/x86_64-linux-gnu/libzip.so.4 /usr/lib/libzip.so.2
これで一度ターミナルを閉じます。
再度ターミナルを開き以下のコマンドを実行してください。
sudo apt-get purge libimobiledevice* && sudo apt-get install libimobiledevice*
不要なLibrary-iPhoneを消す
rm -fr Library-iPhone
futurerestoreのダウンロード
cd Desktop/
wget http://api.tihmstar.net/builds/futurerestore/futurerestore-latest.zip
展開して「futurerestore_linux」以外を削除
cd futurerestore-latest/
chmod +x futurerestore_linux
./futurerestore_linux

無事、futurerestoreが機能したら成功です。
ここで一度、Ubuntuをシャットダウンしてください。
再度起動してログインしようとすると、自動ログインにしていてもデスクトップが立ち上がらなくなると思います。
パスワードを入力しても「セッションを開始できませんでした。」と表示されます。
「Ctrl + Alt + F1」を押してCUIでログイン
sudo apt-get install ubuntu-desktop
E: /var/lib/dpkg/lock
このように表示されたら
sudo rm /var/lib/dpkg/lock
再度
sudo apt-get install ubuntu-desktop
これで再起動したらログインできました。
参考
・【Ubuntu 11.10】アップデートしようとすると、”ロック /var/lib/apt/list/lockが取得できません。”とかのエラーで実行できない時の対処:なんでもかんでもコンピュータ:So-netブログ
・update したらログインできなくなるという謎仕様 – 驚異のアニヲタ社会復帰への道
yalu102を使った脱獄でiPhone 6をiOS 10.2から10.2へ復元する
1.DropbearSSHでiPhoneにssh接続するDropbearSSHは、USBだけの接続をWi-Fi経由で接続できるようにするものです。また、stp/sftpを利用できるようにします。
ssh root@DeviceIP
※デフォルトのパスワード「alpine」
2.nvramでshsh2のgeneratorの値を入力
ECID_iPhone7,2_10.2-14C92.shsh2をECID_iPhone7,2_10.2-14C92.shsh2.plistにリネーム
最下部にある「generatorの値」コピー
nvram com.apple.System.boot-nonce=generatorの値
nvram -p
「com.apple.System.boot-nonce=generatorの値」が表示されたらOKです。
3.futurerestoreで復元
iOS 10.2.1のIPSWを展開して、BuildManifest.plist、MavXMavY-Release.bbfw(ベースバンドファイル)、sep-firmware-RELEASE.im4p(SEPファイル)を取り出し、futurerestore-latestフォルダに入れます。
※ベースバンド、SEPファイルを間違えないでください
iOS 10から複数のデバイスを一つのIPSWにしたため、複数のものが入っています。
ベースバンドは「https://theiphonewiki.com/」を参考にしてベースバンドバージョンが合っているものを選択
SEPファイルはヒラクちゃんのアプリで確認して取り出して下さい。

futurerestore-latestフォルダに、iOS 10.2のIPSW、shsh2、BuildManifest.plist、Mavxx.bbfw、sep-xx.im4p、futurerestore_linuxが入っていることを確認したら以下のコマンドで復元します。
iPhone 6の場合
sudo ./futurerestore_linux -t ECID_iPhone7,2_10.2-14C92.shsh2.plist -b Mav10-5.32.00.Release.bbfw -p BuildManifest.plist -s sep-firmware.n61.RELEASE.im4p -m BuildManifest.plist -w iPhone_4.7_10.2_14C92_Restore.ipsw
sudoで実行しないとリカバリーモードを検知できません。
リカバリーループを抜けるのは
sudo irecovery -n
このコマンドで抜けれます。
Ubuntuでfuturerestore成功した! pic.twitter.com/yybqwDX49a
— いち☠₣ƦEEÐØM (@ichitaso) 2017年2月16日
まとめ
以上でWindows(Linux)でもfuturerestoreが使えるようになりました。iOS 10.2のshsh2を保存している必要がありますが、MacがなくてもiOS 10.2以下の脱獄したデバイスで、iOS 10.2へ復元することができます。
ディスカッション
コメント一覧
結局入獄しました。今度からは、もっと深く調べてからやってみようと思います。
(https://tsssaver.1conan.com で保存した iOS 10.2 の SHSH と、iOS 10.2 の IPSW はダウンロードしてあります)
iOS 10.2.1 以降の脱獄方法が出るのを待つことにします
iPhone 5sでiOS 10.2.1から10.2へダウングレードする方法
https://ichitaso.com/iphone/ios-10-2-1-to-10-2-iphone-5s/
iOS 10.2 に復元することが出来ました!
ただWi-Fi だけの iPad Air では futurerestore の実行時に –no-baseband をつけないと futurerestore_linux: plist.c:323: plist_copy_node: Assertion `data’ failed.
というエラーが出るみたいです
実行したコード?は以下の通りです
sudo ./futurerestore_linux -t 1.shsh -t 2.shsh -b Mav7Mav8-7.21.00.Release.bbfw -p BuildManifest.plist -s sep-firmware.j71.RELEASE.im4p -m BuildManifest.plist -w iPad_64bit_10.2_14C92_Restore.ipsw –no-baseband
ベースバンドを指定する必要が無いので、このようにやってみてください。