TrollStoreをBootROM Exploit「Checkm8」を使用してA8〜A11デバイス&iOS 15.5 Beta 4以下へインストールする方法

(76)

IPAファイルからアプリを署名不要でインストールするためのアプリ【TrollStore】ですが、iOS 15.xではA8〜A11デバイスに未脱獄でTrollStoreをインストールすることが現状不可(A11のみiOS 15.1.1まで未脱獄でも可能)となっています。

ですが…A11以下といえば…BootROM Exploit「Checkm8」があるじゃない!ということで、Checkm8を使用してiOS 15.0〜15.5 Beta 4までTrollStoreをインストールすることが可能!
今回はこの手法について記しておきたいと思います。

スポンサーリンク
スポンサーリンク

TrollStoreの対応状況は?

執筆時点(2022年9月11日)では、TrollStore自体のインストールは以下のような対応状況になっています。
簡単に言ってしまえば、iOS 14.xでは「脱獄ができれば可能」、iOS 15.0〜15.1.1では「A10以降であれば可能」、iOS 15.2以降は「Checkm8対応デバイスであれば可能」となります。

A8 / A9 A10 / A11 A12 / A13 A14 A15
iOS 14.0〜14.5.1 脱獄環境で可能 脱獄環境で可能 脱獄環境で可能 脱獄環境で可能
iOS 14.6〜14.8 脱獄環境で可能 脱獄環境で可能 脱獄環境で可能
iOS 14.8.1 脱獄環境で可能 脱獄環境で可能
iOS 15.0〜15.1 本記事の手法で可能 未脱獄で可能 未脱獄で可能 未脱獄で可能 未脱獄で可能
iOS 15.1.1 未脱獄で可能 未脱獄で可能
iOS 15.2〜15.5 Beta 4 本記事の手法で可能 本記事の手法で可能

Checkm8を利用したTrollStoreのインストール

iOS 14.x向け「脱獄環境でインストールする方法」、iOS 15.0〜15.1.1向け「未脱獄でインストールする方法」については以前ご紹介させていただきましたので、今回はiOS 14.0〜15.5 Beta 4向けCheckm8を利用してTrollStoreをインストールする方法…をご紹介!

ちなみに、今回の手法はMacとLinuxでのみ使用可能となっており、Windowsでは実行することが出来ませんので、この点はご注意ください。

対応デバイス&対応バージョン

BootROM Exploit「Checkm8」を利用しますので、対応デバイスは【A8〜A11】のデバイスとなります。
また、CoreTrust脆弱性が存在するiOS 14.0〜15.5 Beta 4までで利用可能となっています。

1, Githubから必要ファイルをダウンロード

今回の手法では「SSHRD_Script」というスクリプトを使用し、行っていきます。

ターミナルより以下コマンドを実行し、Githubより必要ファイルをダウンロードしましょう。
ちなみに以下コマンドはスクリプトに加え、必要ファイルも一緒にダウンロードしてくれ、更にダウンロード後にはSSHRDフォルダへ移動してくれます。

git clone https://github.com/verygenericname/SSHRD_Script --recursive && cd SSHRD_Script

howto-install-trollstore-checkm8-device-ios14-ios155b4-sshrd-2

2, スクリプトを実行

続いてダウンロードしたスクリプトを実行します。この際、デバイスはPCとUSB接続した状態にしておきましょう(スクリプト実行中にDFUモードへ入れる必要があります)。

スクリプトを実行するためのコマンド構成は以下の通り。

./sshrd.sh [ramdiskバージョン] TrollStore [システムアプリ名]
[ramdiskバージョン]
ramdiskのiOSバージョンを指定するのですが、基本的には「15.6.1」と入力で大丈夫です
[システムアプリ名]
TrollStore Helperアプリと入れ替える、不要なシステムアプリの名前を英語で記入します。
ちなみにオススメは「ヒント」アプリである「Tips」がイイかなと思います。

例:ramdiskバージョンには”15.6.1″を指定し、システムアプリ名にはヒントである”Tips”を指定しています。

./sshrd.sh 15.6.1 TrollStore Tips

howto-install-trollstore-checkm8-device-ios14-ios155b4-sshrd-01

3, デバイスをDFUモードへ入れる

スクリプトを実行すると色々な作業が開始されますが、少し経つと『waiting for dfu mode divice』という表記が繰り返し表示されるようになります。
この表記が出ましたら、USB接続されているデバイスをDFUモードに入れてあげましょう

howto-install-trollstore-checkm8-device-ios14-ios155b4-sshrd-4

デバイスがDFUモードに入るとスクリプトの実行が再開され、また色々と作業が続行されます。
スクリプトの実行が正常に完了するまでデバイスのUSB接続を切断しないようにご注意ください。

howto-install-trollstore-checkm8-device-ios14-ios155b4-sshrd-5

4, デバイスを起動させる

スクリプトの実行が完了してもデバイスは真っ黒い画面のままで停止していますので、以下コマンドから改めてスクリプトを実行し、デバイスを起動します。
デバイス側の画面には色々と文字が表示されますが、正常に起動するまでは触らないようにご注意ください。

./sshrd.sh boot

howto-install-trollstore-checkm8-device-ios14-ios155b4-sshrd-6

5, TrollStoreをインストール

デバイスが正常に起動したら、あとはTrollStoreをインストールするだけ!

手順2のコマンドで指定したシステムアプリをホーム画面から起動すると…TrollStore Helperが起動するはずです。
手順2の例では「Tips」を指定していますので、その場合は「ヒント」アプリをホーム画面から起動しようとすると…TrollStore Helperが起動されます。

howto-install-trollstore-checkm8-device-ios14-ios155b4-sshrd-7

あとは『Install TrollStore』ボタンをタップして…TrollStoreをインストールしましょう。

howto-install-trollstore-checkm8-device-ios14-ios155b4-sshrd-8

TrollStoreの使い方や注意点はこちらから

ちなみにTrollStoreの使い方や、注意点などについては以下記事を参考にしてみてください。
未脱獄&デバイス単体&署名不要でアプリをインストール「TrollStore」を使用する方法!

今回はCheckm8を利用してインストールを行っていますが、Checkra1nとは異なりTrollStoreやTrollStore Helper、またTrollStoreを使用してインストールしたアプリに関してはデバイス再起動後も動作します。
そのため、今回の作業はTrollStore Helperをインストールする最初の1回だけで大丈夫です。

コメント

  1. こいつぁすげえや

  2. あっこれWindowsには無理パターンかな?

    • 記事にも書いてあるんだが…
      checkm8がwinで動くようになれば可能だがlinuxのLiveUSB作ればええやんってこと

      • 自分のパソコンUSBにLinux系のbootusbで起動させようとしても画面の表示がバグってまともに操作できないから諦めてる

        • それどんなパソコン使ってるの?
          普通にbios設定間違ってない?

  3. .ipswのダウンロードURLは端末のバージョンに関わらず最新のものですか?
    また、データーは消えませんか?

    • はい、最新版のIPSWファイルのURLを指定してください(厳密にはSHSHが発行されているバージョン)。
      この指定はスクリプトの実行に必要なだけで、デバイス側のiOSバージョンが上がったり…ということはありません。また、データに関しても消えたりはしませんのでご安心ください。

  4. システムアプリを書き換えるのって3DSみを感じる…

  5. 下手したら脱獄しなくてもいい

  6. iPhoneXとM1ProのMacBookProで実行したところ何度やっても、スクリプト実行後勝手にiPhoneが起動してしまいます。
    (cleanup…のあたりで起動し始めます)

    起動してしまった後に ./sshrd.sh bootを実行し、後からDFUに入れ直しても失敗してしまいます。

    なにか考えられる原因や試すべき手法はありますか…。
    ご教示願います…。

    • 上の方と同じ不具合です

      当方
      iPhone6s
      iOS15.1
      M1 MacBook Pro

      です、何かご存知の方ご教示願いたいです…

    • 上の方と同じ不具合です

      当方
      iPhone6s
      iOS15.1
      M1 MacBook Pro

      です、何かご存知の方いらっしゃいましたらご教示願いたいです…

    • 一旦リカバリーモードにしてからDFUモードにすると上手くいきましたよ!

  7. A14のiOS14.8とかいう脱獄できない上にTrollStoreも使えない環境なんですけどどうにかならないですかね…

    • iOS 15.0〜15.1.1のTrollStoreで使用されているExploit自体はiOS 14.xでも動作するので、今後iOS 14.x対応が行われる可能性も…ゼロではないのかなとは思っています。
      ただ、そうなるとどうしてもExploitのiOS 14.x向け調整が必要になるため、現時点では後回しになっている雰囲気でしょうか

  8. usb_timeout: 5
    [IOKit] Waiting for the USB handle with VID: 0x5AC, PID: 0x1227
    と出てきてしまうのですが、どうすれば良いでしょうか?

    • iPhone 8(iOS15.0 19A344)です。
      MacBook Air2015(macOS High Sierra 10.13.6)です。
      母艦のOSが古すぎるのが原因でしょうか?

      • brewでlibimobiledeviceをインストールするか
        Procursusでlibimobiledevice-utilsとlibusbmuxd-toolsをインストールしてますか?どちらかでいけると思います

  9. iPhone X iOS15.4.1
    iPhoneに文字が出るとこまで行ったけどその後暗くなって起動しなくなる

  10. こちらはA10xのiPad Pro10.5にも対応しているんですかね?
    iOS15.3.1です

    • iPad自体はサポートされており、報告を見る限りでは動作している様です

  11. linuxのLiveUSBで git clone https://github.com/verygenericname/SSHRD_Script –recursive && cd SSHRD_Script これを実行するとCommand ‘git’ not foundと表示され先に進めないのですがどうすれば良いのでしょうか?

    • まず先にこれですかね?
      sudo apt install -y git

      • ありがとうございます。
        sudo apt install -y git 実行後に成功しましたが、
        次に進む
        ./sshrd.sh〜のコマンド入力後そのようなファイルやディレクトリはありませんと表示されてしまいます…
        どこか間違っているのでしょうか?

        • さてはlinux初心者ですね?
          gitできているなら現在のディレクトリの位置が間違ってますね
          まずはsshdr.shのフォルダがある場所までcdしてください
          がんばれ

          • sshrdでしたね
            失敬

  12. 2番目の工程を行おうとすると[!] Please install iproxy first….と表示されて先に進めないorz

    このエラーで検索してみても目ぼしい回答を得られず…手を貸していただけたらと

    • Macをご使用であればHomebrewをインストール後、「brew install libimobiledevice」を実行してみてください

      • いつもお世話になってます。

        環境を書くのを忘れてましたorz
        iPhone8 iOS15.4
        Windows7ProでUbuntuのLive USBを使ってます!

        • Linux環境の場合は「sudo apt install libusbmuxd-tools」で通常はインストールが出来るかなと思います。
          一応実行前に「sudo apt update」をしておくと良いかもです。

          • すんません有難うございます。もう一回やってみます!
            ご迷惑をおかけしました。

          • こんばんは。

            Ubuntuを入れなおしてイチから始めたら4番目まではうまくいったんです…が、ヒントのアプリを削除していたことをスコーンと忘れていて、もう一度再インストールをしたのですがTrollHelperが起動しません。

            そして2番目にあるスクリプトを実行を試みたんですが、そのようなファイルやディレクトリはありませんと表示されますorz

            もうダメなんですかね…

          • スクリプトが更新されており手順2のコマンドが変更されています。こちらでもう一度試してみてください。

          • こんにちは。

            だめっすね。
            スクリプトを配ってるサイトを見に行ってみたらA11は初めにリカバリーモードにして、それからDFUモードへと書いてあったんでその通りにやって、新たに更新された手順2のコマンドを試みてもUnable to connect to deviceのエラーで弾かれます。

            念のためにケーブルやUSBポートを替えてみても駄目でした。

          • ご使用のLinux環境によっては使用可能なUSBポートが使えなかったり制限が入っている場合があるのですが、その辺りは大丈夫だったでしょうか?

  13. UbuntuのLive USBで DFU modeの操作のところまで進んだのですが 、Getting device info…の後にERROR: Unable to connect to device と出て止まってしまいます。
    何が足りないか、ご教示お願いします。

  14. iPhone 8plus, Ubuntu LiveUSBです.

    [*] Getting device info… this may take a second
    ERROR: Unable to connect to device
    ERROR: Unable to connect to device
    ERROR: Unable to connect to device
    jq: error (at :1): Cannot index number with string “firmwares”
    parse error: Invalid numeric literal at line 1, column 9
    [-] An error occurred

    となります. どうすればいいですか?

    • バージョンは15.4.1です.

      • 同じエラーが出てたのですが、checkr1nを起動してDFUモードにする手順のところまでやるとなぜかエラーが消えました。
        あと、今は仕様が変更されてて、ipswのダウンロードURLではなくiOSのバージョン(15.6.1)を指定するように変更されてるので注意です。

        • sudo ./sshrd.sh 15.6.1 TrollStore Tips
          ↑これでうまくいくと思います。

  15. Error: file Firmware/.trustcache does not exist, or is a directory
    というエラーが出てしまいます。どうしたら良いでしょうか?
    iPhone6s iOS15.0.1 zorinOS です。

    • スクリプトが更新されており手順2のコマンドが変更されています。こちらでもう一度試してみてください。

  16. 手順2の ./sshrd.sh 15.6.1 TrollStore Tips 実行でエラー
    ./sshrd.sh: 25: curl: notfound
    [-] An error occurred

    環境 iPhone8 iOS15.4.1 ubuntu

    お手上げです。

    • そのエラーは
      sudo apt install curl
      で回避しましたよ。

      • ありがとうございました。
        その後、下アーティクルのエラーで迷いましたが、何とかインストール出来ました。
        次は Filza のインストールipaの作成に進みたいと思います。

  17. どうもうまくいきません。
    昨日までは
    Error: file Firmware/.trustcache does not exist, or is a directory
    [-] An error occurred
    のエラーで止まっていたのですが、今日、SSHRD_Scriptのフォルダを削除して最初から実行すると変化し、今度は、
    [*] Getting device info… this may take a second
    ERROR: Unable to connect to device
    ERROR: Unable to connect to device
    ERROR: Unable to connect to device
    jq: error (at :1): Cannot index number with string “firmwares”
    parse error: Invalid numeric literal at line 1, column 9
    [-] An error occurred
    で終了します。
    コマンドが実行されているのでDFUモードには入れていると思います。
    (当方の環境ではDFUモードに入るのに苦労しています。7~8回で1回成功の感じです)

    環境は
    Linux mint19.3
    iPhone6s
    iOS15.1です。
    匿名様の情報の
    >同じエラーが出てたのですが、checkr1nを起動してDFUモードにする手順のところまでやるとなぜかエラーが消えました。
    を試してみましたが変化ありません。
    同様のトラブルを解消された方はいらっしゃいませんか?

    • 上アーティクルの者です。
      同エラーで迷いましたが、なんとかインストール出来たので状況報告します。
      >[*] Getting device info… this may take a second

      >parse error: Invalid numeric literal at line 1, column 9
      >[-] An error occurred
      >で終了します。
      >コマンドが実行されているのでDFUモードには入れていると思います。

      多分DFUモードには入れているという事であれば
      その状態のまま(DFUモードを維持したまま)再度
      ./sshrd.sh 15.6.1 TrollStore Tips
      を実行してみて下さい。
      当方それでインストール完了しました。

      • ありがとうございます。
        チャレンジしてみます。

  18. そもそもDFUモードへの入り方がわからない…以前はchekra1nの指示に従うだけで入れてたけど…

    • デバイスにより異なりますが、どのデバイスをご使用でしょうか?

      • iPhone8 plusです。リカバリモードにして電源と音量-10秒長押し→電源離して音量-5秒長押ししても普通に再起動するだけなので困っています…

        • Lightning – USB-Cケーブルではなく、Lightning – USB-Aケーブルをご使用になっていますでしょうか?

          • Lightning – USB-Cですね…

          • Lightning – USB-Cケーブルを使用すると、本当に…DFUモードに入るのが難しくなります…。
            入れないわけではないのですが、かなりシビアでして…。
            そのため、Lightning – USB-Aケーブルを使用するのがオススメです。

    • >以前はchekra1nの指示に従うだけで入れてたけど…

      だとすれば、chekra1nではDFUモードには入れていたという事で
      端末を別で開いて、chekra1nでDFUモードに入れば進むと思います。
      当方でも、DFUモードなかなかうまくは入れないのでそうしていますよ。

  19. Ubuntu LiveUSB

    sudo apt update
    sudo apt install git
    sudo apt install curl
    sudo apt install libusbmuxd-tools
    sudo ./sshrd.sh 15.6.1 TrollStore Tips
    [dfu mode]
    sudo ./sshrd.sh boot

  20. iphone x 15.4.1を母艦10.14.6のmacに繋いでいます。
    2番のスクリプトを実行すると以下のエラーが出て進みません。

    curl: (60) SSL certificate problem: certificate has expired
    More details here: ttps://curl.haxx.se/docs/sslcerts.html
    curl performs SSL certificate verification by default, using a “bundle”
    of Certificate Authority (CA) public keys (CA certs). If the default
    bundle file isn’t adequate, you can specify an alternate file
    using the –cacert option.
    If this HTTPS server uses a certificate signed by a CA represented in
    the bundle, the certificate verification probably failed due to a
    problem with the certificate (it might be expired, or the name might
    not match the domain name in the URL).
    If you’d like to turn off curl’s verification of the certificate, use
    the -k (or –insecure) option.
    HTTPS-proxy has similar options –proxy-cacert and –proxy-insecure.
    failed

    curl –insecure や curl -k オプションの指定で証明書の検証を無効にすれば
    いいようなんですがうまくいきません。
    詳しい方、ご教授願います。

  21. Waiting for device in DFU mode
    で止まってしまいます。DFUモードにして接続はしていますが、なにかのアプデができていないんでしょうか?linuxインストールしたてほやほやです。
    git curl などは一通りインストールしました。

    • 何もエラーなどが出ず…という状況でしょうか?

  22. IOS15.5はbeta以降ですよね…

    • iOS 15.5正式版ということであれば、未対応ということになってしまいます

      • そうですよね。ありがとうございます

  23. インストールできました!

    ../Linux/PlistBuddy: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26′ not found (required by ../Linux/PlistBuddy)
    ../Linux/PlistBuddy: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29′ not found (required by ../Linux/PlistBuddy)
    ound (required by ../Linux/PlistBuddy)
    こんな感じの複数のエラーが起きてスクリプトが停止していました。
    “GLIBCXX_3.4.29”
    が見つからないエラーです。
    ググっていくと”libstdc++”の更新をする必要があるとのことです。
    この更新は再ビルドが必要なようで、かなり面倒な作業が必要でした。。
    そこで、最新のLinuxをSSDにフルインストールして試してみました。
    使ったのは “Ubuntu 22.04 LTS”です。
    さらにLiveDiskではなく、SSDにインストールしました。
    今のLinuxは簡単にデュアルブートの設定ができますから、windowsの母艦でも大丈夫です。パーテーションも40Gもあれば十分のようです。

    Linuxの最小パッケージやLiveDiskでは必要なファイルが入ってない可能性があるようです。

    手順としては
    sudo apt update
    sudo apt install git
    sudo apt install curl
    sudo apt install libusbmuxd-tools
    sudo ./sshrd.sh 15.7 TrollStore Tips
    [dfu mode]
    sudo ./sshrd.sh boot
    でスムーズに終わります。

    Linuxのインストールは、出てくる説明をきちんと読んですすめてください。
    自己責任でお願いします。

  24. Windowsは対応しないのでしょうか?

    • Checkm8をWindowsで動かす事は出来なくはないので、やろうと思えばスクリプトを対応させることは…出来るかもしれません。
      ただ、実際にそれを使う場合、かなり色々と準備が必要になり、相応の知識やスキルも要求されてくる気がします。そうであれば…USBメモリなどにLinuxをインストールし、そちらで実行したほうが楽なのかなと思います…。

  25. remote: Compressing objects: 100% (11/11), done.
    で10分待ちました

  26. sudo ./sshrd.sh 15.7 TrollStore Tipsを実行してDFUに入ると

    Error: file Firmware/.trustcache does not exist, or is a directory
    [-] An error occurred

    とエラーが出てしまうのですがどうしたら良いでしょうか?

    • 私も同じ症状で悩みました。
      Linuxのディストリビューション(ubuntuとかKNOPPIXとかの呼び名)は何をお使いですか。
      エラーメッセージの前のほうの行に
      ../Linux/PlistBuddy: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26′ not found (required by ../Linux/PlistBuddy)
      みたいなメッセージはありませんか?
      ubuntuならうまくいくみたいです。

      • 回答ありがとうございます
        ../Linux/PlistBuddy: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29′ not found (required by ../Linux/PlistBuddy)
        ../Linux/PlistBuddy: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33′ not found (required by ../Linux/PlistBuddy)
        ../Linux/PlistBuddy: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34′ not found (required by ../Linux/PlistBuddy)

        のことですか?

        • ありがとうございます
          Ubuntu22にしたらうまくいきました
          しかし今度は別のエラーが原因で失敗しました
          どうすれば良いですか

          get_amfi_out_of_my_way_patch: Found Internal Error: No cdhash found. str ref at 0x106ec64
          get_amfi_out_of_my_way_patch: Patching AMFI at 0x106a2a8
          main: Writing out patched file to work/kcache.patched…
          main: Quitting…
          0x106a2a8 0xfd 0xe0
          0x106a2a9 0x7b 0x3
          0x106a2aa 0xbf 0x0
          0x106a2ab 0xa9 0x32
          0x106a2ac 0xfd 0xc0
          0x106a2ae 0x0 0x5f
          0x106a2af 0x91 0xd6
          krnl
          dtre
          rtsc
          rdsk
          Killed
          [-] An error occurred

          • このエラーは私の環境では見たことがありません。
            基本的なことをうかがって失礼なのですが、
            ubuntuのインストール後に
            sudo apt update と
            sudo apt upgradeは実行されましたか?
            確認してみてください。

  27. sudo apt update
    sudo apt install git
    sudo apt install curl
    sudo apt install libusbmuxd-tools
    git clone https://github.com/verygenericname/SSHRD_Script –recursive && cd SSHRD_Script
    sudo ./sshrd.sh 15.7 TrollStore Tips

    だけでupgradeは行っておりません
    行った方が良かったでしょうか?

    • sudo apt upgradeもかけましたが

      get_amfi_out_of_my_way_patch: Found Internal Error: No cdhash found. str loc at 0x973ee1
      get_amfi_out_of_my_way_patch: Found Internal Error: No cdhash found. str ref at 0x106ec64
      get_amfi_out_of_my_way_patch: Patching AMFI at 0x106a2a8
      main: Writing out patched file to work/kcache.patched…
      main: Quitting…
      0x106a2a8 0xfd 0xe0
      0x106a2a9 0x7b 0x3
      0x106a2aa 0xbf 0x0
      0x106a2ab 0xa9 0x32
      0x106a2ac 0xfd 0xc0
      0x106a2ae 0x0 0x5f
      0x106a2af 0x91 0xd6
      krnl
      dtre
      rtsc
      rdsk
      Killed
      [-] An error occurred

      というエラーが出てしまいます

  28. m1 Macだとdfuにしても勝手に起動しちゃうのでもしかしたらダメなのかな?

    • 記事中で使用しているのはM1 Mac miniになりますので、特に問題なく実行出来るはずです。
      また、M1 MacだからといってDFUモードから勝手に復帰しちゃう…ということは遭遇したことがないため、もしかしたら何かしらの環境による邪魔が入っているかもしれません。

  29. PC新調してWindows入れる前にUbuntu入れてiPad Air2 15.3.1でやってみた。
    DFUモードにするのに手間取ったけど無事インストールできてAppStore++で
    入れたいバージョンのアプリも入れられて満足です。

スポンサーリンク
スポンサーリンク
タイトルとURLをコピーしました