opensn0wを使ったiPhone 4 iOS 7.0.2 tethered jailbreakとsshのInstall方法

2013/09/29 12:43

iOS 7.0.2のiPhone 4(GSM)にてrootの取得およびTethered Jailbreak(紐付き脱獄)に成功しました。
その方法とopenssh/dpkgなどのインストール方法について紹介いたします。


現在のところ、iOS 7では先日紹介した記事の通り、MobileSubstrateが動作しないため、今までのTweakは殆ど動きません。
Link:Dashbord X開発者のcjori氏 iOS 7へCydiaをInstallすることに成功
MobileSubstrateがiOS 7に対応すれば、より可能性は増えてきますが、とりあえずは開発者向けのものとして考えていただければと思います。

opensn0wのInstall

iOS 7を脱獄するにあたって、opensn0wをソースからビルドする必要があります。
使用したもの
  • Mac(OSX 10.8)
  • iPhone 4(iPhone3,1 iOS 7.0.2)
  • Dockケーブル
iPhone3,2(CDMA版)/iPhone3,3(第二世代iPhone 4 Rev A)でも可能かと思います。

参考:iPhone,iPad,iPod touch,AppleTV iOS Firmware IPSW ダイレクトリンク|ベースバンド SIMアンロック対応一覧



Windowsユーザーの方は、下記Linkを参考にしてください。

1.Autoconf と AutomakeをMacにインストール
ターミナルで以下のコマンドを順番に入力

export build=~/devtools
mkdir -p $build
cd $build
curl -OL http://ftpmirror.gnu.org/autoconf/autoconf-2.68.tar.gz
tar xzf autoconf-2.68.tar.gz
cd autoconf-2.68
./configure --prefix=$build/autotools-bin
make
make install
export PATH=$PATH:$build/autotools-bin/bin
cd $build
curl -OL http://ftpmirror.gnu.org/automake/automake-1.11.tar.gz
tar xzf automake-1.11.tar.gz
cd automake-1.11
./configure --prefix=$build/autotools-bin
make
make install

cd $build
curl -OL http://ftpmirror.gnu.org/libtool/libtool-2.4.tar.gz
tar xzf libtool-2.4.tar.gz
cd libtool-2.4
./configure --prefix=$build/autotools-bin
make
make install

sudo port install automake
~/devtools 以下のディレクトリにインストールされます。
via. Autoconf and Automake on Mac OS X Mountain Lion

追記:https://twitter.com/winocm/status/387348709430018048
sudo apt-get install build-essential automake autoconf git libusb-1.0-0-dev libcurl4-openssl-dev libreadline-dev
2.githubからopensn0wをclone
自分のわかりやすい場所に入れましょう(例.~/Documents)

cd ~/Documents
git clone https://github.com/winocm/opensn0w.git
via. winocm/opensn0w
3.opensn0w3.diff.zipをダウンロードしパッチを当てる
そのままだとMacでビルドできないので、devbugさんが作ったパッチを当てます。

Link:opensn0w3.diff.zip
ダウンロードしたzipファイルを展開して、opensn0wのあるディレクトリにコピーしパッチを当てます。
cp opensn0w3.diff opensn0w
cd opensn0w
patch -p1 < opensn0w3.diff
via. Creative myself :: opensn0w (patched) for OS X
4.opensn0wをビルドしてInstall
chmod +x autogen.sh
./autogen.sh
./configure --prefix=/Users/ユーザ名/Documents/opensn0w_build
make
make install
エラー無くInstallできればOKです。

rootを取得する

Link:iOS 7 beta 2 リリース!iPhone 4でrootを取得する方法
こちらを参考に、fstabとServices.plistを入れ替えます。「TinyUmbrella」ではリカバリーモードから抜けられないので、そのままにしておいてください。

openSSHをInstall

Dev-Team Blogで公開されている「SSH bundle v2」を使います。
Link:SSH2_bundle.tgz
via. Dev-Team Blog - redsn0w+limera1n fun
root取得で使用した「ssh_rd_rev04b.jar」を起動し、DFUモードへ入れ、以下のコマンドを入力

ssh root@localhost -p 2022
mount.sh
mount_hfs /dev/disk0s1s1 /mnt1
Cyberduckを起動し「SSH2_bundle.tgz」を「/mnt1」にドラッグします。
また「SSH2_bundle.tgz」を展開して、「bin」フォルダに入っているものを、mnt1ではない/bin ディレクトリの中にすべてドラッグして入れてあげます。

次に、ターミナルから以下のコマンドを入力

cd /mnt1
tar xzf SSH2_bundle.tgz
これで「SSH2_bundle.tgz」が展開されsshがInstallされます。
参考:Creative myself :: opensn0w (iPhone 4 iOS 7 tethered JB), OS X

opensn0wによるBoot

tethered JBなので、リブートするごとに必要になります。
1.opensn0w_build/bundles ディレクトリにiOS 7.0.2用のplistを入れる
Link:iPhone3,1_7.0.2_11A501.plist
2.iPhone 4をDFUモードに入れて、Macと接続する
3.ターミナルでopensn0w_build/bin ディレクトリへ移動し、以下のコマンドを入力
./opensn0w_cli -p ../bundles/iPhone3,1_7.0.2_11A501.plist
verbose modeで起動したら成功です。

debパッケージのInstall

ターミナルやWindowsのiFunboxからsshで接続できるか確認してみます。

ssh root@デバイスのIPアドレス

alpine
CydiaがInstallされていないため、他のデバイスなどから「/var/lib」など必要な物をコピーします。
apt-get update
これで、エラー無くパッケージリストを更新出来ればOKです。

MobileTerminal」や「iFile」などをInstallしてみましょう。

iFileは、一度他のデバイスでInstallして「/var/cache/apt/archives」ディレクトリに保存されたdebファイルを使って下さい。
それらを「/var/mobile」にiFunboxなどで入れてあげます。sshで接続し、以下のようにコマンドを入力します。

cd /var/mobile
dpkg -i mobileterminal_520-2.deb
入れ終わったら、再度opensn0wでbootしてあげれば出てくるかと思います。
killall -9 SpringBoard; killall -9 backboardd
これでは出て来ませんでした。

という感じで、非常に手間がかかるので、開発者向けの内容かと思います。
Enjoy!