32bitデバイスのiOS 9.1-9.3.4の脱獄をUntetherにする「UntetherHomeDepot」

2017/08/20 00:46


先日、32bitのiOS 9.3.5デバイスを脱獄できるPhoenix Jailbreakをリリースしたthimstar氏ですが、今回はiPhone 4s iOS 9.3.4をUntethered Jailbreakできる「UntetherHomeDepot」というツールを自身のRepoで公開しました。

実際に試してみましたので、紹介いたします。

UntetherHomeDepotの概要

32bitデバイスのiOS 9.1から9.3.4を脱獄する「Home Depot」

以前紹介した「Home Depot」を用いて脱獄したデバイスを再起動後も脱獄状態にするものとなっております。

  • iPhone 4s
  • iPhone 5
  • iPhone 5c
  • iPad 2
  • iPad 3
  • iPad mini 1G
  • iPod touch 5G
これらのiOS 9.1から9.3.4までが「Home Depot」で脱獄することができます。

現在のところベータ版扱いとなっており、デフォルトでサポートしているのはiPhone 4sのiOS 9.3.4のみとしています。

iOS 9.3.5で修正された「Pegasus exploit」を利用してJavascriptで実行しているとのこと。

UntetherHomeDepotのインストール


http://repo.tihmstar.net/



こちらのリポジトリを追加して、システムセクションにある「UntetherHomeDepot」をインストールすることで完了です。

既知の問題

  • ブートループになる可能性があります。
  • デバイスがしばらくすると画面が暗くなり、ハードリセット(電源ボタンとホームボタンの長押し)をしないと復帰しなくなります。
  • 再起動後、OpenSSHが無効になります。(再インストールすることで利用できます)
まだ試してみて時間が経っていないので、ブートループになったことはありませんが、もしなった場合、/var/logs/untetherhomedepotLoopProtection.txtにブート回数が記録され、10回になると通常起動するようになっているとのことです。

また、デフォルトではログを記録していないのですが、以下のコマンドでログを記録することができるようです。

touch /var/logs/untetherhomedepot.log && chmod +w /var/logs/untetherhomedepot.log

こちらはデバッグ用なのでユーザーは気にしなくても大丈夫です。

iPhone 4s iOS 9.3.4以外で利用したい場合


「/untether/offsets.json」を編集します。

"Darwin Kernel Version"の部分は"uname -a"コマンドで取得できます。

"MarijuanARM"となっている部分は"RELEASE_ARM"とするようです。

その下にあるoffsetsは以下のサイトから上から順番に書き換えます。

LINK:http://wall.supplies/offsets/

あとは上書き保存します。

iPhone 5,3 iOS 9.3.3の場合
"Darwin Kernel Version 15.6.0: Mon Jun 20 20:10:21 PDT 2016; root:xnu-3248.60.9~1/RELEASE_ARM_S5L8950X":
["0x31f13c",
"0x3219fc",
"0x1eeac",
"0xdea48",
"0x40b428",
"0xcb7dc",
"0xdea4a",
"0xcb508",
"0x45d978",
"0x3fe454",
"0xcb560",
"0x45f2c8",
"0xa4"]

追加後、以下のコマンドを実行してください。

/usr/libexec/rtbuddyd /untether/expl.js


stage 1でfailedとなるとブートループになるようです。

まとめ


これでiPhone 5c iOS 9.3.3が再起動後も脱獄状態になったのですが、しばらく放置すると画面が暗くなり、ハードリセットしないと復帰しなくなりました。

また、「UntetherHomeDepot」をインストールするには「gsc.armv6」が必要なのですが/var/lib/dpkg/statusに記述されておらず、最初はインストールできませんでしたが以下のコマンドで取得できました。

cd /usr/libexec/cydia
/bin/sed -i -e 's/ sed -re/ \/bin\/sed -re/g' firmware.sh
./firmware.sh


もし今現在iOS 9.0.2などで脱獄されている場合、安定性を考えると様子見といったところです。

しかし、最後のUntethered Jailbreakから約2年、いろいろと考えさせられるものがあります。今後のアップデートで安定していってくれることを願っています。