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

2017/02/17 19:35

iPhone、iPad、iPod touchの署名されていないiOSバージョンにダウングレード・アップグレードできる「futurerestore(Prometheus)」ですが、MacとLinuxしか使えません。

そこで、Windowsユーザーでも利用できるように、VMwareを利用してUbuntu経由で復元できたので、その方法を紹介いたします。

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バージョンは「iOS 10.2.1」のため「iOS 10.2.1のIPSW」が必要になります。

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ファイルはヒラクちゃんのアプリで確認して取り出して下さい。

CPU Identifier価格: 無料 (記事公開時) サイズ: 1.1 MB

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

このコマンドで抜けれます。

まとめ

以上でWindows(Linux)でもfuturerestoreが使えるようになりました。

iOS 10.2のshsh2を保存している必要がありますが、MacがなくてもiOS 10.2以下の脱獄したデバイスで、iOS 10.2へ復元することができます。