[opensn0w] iPhone 4 iOS 7.0.2へCydiaをInstallする方法

opensn0wを使ったtethered jailbreakを利用して、iPhone 4 (iOS 7.0.2)へCydiaをInstallする方法を紹介します。

opensn0wのbuild

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

以前のエントリーを参考にコンパイルして下さい。LinuxとWindowsでも可能ですが、上級者向けとなるので、OS Xで行うのを推奨します。

Cydiaのコンパイル

まず、Xcode 5.0iPhoneOS6.1.sdkを使うので、ダウンロードして下さい。

Link:Xcode Downloads and Resources – Apple Developer
Xcode-4.6.3をDownloadし、中に入っているiPhoneOS6.1.sdkを「/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs」内に入れてあげます。
次に、Saurik氏のgitからcloneしたものに、僕が修正を加えたものを上書きします。

1. Cydiaを作成するディレクトリで、以下のコマンドを実行

git clone git://git.saurik.com/cydia.git
git clone https://github.com/ichitaso/Cydia_1.1.8_Fix.git
2. 「cydia」ディレクトリに「Cydia_1.1.8_Fix」の内容を置換します。

Replace to cydia ( SDURLCache, /Library/move.sh, makefile, MobileCydia.mm )
3. 「cydia」ディレクトリの「compiling.txt」に沿って実行
install Fink (the only sane choice)
参考:【覚書】10.8にFinkをインストール – たらたらたらり。

. /sw/bin/init.sh

sudo fink install bash ldid tar wget xz
4. 必要な環境が出来たら「Cydia」ディレクトリでTerminalで実行

./sysroot.sh
make package
5. 「debs」ディレクトリに「cydia_1.1.8+_iphoneos-arm.deb」と「cydia-lproj_1.1.8+_iphoneos-arm.deb」ができます。

iPhone 4にCydiaをInstall

1. SSHである程度環境を整えます。

Link:SSH2_bundle.tgz
Downloadして解凍しておきます。

Link:apt7-lib_0.7.25.3-9_iphoneos-arm.deb
Saurik氏のサイトから、apt7-lib_0.7.25.3-9をDownloadしておきます。devbugさん曰く、新しいバージョンだと他と競合する部分があるため、こちらを使用するとのこと。
Link:ssh_rd_rev04b.jar
SSHとrootを取得するために必要です。

2. ssh_rd_rev04b.jarを起動して、iPhone 4をDFUモードにします。

exploitが送られ、SSH接続可能になったら、以下のコマンドを実行
ssh root@localhost -p 2022
mount_hfs /dev/disk0s1s1 /mnt1
mount_hfs /dev/disk0s1s2 /mnt1/private/var
CyberDuckを起動して「/usr/bin」に「/SSH2_bundle/bin」の中身をコピー、「/mnt1」にSSH2_bundle.tgzを置く、「/mnt1/etc/」の「fstab」を編集、「/mnt1/System/Library/Lockdown」の「Services.plist」を編集します。
参考:iOS 7 beta 2 リリース!iPhone 4でrootを取得する方法
3. SSHをInstall

Terminalから以下のコマンドを入力

cd /mnt1
tar xzf SSH2_bundle.tgz
kill 1
一度、opensn0wでbootします。
./opensn0w_cli -p ../bundles/iPhone3,1_7.0.2_11A501.plist
4. iPhone 4に必要なパッケージをInstall

SSHから「apt-get」コマンドでInstall
ssh root@YourDeviceIP

apt-get update; apt-get install cydia; apt-get update; apt-get install eu.heinelt.ifile; apt-get install mobileterminal-applesdk; apt-get install mobilesubstrate; apt-get install preferenceloader; apt-get upgrade
5. iFunboxで「/var/mobile」にdebパッケージを送る

  • apt7-lib_0.7.25.3-9_iphoneos-arm.deb
  • cydia_1.1.8+_iphoneos-arm.deb
  • cydia-lproj_1.1.8+_iphoneos-arm.deb
Terminalから以下のコマンドを入力

cd /var/mobile

dpkg -i apt7-lib_0.7.25.3-9_iphoneos-arm.deb
dpkg -i cydia*.deb
rm -rf /var/mobile/Library/Caches/*
reboot
6. 再度、opensn0wでboot
./opensn0w_cli -p ../bundles/iPhone3,1_7.0.2_11A501.plist

Videoでのデモンストレーション

以上で、iOS 7.0.2のiPhone 4にCydiaをInstallすることが出来ました。Mobile Substrateがまだ対応していないため、ほとんどのTweakは動きませんが、iOS 7にCydiaをInstall出来ただけでも嬉しいですね!
今後、Saurik氏が正式にコンパイルしたものを作成するかと思うので、暫定版として捉えてもらえたらと思います。