diosra2’s blog

iOSのJailbreak、ダウングレード

cherryflowerJB - SHSHなしでiPhone 4をiOS 6.1.3にして脱獄できるツール



みなさんはまだiPhone 4は使用していますか?

iPhone 4は、既にiOSのアップデートを打ち切られてしまいましたが、意外なことに最新バージョンで完全脱獄(untethered jailbreak)が可能な最後のiPhoneでもあります。今ではcheckm8によるcheckra1nの紐付き脱獄がとても重宝されていますが、6年前までは『limera1n exploit』と呼ばれる強力なBootrom exploitを使用することで紐付き脱獄を常に行えるデバイスとして、iPhone 4はかなり有用でした。

 

今回紹介するのは、iPhone 4をiOS 6.1.3に無条件に完全ダウングレード or 完全脱獄を実現することのできるツールです。前提条件は一切ありません。

古くから脱獄を行なっていた方はSHSHを保存していそうですが、それでも今回のツールは一定のメリットがあります。

今までのツールよりもかなり簡単に操作できるようになっているかと思います。

 

 

cherryflowerJB

バージョン: 1.4.2 beta 1-1

対応動作環境

macOS 10.13以降

対応デバイス

iPhone 4 [iPhone3,1]

JB対応のiOSバージョン

6.1.3 [10B329]

Downgradeのみ対応のiOSバージョン

4.3, 4.3.3, 4.3.5, 5.x, 6.x

 

ダウンロードリンクcherryflowerJB

 

現段階ではmacOSのみです。いずれはiOS 4や5のJailbreak対応のほか、iPhone 5 (ios 7のSHSHをもつ)などでも使用可能にする予定です。

 

動画

 

使い方

ダウンロードリンクからツールをダウンロードして、zipを解凍してください。

あらかじめ、iOS 6.1.3と7.1.2のfirmwareをダウンロードしておきましょう

iPhone3,1_6.1.3_10B329_Restore.ipsw: 約980 MB

iPhone3,1_7.1.2_11D257_Restore.ipsw: 約1.2 GB

この2つのファイルも解凍されたフォルダ内に格納します。

 

解凍後、terminalを開いてください。以下の画像のように'cd'と入力したあと、解凍されたフォルダをterminal画面にドラッグ/ドロップしてください。

Enterを押して"cherryfloverJB"に移動できたら、以下のコマンドを実行します。

./cherryJB <in> <out> -memory -derebusantiquis <7.1.2 ipsw>

*脱獄しない場合は、"cherryJB"の代わりに"cherry"を使用してください。

 

今回の場合はiOS 6.1.3にしたいのでこうなります。

./cherryJB iPhone3,1_6.1.3_10B329_Restore.ipsw iPhone3,1_6.1.3_10B329_Custom.ipsw -memory -derebusantiquis iPhone3,1_7.1.2_11D257_Restore.ipsw

うまく行くと、iPhone3,1_6.1.3_10B329_Custom.ipswというCFWが出来上がります。

 

*iOS 4にする際の注意点

iOS 4にする場合のみ、APTicketをCFWに組み込む必要があります。そのため、いくつか異なる点があるので注意してください。

iPhone 4をDFU modeでmacに接続し、以下の手順でiOS 7.1.2のSHSHを取得してファイルをxml形式へ変換します。このCFWはデバイス固有のものになります。別のiPhone 4をダウングレードさせる場合は再度そのデバイス向けにCFWを作成してください。

./idevicerestore -t iPhone3,1_7.1.2_11D257_Restore.ipsw

zcat < shsh/[ECID]-iPhone3,1-7.1.2.shsh > shsh/[ECID]-iPhone3,1-7.1.2.plist

plutil -convert xml1 shsh/[ECID]-iPhone3,1-7.1.2.plist

./cherry iPhone3,1_4.3.3_8J2_Restore.ipsw [ECID]_iPhone3,1_4.3.3_8J2_Custom.ipsw -memory -derebusantiquis iPhone3,1_7.1.2_11D257_Restore.ipsw -a shsh/[ECID]-iPhone3,1-7.1.2.plist

 

CFWが作成できたらiPhone 4を復元します。全データが消去されるので注意してください。

iPhone 4をDFU Modeで接続し、以下のコマンドでpnwedDFU modeにします。

./pwnedDFU -p

次に、iOS 7.1.2のSHSHを取得します。

./idevicerestore -t iPhone3,1_7.1.2_11D257_Restore.ipsw

取得したSHSHは'shsh/[ECID]-[device]-7.1.2.shsh'という名前で保存されています。このshshのバージョン名を7.1.2から6.1.3にリネームして、'shsh/[ECID]-[device]-6.1.3.shsh'の形になるようにします。

最後に、復元を実行して終了です。

../idevicerestore -e -w iPhone3,1_6.1.3_10B329_Custom.ipsw

 

解除

このexploitを適用したあとに解除を行いたい場合、普通に復元する前に行う作業があります。

terminalで'remove_for_i4'に移動し、iPhone 4をDFU Modeで接続した状態で

./disable

を実行します。再起動してデバイスがrecovery modeになれば成功です。そのままiTunesで復元しましょう。

 

仕組み

お馴染み(?)の方もいるかと思いますが、iOS 7で動作するiBoot exploitを使用します。

デバイスを起動するとまずはいつも通りのフラットデザインなApple Logoが出現します。数秒経つとexploitが発動したあと立体感のある古いApple Logoに表示が切り替わります。この時点でiOS 6の起動が始まり、脱獄された状態でiOSが起動します。

ちなみにですが、脱獄の状態はiPhone 3GSで使用されていたようなBootloaderベースの脱獄となっています。p0sixspwnは使用していません。

 

verbose boot

redsn0wやcheckra1nのオプションにもありますが、本ツールでも起動時にブートログを表示させることが可能です。バンドル内のInfo.plist

(場所: 'FirmwareBundles/CHERRYJB_[device]_[version]_[build].bundle/Info.plist')

のboot-argsに"-v"を追加することでverbose bootで起動するようになります。

cs_enforcement_disable=1 amfi_get_out_of_my_way=1

cs_enforcement_disable=1 amfi_get_out_of_my_way=1 -v


Copyright (C) 2017-2018 Diosra2. All Rights Reserved.