diosra2’s blog

iOSのJailbreak、ダウングレード

【要脱獄】iOS 10以降でICCIDアンロック由来のSIMロック解除を維持する方法

以前、以下の記事でICCIDアンロックデバイスについてactivation_recordを保存することでSIMロック解除を維持する方法を紹介しました。

 

が、iOS 10以降ではこの方法ではアンロックを戻せないようでした。(申し訳ない)

しかし、アクティベーション自体は有効だったので理論上は可能なはず...。いろいろ試行錯誤して維持させる方法を探ってみました。

結論から言うと、できました!!

iPhone 5 & iPhone 5sのiOS 10、iPhone 5sのiOS 12.4で検証しましたが、どちらも正常にアンロックが成功しました。iOS 7からiOS 10以降の形式へアップデートした際のアクティベーションの移行機構を利用してるのでしばらくはこの手法で大丈夫だと思います。ただし、iPhone 6s以降のデバイスはiOS 7を持っていないので、iOS 13以降ではこの機構が消える可能性があります。

 

 *サイドバーにも表示してある通り、これらは全て自己責任です。

 

前提条件

(1) ICCIDアンロック時に取得した、"アンロック済み"activation_record.plistを所持している

activation_recordからsimロックを確認 - diosra2’s blog

(2) root権限

 

*脱獄は自己責任です。 

 

0, 作業前に

まずSIMカードを抜いてください。そしてiTunesが起動しないように落としてください。

 

1, Filza File Manager をインストール (要脱獄)

sandbox外への書き込みが必要です。自己責任でお願いします。

Filza File Managerを使用することで簡単に操作可能です。

ちなみに現在iOS 12.4にすることで脱獄できます。

 

脱獄したくない人はFilza escapedを使ってください。(root権限を取得するのでこれも自己責任でお願いします。)

 

2,  現在のアクティベーション(SIMロック中)の削除

Filzaで"/private/var/containers/Data/System/"へ移動し、以下のディレクトリを削除してください。

このディレクトリにはランダムな乱英数列のディレクトリが幾つか存在していますが、filzaを使用すればどこに何のデータが格納されているかがわかります。

ここから、"com.apple.mobileactivationd"を見つけ、ディレクトリごと削除してください。

 

続いて、"/private/var/root/Library/Lockdown"へ移動し、内のデータを全削除してください。(弊害として、おそらくiTunesとの接続履歴などが消えてしまいます。)

 

最後に、(念のため、)"/private/var/mobile/Library/mad"をディレクトリごと削除してください。

 

3, アクティベーション(アンロック)を書きもどす

保存しておいたactivation_record.plistを用意してください。

まず、"/private/var/root/Library/Lockdown"内に"activation_records"ディレクトリを作成します。

その次に、"activation_records"ディレクトリ内に保存しておいた(アンロック済みの) activation_record.plistを入れてください。

最後にrebootします。(まだアンロックは完了していません。SIMカードは挿さないように。)

 

4, アンロック成功

再起動したらSIMカードを挿してみてください。

アンロックが成功していれば、SIMロックされていたキャリア以外のSIMカードが利用可能になります。(もちろん下駄は不要です。)

もし再起動後、ロックキャリアのSIMカードを挿した際にactivation要求された場合は使用したチケットが無効です。(この場合はアンロック不可)

 

A7デバイス使用者は以下の方法でSHSHを取得することで永久脱獄。

アップロードするのを忘れてたらiOS 12.4.1が出てきてしまいました...。

A7デバイスを保有するユーザーは以下のスクリプトを使用してiOS 12.4のshshを取得することで、iOS 12.4の署名終了後も永続的にiOS 12.4に復元可能 (=脱獄可能)になります。

 

 

必要な環境

macOS 10.13 以降

 

使い方

shshの取得

A7デバイスを1台のみDFU modeでUSB接続し、"./get.sh"を実行

SHSHを50個以上取得するので2~3分かかります。

 

(例) iPhone 5s (GSM)の場合

./get.sh iPhone6,1 n51ap

他のデバイスはこちらを参照してください。デバイス名表示一覧 - diosra2’s blog

 

復元の方法

A7デバイスを1台のみDFU modeでUSB接続し、"./recovery.sh"を実行

 

(例) iPhone 5s (GSM)の場合

./recovery.sh iPhone6,1 n51ap

 

デバイスの画面が紫になったら成功です。ならなかったら2~5回程度やり直してみてください。

"Ticket that your device uses for futurerestore."のメッセージの下に表示されたshsh2がfuturerestoreで使用できるshshです。

ここまできたら、上記shsh2とiOS 12.4.1のBBとSEPを使用して、通常通りiOS 12.4にfuturerestoreできます。

 

./futurerestore  -t {Ticket}  --latest-baseband  --latest-sep  [iOS 12.4のIPSW]

 

iOS 12.4.1がリリース。通常使用者はすぐにアップデートを。

本日、iOS 12.4.1がリリースされました。修正内容には1つのkernelの脆弱性が含まれています。

 

対象となる脆弱性はCVE-2019-8605ですが、これは一度iOS 12.3で修正されたはずが、iOS 12.4でAppleの失態によって復活を成し遂げたものとなっています。

 

このバグは発見からかなり日数が経っているほか、iOS 12.3で一度修正された際にexploitコードが公開され、その状態でiOS 12.4で再度脆弱になったという経緯を持つものであるため、同レベルのほかの脆弱性に比べて危険性が高いと思われます。すでに誰でも簡単に悪用可能であるため、iOS 12.4ユーザーは早急にアップデートすることをお勧めします。

 

脱獄ユーザーはiOS 12.4.1では脱獄できないと思われるため、脆弱なiOS 12.4にとどまることをお勧めします。(ただしA12の場合、iOS 12.2以下は現状維持、iOS 12.3 or 12.4.1の場合はiOS 12.4に復元。)

 

AppleがiOS 12.3で修正したバグを12.4で復活させたお陰で脱獄が可能に。

本日unc0ver v3.5.0がリリースされ、A7-A11チップでiOS 12.4を搭載するデバイスで脱獄を行うことが可能になりました。

iOS 12.4は最新バージョンで、今回使用されているexploitは12.3で既に修正されているはずでしたが、Appleが12.4でこのバグを再び復活させてくれたお陰で脱獄できるようになったみたいです。(appleさんありがとう!)

そのため、12.3では脱獄できないが、12.4では脱獄出来るという奇妙な状況が起こることに…。

 

iOS 12.4は最新バージョン!ということで、各デバイスごとにどのようにバージョンを保つべきかを列挙しておきます

 

・A7-A11

iOS 12.0-12.2: (そのままでも良いが)12.4にアップデート

iOS 12.3: iOS 12.4にアップデート

iOS 13 beta: iOS 12.4にダウングレード

 

iOS 12.4は腐っても最新バージョンであるため、余裕のある人は12.1.2で脱獄していたとしても12.4にアップデートするべきかなと思います。(出来るだけ最新版の方が良いので…)

 

・A12

iOS 12.0-12.1.2: 12.4のshsh2を取って、バージョンは12.0-12.1.2を保つ(脱獄可能なので)

iOS 12.1.3-12.1.4: 12.4のshsh2を取って、バージョンは12.1.3-12.1.4を保つ

iOS 12.2: ステイ

iOS 12.3, iOS 13 beta: iOS 12.4にアップデート

A12にはPACなどがあるのでなんとも言えませんが、12.3なら12.4待機でいいかなーと思います。12.3以外の12.2以降は現状を保つのが良いようです。

 


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