[実験] iOS 8 脱獄で発生中の「パスコード有効で起動不可」問題を修正する

(41)

現在、iOS 8 脱獄環境にて【Cydia v1.1.13】を使用した場合、パスコードを有効にすると起動が不可能になる…といった問題が発生中です。
これについては修正版のCydiaがそろそろリリースされると思われます。

が、脱獄を嗜む者としては「色々遊びたいじゃん!実験したいじゃん!」と言う事で、無理矢理パスコード問題を修正してみよう!というのが今回のお話。

スポンサーリンク

*注意*

この方法はシステムファイルの移動する、危険な行為です。通常とは違った配置にするため、この作業が原因で不具合が発生する場合もあります。
この記事は「こんな事も出来るのか~」程度の読み物としてご覧頂ければと思います。

それでも「何があっても自己責任でやろう!」思ってしまった勇者な方は、Cydiaのアップデートが来たら一度iOSの復元を行い、再び脱獄作業からやり直しという事を把握した上で実行してください。

パスコード問題

iOS 8脱獄環境にて【Cydia v1.1.13】がインストールされている場合、パスコード・TouchID、iPhoneを探すといった機能を有効にすると一度電源を切ると起動しなくなる問題が発生します。

原因

Cydiaの初回起動時には以下の画面になると思いますが、この際にアプリや壁紙、着信音といった一部のシステムファイルなどをユーザー領域へ移動する作業が行われます。
/var/stash/】の中を見ると、ApplicationsやWallpaperといったシステムファイルが移動されているのが確認出来るはずです。

howto-fix-ios8-jailbreak-cydia-1113-passcode-touchid-bug-03

ただSaurik氏の説明によると、iOS 8ではパスコード使用時にデータ保護される領域に変更があり、移動したファイルがパスコードを入力するまでアクセス不可となっているそうです。
暗号化を解除出来ず起動不可だし、解除したくてもパスコード画面まで辿り着けないから解除不可。…とループ状態。

解決策

そこでClay Freeman氏が報告してくださっている解決策は、ユーザー領域である【/var/stash/】は使わず、システム領域に【/stash/】を作成してこっちに移動させちゃう、という手法です。
これを行うと、パスコードが有効になっていても再起動が可能に。

howto-fix-ios8-jailbreak-cydia-1113-passcode-touchid-bug-02

問題を修正する

パスコードを設定しても再起動が出来る様にする方法は【まだCydiaをインストールしていない】か【既にCydiaを使用中】かで、方法が二種類に分かれます。
ということで、とりあえずそれぞれの方法を見ていきましょう。

①Cydiaインストール前の場合

まずは【Pangu for iOS8 v1.0.1】にて脱獄直後、まだCydiaをインストールしていない場合です。
こちらの手法はCydia初回起動時に実行されるスクリプトを差し替え、移動先を【/stash/】に変更しちゃおうという物です。
そのため、Cydiaがインストールされていないか、まだ1度も起動したことが無いという環境が対象。

  1. Cydia v1.1.13をインストールしましょう。
  2. 修正したスクリプトを【move.sh】からダウンロード(右クリック > 名前を付けてリンク先を保存)してください。
  3. move.shを【/usr/libexec/cydia/】内に転送し、スクリプトを上書きしましょう。
  4. 再起動してCydiaのアイコンをホーム画面に出現させる(/var/mobile/Library/Caches/○○.csstoreを削除して再起動するとサクッと出てきます)
  5. ここで初めてCydiaを起動し、初回起動時のファイル移動を実行させて完了。これでパスコードを設定しても再起動が出来る様になります。
    ちなみに、きちんとスクリプトが差し替えられていれば、通常は数分かかる下記画面の作業が数十秒程度で終わるはずです。
    howto-fix-ios8-jailbreak-cydia-1113-passcode-touchid-bug-03

②既にCydia使用中の場合

続いて既にCydiaをインストール済みで使用中な場合です。
こちらは既に初回起動時の移動作業が完了しているため、【/var/stash】に配置されている状況なので、手動でファイルを【/stash】に移動させちゃいます。

以下が実際に実行したコマンドです。一気にやろうとすると上手く行かないことがあるので、1行1行確実に実行してください。

mkdir -p /stash
mv /var/stash/* /stash
rm /Applications; ln -s /stash/*/Applications /Applications
rm /Library/Ringtones; ln -s /stash/*/Ringtones /Library/Ringtones
rm /Library/Wallpaper; ln -s /stash/*/Wallpaper /Library/Wallpaper
rm /usr/include; ln -s /stash/*/include /usr/include
rm /usr/lib/pam; ln -s /stash/*/pam /usr/lib/pam
rm /usr/share; ln -s /stash/*/share /usr/share
killall SpringBoard

やっていることですが、まずは【/stash】というフォルダを作成し、【/var/stash】から全てのファイルをコピーします。
その後、【/var/stash/*/*】に設定されているシンボリックリンクを削除&新たに配置した【/stash/*/*】に設定し直し、最後のリスプリングを行って完了です。

howto-fix-ios8-jailbreak-cydia-1113-passcode-touchid-bug-04

問題点

希ですが脱獄アプリの中には【/var/stash】を前提とした動きをする物があり、それらを使用する際に不具合が生じる場合があります。
Activatorなどは【/var/stash】にファイルを配置しますので、コマンドでファイルを移動した場合は再インストールが必要です。

また、【Cydia Substrate 0.9.5015】を使用している場合であっても再起動後はリスプリングが必須になります。

iOSの復元覚悟で

ちなみに、Cydiaがアップデートされた場合、今回の変更は不具合の原因になります。元の位置に戻す事も出来るのですが、基本的にはCydiaのアップデートが来たらiOSの復元&再度脱獄を行ってください。

といった感じで、一応パスコードを有効にしても再起動が出来る様になります。
でもまぁ既に修正済みのCydiaがテスト段階にあるようなので、すぐにリリースされるかと思います。なので、そちらを待つ方が断然オススメ。

とはいえ、こういった無駄な作業が嫌いではない…それが脱獄犯なのであります!

コメント

  1. できたー!^_^

  2. とっても勉強になります。
    ディレクトリ構造を自分で一から理解するのはとても大変なので、こういう記事はとてもありがたいです。
    いつなんどき役に立つかもしれませんから。
    ありがとうございました。

  3. はい。気持ちはよぉ〜くわかりますぜい。

  4. panguからのCydiaインストールはあとどれくらいかかるんですか?
    見通し立ってない感じですか?

    • 現在Saurik氏周辺の開発者さんが不具合を修正したバージョンのテストを行っている状況の様なので、それが完了し次第リリースとなるかとは思います

  5. まさにおっしゃる通りです〜。

  6. 凄いです。一足先に「完璧脱獄」ですね。でもこの状態でほっといたら、後々問題が起きますよね。

  7. macから接続の場合はterminal→ssh -t root@IPアドレス -p 22でいいんですかね。

  8. できました!素晴らしいです、ありがとうございます!

  9. 明日くらいにCydiaでないかなぁ、

  10. 定期的にサイトデザイン表示がおかしくなってるのは俺の環境だけかな?
    強制的にモバイルテーマだったり、テキストのみ表示になったりすることがたまにある

  11. ハッカーばかりにたよるのもよくないけど
    これもひとつのお勉強w
    自分でコマンド打つのもハッカーになれた気分になるんじゃないかなぁ
    まだ脱獄はメイン機はする気はしないけど空いたらやろうかな

  12. iOS8の脱獄ツイークで
    テザリングできるのはないですか?

  13. この方法を使わずに再起動の不具合に陥らないようにするのには
    パスコードオフ touchIDオフ iPhoneを探すをオフ

    すればよいんですね?

    • はい、現状ではそうなっています

  14. >とはいえ、こういった無駄な作業が嫌いではない…それが脱獄犯

    わかります笑

  15. お久しぶりのryoです。

    iPhone6Plus ios8.1です。
    Panguから認識されません。ios8.1の復元、パスコード解除、iPhoneを探すをOFF、自動ロックOFF、機内モードON。
    DFUモードでの復元も試しましたが認識されません。
    パソコンも3台試しましたが認識されません。
    iPhone6Plusは脱獄できないのでしょうか?

    • 設定のセキュリティで位置情報のほうをオフにしましたか?

  16. 追記

    認識されないとはPanguのボタンが青にならずグレーのままということです。

    • あー、失敗してやがるなPanguとか思いながらもう一度試したら通りましたけど?

    • 中国人のプログラマは、10回動かして1回動いたら動いたと言います。

      • そんなプログラム存在しないよ
        そのまま吐き出すようなコンパイラもない

    • 最新のiTunesはインストール済みですか?PanguがiPhoneを認識するにはiTunesが必要ですよ

  17. くまさん

    こちらに書込むのは数年ぶりになります。
    くまさんがまだスカルだった頃でしょうか?w

    有用な情報ありがとうございました。
    昨日相談させて頂きましたが、私の場合これが原因でした。

    てっきりバックアップデータが悪さをしているのかと思ったら、灯台下暗し。
    初心に戻って勉強し直さないとイケませんねw

    Keychain、iCloud DriveとiCloudバックアップをONにしてる分は問題なしでしょうかね?
    暫しパスコードとTouch IDをオフにして使ってみるようにします。

    • 暗号化される関係の物で無ければ大丈夫だとの事です。
      ただ、iCloud関係は微妙な設定の違いでこれが発生する事があったりするので、様子を見ながら設定していく方が安全かなと思います

  18. iPhone6p iOS8.1ですが何度かやり直したら出来ましたね。

  19. いつもブログ拝見させていただいてます。
    さて、最近、私のiPhone5S(ios7.1.1)で起動時のロゴを変えたいと思ったのですがAnimateが64bitに対応してないらしくうまく動きませんでした。
    なにかいいTweakはございませんか?

  20. Cydiaの情報はまだありませんか。

    • 現在テスト中とのことですので、それが完了し次第リリースされるかと思います

  21. 7.1.2JBしてて今回8.1で脱獄した人って多いのかな〜 今と同じ環境にならないと中々 上げずらいな… 今の環境の30%位しかまだ対応してない。

  22. 現状で満足してるなら上げる必要なんてない
    でも悩んでるなら上げるべき。
    実際環境なんて時間が経てば整うけど、脱獄はできる時しかできないからね。
    脱獄アプリのリリースも今後8.1に向けて開発されてくると思うし

    • ありがとう!
      現状に満足しているから暫し待機します。Tweaksが揃って来てその時脱獄出来るようなら(穴が塞がれていなかったら)『してみるか!』位にしておきます。

  23. できました!
    ありがとうございました。
    iTunesが古かったせいでした。

    でも、iFunboxでdebファイルを入れてもcydiaがでてきません。
    すでに10回くらい再起動してるのけど表示されないのでこれは失敗でしょうか。

  24. Saruik氏になってますよ!!!

    • わぁお!本当ですね・・・!
      ゴッドSaurik氏の名前を間違えてしまうだなんて・・・なんてこった・・!!

  25. Cydia Subdtrateがupしましたが、何がかわったのかな?

  26. 早速Cydia Subdtrateアップデートダメ元でしてみました。
    アプリはまだ試していませんが、iphone5sの再起動は大丈夫でした。 

  27. 匿名 より:2014/10/30 20:06 の追記です。このiphone5sは
    上記②既にCydia使用中の場合を行ったiphone5sです。

  28. 匿名 より:2014/10/30 20:06の追記です。

    自分の環境は、上記「②既にCydia使用中の場合」を適用済みのiphone5sです。

    cydia substrate0.9.5016のアップデート適用

    その後に再起動しても通常のように起動したことを確認。他のアプリ等は未確認。

  29. cydia substrate0.9.5016のアップデート適用をダメ元で実施したら、パスコードロックを有効にしても正常に起動するようになったんでは?

    アップデートしてから何度も再起動してるけど、今の所はパスコード有効でも問題なし。

  30. cydiaのインストール成功しました。
    お騒がせしました。