ブラウザからSHSHの取得・保存が出来る【TSS Saver】は手軽で便利なのですが、仕様上…アクセスが集中するとサーバーが落ちたり、順番待ちが発生してSHSH取得に時間が掛かる事も。
そこでPC上(Mac&Windows)でSHSHの取得・保存が行える『tsschecker』の使用方法についてご紹介!
もちろん、こちらもFuturerestore(Face ID対応版)で使えるSHSHが取得・保存できます。コマンド操作が面倒じゃない…という方は、こちらの方がオススメ。
tsschecker
tsscheckerとは【TSS Saver】などでも使用されている、SHSHを取得・保存したりするためのツールです。
コマンド操作で実行する必要はありますが、自身のPCで使用することが出来るため、TSS Saverの様にサーバー落ちや取得完了まで状況が分からない…なども無く、便利!
準備:デバイス情報を調べよう!
Tsscheckerを使用してSHSHを取得・保存するには、「機種ID」、「デバイスモデル」、「ECID」の3つのデバイス情報が必要となります。まずはこれを調べましょう。
ちなみに、これらの情報は変更されないため、1度調べてメモ帳などに残しておけば次から楽になります。
① 機種IDとデバイスモデルの調べ方
App Storeで無料配布されている【CPU Identifier】をインストールし、起動してください。
ここに書かれている【Device(機種ID)】と【Device Model(デバイスモデル)】部分が目的の情報です。
② ECIDの調べ方
iTunesにデバイスを接続し「概要」を開きます。
ここに「シリアル番号」と書かれている部分があるので、そこを何度かクリックすると…【ECID】と出てきます。これが目的の情報。ちなみに、右クリック > コピーする事も可能。
また、【機種ID】はこちらからも調べることが出来ます。記述ミスなどが怖い場合は、こちらで表示させてから右クリック > コピーでも可。
tsscheckerを使ってSHSHを取得!
tsscheckerのダウンロード
以下リンク先からtsscheckerの最新版をダウンロードすることが可能です。SHSHの取得は、基本的に最新版を使用する様にしてください。
また、ダウンロード後、解凍しておきましょう。
- Windows版:【1Conan/tsschecker】
- Mac版:【s0uthwest/tsschecker】
① tsscheckerフォルダへ移動
Windowsであればコマンドプロンプト、Macであればターミナルを起動し、tsscheckerのフォルダへ移動します。
フォルダの移動方法は【cd 】の後に続けてtsscheckerフォルダのパスを入力し、エンター。
ちなみに、【cd (最後に半角スペース)】まで入力した状態で、そこへtsscheckerのフォルダをドラッグ&ドロップするとパスが自動入力されるので、オススメ!
【例】
cd /Users/santa/Downloads/tsschecker
② SHSHの取得・保存
先程調べた「機種ID」、「デバイスモデル」、「ECID」を取得コマンドに組み込み、更に取得したいSHSHのiOSバージョンを記述して実行します。
以下の例ではiPhone X(機種ID: iPhone10,3、デバイスモデル: D22AP、ECID: 124A28127526B)のiOS 12.1.2 SHSHを取得&保存しているところです。
【Windows版】
tsschecker -d [機種ID] --boardconfig [デバイスモデル] -e [ECID] -i [取得したいSHSHのiOSバージョン] -s
【例:Windowsの場合】
tsschecker -d iPhone10,3 --boardconfig D22AP -e 124A28127526B -i 12.1.2 -s
基本的にMac版もWindows版も使い方は同じですが、Mac版では先頭に「./」を付けてあげる必要があります。
【Mac版】
./tsschecker -d [機種ID] --boardconfig [デバイスモデル] -e [ECID] -i [取得したいSHSHのiOSバージョン] -s
【例:Macの場合】
./tsschecker -d iPhone10,3 --boardconfig D22AP -e 124A28127526B -i 12.1.2 -s
③ tsschckerフォルダにSHSHが保存される
エラーなどが発生せず「Saved shsh blobs!」や「iOS 12.x.x for device iPhonexx,x IS being signed!」などが表示されれば、SHSHの取得が完了です。
取得されたSHSHはtsschckerのフォルダ内に保存され、拡張子は「.shsh2」となっていますので、必ず確認しましょう。
iOS 12.1.1〜12.1.3のSHSHを取得・保存しよう!
執筆時点(2019/01/29 19:30)では、【iOS 12.1.1 / iOS 12.1.2 / iOS 12.1.3】のSHSHが発行中です(*iOS 12.1.2はiPhone専用のため、iPadには存在しません)。
ということで、どうせやるなら…発行中の全バージョンのSHSHを取得・保存しておきましょう!
ちなみに、方法は簡単で、前項でご紹介したコマンドの「取得したいSHSHのiOSバージョン」を書き換えて実行してあげるだけです。
【例:Win版でiOS 12.1.1 SHSHを取得する場合】
tsschecker -d [機種ID] --boardconfig [デバイスモデル] -e [ECID] -i 12.1.1 -s
「12.1.1」、「12.1.2」、「12.1.3」と書き換えて、3回実行してあげれば完了です。ちなみに、iOS 12.1.2はビルド違いで2種類存在するのですが、「12.1.2」と指定するだけで両方のビルドナンバーのSHSHが取得されます。
〆
面倒そうに見えるかもしれませんが、デバイス情報さえ1回調べてしまえば、後はiOSバージョン部分を変更するだけで今後も使えるので、見た目よりも…簡単かなと!
もちろんTSS Saverの方がちょっとだけ簡単なのですが、サーバー落ちであったり、実際に取得されるまでの時間差などで不安になることもあるので、自身のPC上で実行し、実行状況などが把握出来るtsscheckerはオススメです。
ちなみに…なのですが、複数デバイスを持っている方はメモ帳などにデバイス情報と共に、デバイス情報を記述してiOSバージョン部分だけ空白にしたコマンドを書いておくと便利です。
iOSのアップデート時など、バージョン部分だけ書き換えてサクッとコマンドのコピペで実行出来るので…!私がこれだったりします。
コメント
セキュリティ”環境設定でインストールが許可されているのは、App Storeと確認済みの開発元からのアプリケーションのみです。
でtsscheckerを事が出来ません
Finder上で右クリックで開くを選択すれば開けますよ
ありがとう
Finder上で右クリックで開くを選択すれば開けますよ
tsscheckerのパスをを入力し実行するとNot a directoryと表示されるのですがなにがいけないんでしょうか。。。
tsscheckerのフォルダへ移動する手順で…でしょうか?
間違えてtsscheckerの実行ファイルまでをパスに含めてしまっていませんでしょうか?必要なのはtsscheckerが入っているフォルダまでのパスになります。
ありがとうございます!
できました!
~ /tsschecker内に落ちてこないです…
なぜか c:ユーザー¥ユーザー名¥tsscheckerではなく、ユーザー名のディレクトリに落ちてきます
自身で適当なフォルダを作り、そちらの中にtsscheckerを入れていただいても大丈夫です。
Windows版として紹介されている1Conan/tsscheckerですが、README.mdに”Windows support has stopped.”とあります… 🙁
そちらはオリジナル作者さんが記述したもので、1Conan氏が書いている物ではありません。
派生した物なのでそういうことがよくあるのです…。あまり気にしないでも大丈夫です。
同じデバイス、バージョンのSHSHを取得するたびにファイルのハッシュが変わっているのがよくわかりません
内部で毎回変わる部分があるのでしょうか?
Generator値など一部ランダムに生成される値を持っています。そのため、ハッシュが変化するのは正常です。
SHSHの内部を理解していませんでした
理解の手助けになりました、ありがとうございます
boardを指定する理由は何ですか。
iPhone 6s/6s Plusに、メーカーの異なる2種類のcpuが有るからじゃないかな
ありがとうございます。
内部に機種IDとのリストを持っていない場合があるためです。
また、6sやSEなどについては2種類あるため、必須となります。
[Error] [TSSC] ERROR: device “iPhone10,3” is not in bbgcid list, which means it’
s BasebandGoldCertID isn’t documented yet.
[WARNING] [TSSR] there was an error getting BasebandGoldCertID, continuing witho
ut requesting Baseband ticket
[TSSR] Request URL set to https://gs.apple.com/TSS/controller?action=2
[TSSR] Sending TSS request attempt 1… success
also requesting APTicket for installType=Update
[Error] [TSSC] ERROR: device “iPhone10,3” is not in bbgcid list, which means it’
s BasebandGoldCertID isn’t documented yet.
[WARNING] [TSSR] there was an error getting BasebandGoldCertID, continuing witho
ut requesting Baseband ticket
[TSSR] Request URL set to https://gs.apple.com/TSS/controller?action=2
[TSSR] Sending TSS request attempt 1… success
[TSSR] User specified not to request a Baseband ticket.
[TSSR] Request URL set to https://gs.apple.com/TSS/controller?action=2
[TSSR] Sending TSS request attempt 1… success
Saved shsh blobs!
iOS 12.1.3 16D39 IS signed!
iOS 12.1.3 for device iPhone10,3 IS being signed!
エラーが途中で出てしますのですがこれは成功しているのでしょうか?
Windows版であればそのエラーが出ても大丈夫なはずです
カレントディレクトリにSHSHが保存されます。オプションでどこにSHSHを保存するか指定出来たら良いですね。
githubにあるreadme読みましょう
見落としてました。ありがとうございます。
–save-path で指定できますよ!
ただし、フォルダは事前に作っておかないと保存されませんでした。
見落としてました。ありがとうございます。–save-pathだと思います。
–save-pathオプションがあります。–helpコマンドでヘルプを表示させたりGithubのREADME.mdを読みましょう
見落としてました。ありがとうございます。
初心者の質問で申し訳ございません。
保存したshshで指定のバージョンの復元はどうやりますか?
Futurerestoreを使用して行います。
https://tools4hack.santalab.me/howto-tutorial-futurerestore-restore-update-downgrade-to-ios1131.html
度々すいません。iPhone8も対応してますか?
iPhone8Plusで12.1.3のshshが保存できません。
[Error] [TSSC] ERROR: could not get url for device iPhone8,1 on iOS 12.1.3
って出てきます。
12.1.1は保存できます。
iPhone 8 Plusの機種IDはiPhone8,1ではなく、iPhone10,xシリーズです。
お間違えがないかを確認してみてください
すみません。8Plusと6sを所有してて両方やってたので貼り間違いました。
8Plusと6sどちらで試しても12.1.1は取得保存できますが、
12.1.2と12.1.3は上記同様のエラーにて取得できません。
コマンドは12.1.1では取得できるので間違いないです。
今現在も同じエラーが発生していますでしょうか?
遅くなりました。
本日午前中と先ほども試しましたが、状況変わらずできませんでした。
環境は、Windows7 Pro 64bitです。
ちなみに、別のWin7 32bitではプログラム自体が起動しませんでしたが、
それは仕様ですか?
v330のWindows版がリリースされていますので、こちらを使用してみてください
https://github.com/s0uthwest/tsschecker/releases/tag/330
>Windowsであればコマンドプロンプト、Macであればターミナルを起動し、tsscheckerのフォルダへ移動します。
この意味が分かりません。
フォルダは、どこに有るのですか?
直接行けないのですか?
ダウンロードした場所にあると思います。
tsschecker(ダウンロードした物)が入っているフォルダです。
そこのパスを「cd 」に続けてコピペなりドラッグ・アンド・ドロップなりをして挿入し、実行してください。
SHSHを取得するのが初めてなため初歩的な質問で申し訳ありません。
iPhoneXsMAXのiOS12.1.2のSHSHを取得する際一度のコマンドの実行で2つのファイルが作成されますがこれは正常な動作でしょうか?
2つで1つのSHSHという認識でよろしいでしょうか。
iOS 12.1.2はビルドナンバー違いの2種類があるため、その様になっています。
どちらもそれぞれiOS 12.1.2のSHSHなので、両方を残しておいてください。
そういうことですか!
ありがとうございます。
iOS —beta for device iPhone10,1 IS being signed!
と出たのですが、tsscheckerのあるファイルに保存されていません。何故でしょうか…
コマンドの最後に「-s」オプションを記述していましたでしょうか?
これがないとSHSHが保存されないので、確認をしてみてください。
Mac版ってコマンドに「cd」は不要ですか?
つけるとそんなディレクトリはねえっていわれるんですが
「cd」コマンドはディレクトリ移動を行うための物です。Macでも同様ですので、ディレクトリ移動を行う場合には必要です。
ない…といわれる場合は、その後のディレクトリパスに誤りがある場合があります
tss checkerで取得した.shsh2とtss サーバーで取得した.shsh2ってファイルサイズが倍ぐらい違うんですがそういうものですか?
設定などにもよるのですが、基本的にはサイズは違う場合が多いです
ありがとうございます。
TSSサーバーで取得した.shsh2にはなぜかgenerator値を持つものがなくtss checkerで手動で取得した方にはありました。
こういう不測の事態に備えて両方で取っておくといいのかもしれませんね。
TSSSaverではnoapnonceが「0x1111111111111111」、その他はapnonce指定で取られているので、Generator値も確定しているため内部記載がなかったりします。
なるほど、そうなんですか
もしかしてGenerator値に「0x1111111111111111」を入れてGenerator値をない.shshを使ってfuturerestoreを実行したら問題なくできた可能性があった感じですか?
TSSSaverのnoapnonceに入っているSHSHであれば、そちらのGenerator値で使用可能です
そうだったんですね…
ありがとうございます。
tsscheckerはiOS13に対応していないんですね…