SHSHなしでiPhone4sをiOS6にダウングレードするためのやり方・コマンド操作解説

このページの内容は「SHSHなしでiPhone4sをiOS6にダウングレードするための注意点や事前準備」を読んだ後に行ってください。

2016年2月29日追記:この手法によってiPhoneの復元を行ったついでに、わかりやすくなるように新たに画像を何枚か追加しました。
参考ページ:iOS6へのダウングレードの手法を使ってiPhoneの復元をしてみた

まずはMac側でターミナルを使用する

まず、デスクトップに「iPhone4,1_6.1.3_10B329_Restore.ipsw」ファイルと、「odysseusOTA」フォルダを設置しておく。
odysseusOTAは解凍してフォルダの状態にしておいてください。
今回は私が実際にダウングレードに使用したバージョン1.0.2を使用しています。
デスクトップに配置

そして、ターミナル起動時はこんな状態である。
ターミナル起動時の状態
以下の部分はそのMacの名前とユーザー名が表示されているので、記述が違っても気にせず進めてください。
Macの名前とユーザー名

次に以下のコマンド打ち込んでEnterキーを押す。(コピー・ペーストでもできる)
これより以下のコマンド操作の最後にはEnterキーを押して決定してください。
このcdコマンドは、作業場所をそのフォルダに移動することを意味している。マウス操作でそのフォルダを開いたとイメージすると良い。

cd ~/Desktop/odysseusOTA

開発者の解説動画だとこの後、lsというコマンドを打ち込むが、これは現在のフォルダの中身を表示するコマンドなので省略しても良い。(以降、lsコマンドは省略します)

ls

次に以下のコマンドでmacosフォルダに移動する。

cd macos

次に以下のコマンドを打ち込む。
解説動画ではcustm_downgrade.ipswという名前で記述していますが、ここではわかりやすくcustom_downgrade.ipswとしています。

./ipsw ~/Desktop/iPhone4,1_6.1.3_10B329_Restore.ipsw custom_downgrade.ipsw -bbupdate

無事に成功するとHashing IPSW...と表示された後、すごい勢いでコードが自動的に出現し続けて処理が続く。
この処理はあなたのPCに保存されているデータをすべて私のPCに送っている。。。。ということは決してなく、ダウングレード用のカスタムファームウェアを生成しています。
コマンド成功

処理が完了すると以下のような状態で表示が止まり、入力待ちの状態になります。
カスタムファームウェアの作成完了

iPhone4sをUSB接続してOTA用のSHSHを取得する

次に、iPhone4sをUSBケーブルでMacに接続し、以下のコマンドを打ち込む。
私が最初に使用したodysseusOTAのバージョン1.0.1ではここでエラーになったが、1.0.2ではエラーなく進むことができた。

./idevicerestore -t custom_downgrade.ipsw

成功するとOTA用のSHSHの取得が完了し、以下の表示になる。
OTA用のSHSHの取得完了

次に以下のコマンドを打ち込む。

./xpwntool `unzip -j custom_downgrade.ipsw 'Firmware/dfu/iBSS*' | awk '/inflating/{print $2}'` pwnediBSS

上のコマンドを入力し、Enterキーを押しても特に処理が始まった気配はない。
続いてlsコマンドを打ち込み、フォルダ内容が以下のような表示になっていれば問題ないようだ。
パッチを当てた後

iPhone4sに脱獄アプリOpenSSHをインストールする

次にiPhone4sに脱獄アプリ・OpenSSHをインストールします。
(私のiPhone4sはすでにiOS6.1.3へダウングレードしてしまっているため、下の画面はiOS7.1.2・iPhone5での表示です)
OpenSSH

iPhoneの設定からWi-Fiを選択し、現在接続している電波の右のほうにあるiマークの部分を押して詳細情報を表示させます。
Wi-Fiの詳細情報

そこで表示されているIPアドレスがこのiPhone4sのIPアドレスになります。
iPhoneのIPアドレス

Mac側からiPhone4sを操作する

次にMacのターミナルで以下のscpコマンドを打ち込み、リモート・マシン間でファイルをコピーします。
(これより後の画像は後日追加したものがあるため、IPアドレスが192.168.11.4のものが混じっています)

scp pwnediBSS ../kloader root@192.168.11.5:

その後、yesまたはnoの選択肢が問われたら、yesを打ちます。

yes

そしてパスワードを問われたら、初期パスワードであるalpineと打ち込みます。
このパスワードの入力の時はWindowsのように●●●●とか、****とか表示されません。画面に何も反応がなくても正しくalpineと打ち込んでEnterキーを押しましょう。

alpine

以下のような100%の表示が2つ出ていれば、コピーは完了しています。
ファイルのコピー完了

次に、SSH経由でiPhoneにログインしてMac側から操作をします。

ssh root@192.168.11.5

再びパスワードを問われたらalpineと入力してiPhoneにログインし、その後に以下のコマンドを入力します。

./kloader pwnediBSS

正しくiPhoneにログインができているとroot#という表示が出ますので、その後に上記コマンドを入力してください。
iphoneにログイン後

成功するとMagic happening now. (attempted!)とターミナルに表示され、iPhoneの画面が真っ暗になります。(DFUモードに移行)
Magic happening now.(attempted!)

再びMac側の操作に戻し、ダウングレード作業を実行する

以上の状態が確認できたら、今開いているターミナルを一度閉じて、新たなウインドウタブを開きます。(ここ注意:記事下の追記も参照)
その時、macosフォルダに現在いることを確認し、
現在のディレクトリを確認

そしてこれが最後のコマンドです。
これによりiOS6.1.3への復元を行います。

./idevicerestore -w ./custom_downgrade.ipsw

上のコマンドを入力すると、ターミナルには以下のようにパーセンテージがいくつか表示されていき、
ダウングレード中

iPhone4sがこんな画面になったらもう勝ったも同然。
バーが右端まで無事に到達するよう祈りましょう。
iOS6.1.3にダウングレート中

ダウングレード作業が完了するとターミナルにはCleaning up… DONEと表示されているはずです。
ダウングレード完了

おめでとうございます!
iPhone4sの性能でiOS6は動作が軽くて快適です。
iOS6にダウングレード完了後

お問い合わせ内容に関する追記

2015年9月24日追記:お問い合わせがあったので追記しておきます。

このターミナルのウインドウの閉じる順番は逆の可能性があります。
odysseusOTA開発者による動画解説で確認してみると確かに逆でした。

しかし、閉じる順番がどうであれ、作業は続行できます。
その際にはここでウインドウを一度閉じて開きなおす理由を考えると良いです。

その時点まではターミナルのウインドウはSSH接続でiPhoneを操作できる状態になっていたので、そのターミナルウインドウを閉じることでSSH接続を解除するわけです。

そして新たにターミナルウインドウを開くことで、再びMac側の操作に戻す、という意味合いになります。
ですから、その後に行う最後のコマンドはMac側のファイルを操作しているわけですね。

つまり、ターミナルウインドウを開きなおした時点で現在位置がMac上のどこにいるとしても、再びcdコマンドによってmacosディレクトリにまで移動すればその後のダウングレード作業が可能です。

この時点ではiPhoneはDFUモードになっていると思いますので画面は真っ暗(ホームボタンなどを押しても無反応)だと思いますが、これで正常です。