- iPhone 3GS 32GB モデルMC134
- CFW作成のベースfirmwareは3.1.2(7D11), モデムは05.11.07のiPhone2,1_3.1.2_7D11_Restore.ipsw
- ホストマシン:Mac OS X 10.6.2
- iTune9.0.2 (25)
- Pwnage 3.1.5
- 一度目はPwnageでうまくリカバリモードに入れなかったが、脱獄できた。ただし、SBsettingでSSHがトグルできなかったり、SSHの動作が不安定などの状況がみられたので、Pwnage3.1.5で、再度脱獄(これは、一つ前のblogに書いたとおり)
- Pwnage 3.1.5で脱獄、root パーティションを1.5Gに設定 Pwnageは、expert modeで、やり方は、http://toysn.blog103.fc2.com/blog-entry-636.html を参照。
Cydiaを起動。Developper (no-filter)を指定。Update Essentialを指定。3.1.2のSHSHが保存されていることをステータスバーの下にあるコメントで確認。下の写真のHome-Cydiaのバーの下の緑の小さい文字がそれ。- CydiaからAptBackupを導入した。非公式アプリをiTunesからリストアしようとしたが、何も起こらず。
- CydiaからランチャーアプリSBSettingsをインストール。設定。脱獄アプリは、SBsettingのDockにいれることにする。脱獄アプリを入れた後のSBSettingの設定画面は以下のような感じ。
- OpenSSH, MobileTerminalを導入。前回の脱獄と家庭内WLAN IPが同じなので、macのsshからloginできず。~/.ssh/known_hosts を消して、SSHすればOK。早速アカウント、rootとmoblileのパスワード変更。今度は、素直にSBsettingでSSHのon/offができる。
- CydiaからSyslog Toggleをインストール。これでSBsettingからsyslogのトグル、SBsettingのボタンんの長押しでログファイルのサイズ表示、消去ができる。log fileは、/var/log/syslog。
- デザリングを有効化。http://freeek.jp/blog/iphone/1256/ のほうが簡単でssh,scpいらず。cydiaからinstallして、URLをクリックするだけ。簡単。成功。(前回のやり方はhttp://freeek.jp/blog/iphone/1131/)こっちのCommcenterのほうが、テザリング中のStatus bar表示がかっこいい気がする。
- 今回は、不安定化を避けて、Blacksn0wでのSIM Unlockは、本当に必要になるまでやらないことにした。
Cydiaのmanage->source->edit->Addからwww.blackra1n.com をリポジトリにだけ追加。 - CydiaからQuickScroll 2を導入。タップするとスクロールバーが画面の右横や下にあらわれ、スワイプするより高速にスクロールできる。ただし、シングルタップで起動にすると、スクロールバーの位置にボタンがあるアプリ(ToDoなど)では、スクロールバーと重なり、ボタンが押せなくなる。設定を変えてtwo fingerタップにしたらこの問題は生じなくなったが、two finger タップとして認識されないことがあり、ちょっと不便。
- Cydiaからvim (VI IMproved) 7.1.3を導入。cydiaでinstallしただけで、rehashしなくてもMobileTerminalからvimで起動できた。MobileTerminalからでは使いにくいが、SSHでkeyboardからなら使える。
- terminalやSSHのログインプロンプトが長すぎるので、/etc/profileのPS1 を修正。sshで入り、vimで修正。
- Cydiaのリポジトリにhttp://homepage3.nifty.com/moyashi/cydia/ を追加し、StatusBarCustomClock を導入。これで、ステータスバーの時間に加えて、日付と曜日も表示される。StatusBarDateをoffにして、元通りの時計表示だけにするには、SBsetting->more->Mobile Substrate Addons
からStatusBarCustomClockをoffにして、SBsettingからRespringすればよい。 - Cydiaのリポジトリにhttp://david.ashman.com/apt/を追加し、WeatherIconで、天気iconに実際の気温を表示。ただし、実際の天候は反映されずいつも晴れのままだ。
- CydiaからRotation Inhibitorを導入。寝転がって、Safariをやるとき、横画面に切り替わってうっとおしかったのが、解決。
- Cydiaからafc2addをinstall。iPhoneをreboot。i-FunBoxから、root (Raw ファイルシステム)にアクセスできるようになった。
- リポジトリ http://homepage3.nifty.com/moyashi/cydia/ を登録し、PasteboardStacker をインストール。copyを複数しておいて、ペースト時に項目から選択できる。便利。便利。copyをstackできるヒストリの個数は、設定->PastboardStackerから変えられる。最低で20個。最大で100個。ペーストしたいときに日付のところをダブルタップするとペーストにどのstackを使うかの選択画面があらわれる、このスクリーンショットを以下に示す。ヒストリ数が20からなのでリストは上下にスクロールする。
- CydiaからAppLinksを導入し実行。記号の羅列になっているAppStoreの公式アプリのディレクトリに対し/var/mobile/AppLinksから、*.appというファイル名でリンクが張られ、公式アプリの散策がしやすくなった。
- #12のリポジトリにあるRecSoundToggle をinstall。カメラ、ビデオ、録音の際のサウンドをSBsettingからon off。やっていることはUISoundsにrecsoundtoggleというdirectoryを掘って、そこに正規のサウンドを保存した上で、silence.cafという無音ファイルで書き換えている模様。
- NoCyfresh: Cydiaのauto refreshを制御。SBSettingsトグル - respringしてもSBSにトグルが表示されない。2度インストールしたが、状況は変わらず。これは、NoCyfreshをv2.0にアップすると起きる現象。http://www.multiupload.com/XKNHXJ95TE などからv1.0.3のdebファイルを取得し、scp等でiPhoneに転送したうえで、dpkg -- install [dev file名] をやればトグルが表示される。NoCyfreshにするとCydiaの立ち上がりは速くなるが、ただし、作者or Cydiaがv2.0でNoCyfresh機能を封じたのには訳がありそうなので、せっかくインストールしたがoffにしている。
- リポジトリ: http://cydia.hackulo.us/ を追加: AppSync for OS 3.1: Apple否認可のアプリをインストールすることが出来る。実績のあるi-keyHoleTVをinstallするのにとどめる。
- iTunesにバックアップしてあったi-keyHoleTVを転送。#20がないと、否認可アプリということで、転送に失敗する。本体ファイル「i-KeyHoleTV.ipa」 のダウンロードと、iTuneへのinstall方法は、http://iphone.zic.jp/?p=3287 を参照。これで、外付けのワンセグチューナーを使わずに3G/Wifi回線でテレビ視聴が可能に。ワンセグに比べると高圧縮なのか画像にブロッキングノイズが出たり、画像が止まったり若干醜いところもあるが、WLANで接続されている環境ならローカルなチャネルを含めいろいろなテレビが見れラジオが聞ける。NHKがNHK青森で、かつパスワードロックされているのは残念。3Gでもそこそこ見れる。
- 5- Row QWERTY Keyboardを導入(とよしんさんのサイト http://toysn.blog103.fc2.com/blog-entry-558.html を参考に、Macからscp file root@ipaddress:/ で転送して、sshでmv /hk*.dev .をして debファイルの展開は、dpkg -i [debファイル名]でやった。
設定は、設定-> iKeyExからMix and matchで、Layoutから 5-Row Dvorakを指定して、5-Row QWERTYの名前でmakeすると、iKeyExのキーボードの選択でこれが選べるようになる。
これをインストールすると、標準キーボードでは表示されない、ESCや矢印キーも表示されるようになり、vim (vi improved)をMobileTerminalから使うときなどに便利である。どんな感じになるのか、この記事の末尾にスクリーンショットを貼っておく。
iKeyExも、5-Row QWERTYもCydiaで更新版が出ているようであり、Dvorakを書き換える手法以外のインストール手法があるのかもしれない。
- CidyaからEmoti Keyboardをinstall。パソコンで文字化けしない絵文字のkeyboard emotiをiKeyExから選べる。入力の再のキーボード切り替えが増えるので、インストールしたが、設定で、キーボードとしては選択していない。
- SysInfoPlus (netstat,process等いろいろな情報が表示されるこれはいい)
- Cydiaからlessをinstall (more にもsymlinkはられる)
- SSHから入り、vim で/etc/passwd と/etc/master.passwdを編集し新ユーザ xxxx を作って、xxxx 以外からのsshを禁止とする。xxxxのgroupIDはmobileと一緒にして、homeは、/var/mobile/xxxx とした。
vim /etc/ssh/sshd_config をして、最後の行の後に以下の4行を追加。
AllowUsers xxxx@192.168.0.*
AllowUsers xxxx@192.168.1.*
AllowUsers xxxx@192.168.11.*
AllowUsers xxxx@127.0.0.1
これで、lan,USBからの ユーザ xxxx のログインしか受け付けないのを確認。ワームは、root, mobileのユーザ名でport番号をいろいろ変えつつ攻撃を仕掛けてくるので、passwdもかえてあるので、これで安全性はずいぶんあがる。
macからだと、ssh -l xxxx [iPhoneのipアドレス] でloginして、rootになりたければ、そこからsu -l
をすればよい。また、通常は、SBsettingでSSHをoffにしておくので相当安全なはず。mobileのhomeのパーミッションを775に変えるとともに、/var/mobileの下にowner xxxxでxxxxのhomeも作った。 - CydiaからBackgrouderをインストール。アプリの動作中にhomeボタンを長押しするとbackground実行の有効/無効がアプリ毎に切り替わる。標準的にbackgroundで動いているdockのアプリは、homeボタン長押しでは音声入力になりbackgroundの無効化はできない。有効にしておくと、ホームボタンを押してアプリを終了しても、アプリは裏で動いているので、radioなら再生が続くし、そうでないアプリでも次に起動したときに続きから始まる。twitterを書きかけて、電話帳をチェックにいったりということができて便利。バッジの表示をonにしておくと、どのアプリがbackgroundで動いているのかも分かる。
- http://amecoro.seesaa.net/article/123280811.htmlをみて、
http://ipod-touch-max.ru/cydia/index.php?cat=category&id=9 から、libgccをダウンロードし、iPhoneにscpして、dpkg --install [debファイル名] でlibgccをインストール。 - CydiaからGNU C Compiler, iPhone ToolChain2.0, wgetをインストール。
- http://iphone.goodegg.jp/archives/3055 をみつつ、Lha for linuxのセルフコンパイルを試す。上記webサイトと違うところでエラーを起こしている。gccがリンクしている libSystem.dylibがないのが原因らしい。gcc -c でobjectを作るところまでなら問題はない。そもそもdpkgで導入したlibgccにこのライブラリがなかったのかもしれない。
Cigwinでクロス環境を作っている以下のサイトをあたってみたが、libSystem.B.dylibも存在しない。http://blog.makotokw.com/2009/03/19/windowscygwiniphoneipod_touch_1/ - Snappy ($1.99)有料だ。amazon.comにアカウントを作って購入。アマゾンのアカウントに購入履歴が残るらしく、restoreしても再購入は必要なし。一応$20までを上限に、ワンクリック購入できるようにしておいた。設定にActivatorのmenuができるので、Status barをholdで、静止画カメラ起動にした。backgrounderで設定する必要はなし。lock screenやアプリ起動中でもカメラが起動でき、homeボタンで元のアプリに戻れる。これは便利。
- iPhone用VNCサーバ Veencyと、Veency用SBSsettingToggleを導入。
- YourTube ($2.00)をCydiaから導入。You Tubeの、その他メニューにdownloadがでる。低解像は、画質が極めて悪いので高解像でダウンロードする。ダウンロードしたリストを長押しすると、ファイルを消去できる。後で気づいたが、同じくYou Tubeでダウンロードを可能にするソフトのMxTubeは無料らしい。
- CydiaからSpringBoardのアイコン配置をバックアップするSpringBackを導入。(無料)
http://toysn.blog103.fc2.com/blog-entry-437.html に説明あり。 - SpringBackのバックアップファイルを見るためにCydiaからiFileを導入。まずは無料で。
$4.00払うと、機能が追加される。これについては、以下のリンクに詳しい。http://ataichiranai.wordpress.com/2009/10/22/ifile1101/
保存されてない人は、将来3.1.2よりあげてしまったあとにOSを戻すbackdoorとして、SHSHを保存しておくために、ハートマークの依頼(一旦保存すると、以降は上の写真のように、このメッセージは現れません。)に従いbackupしましょう。
これら脱獄アプリは、SBsettingのDockに入れて、SpringBoardには表示していない。(下のスクリーンショット)
BaseBand 05.11.07のunlockは、現状、blacksn0wでしかできないが、これは、WLAN をつかめなくなったり、networkのresetで、リセットの無限ループに陥ったりするので、使いたくない。Dev Team Blogに、05.11.07のunlock toolの開発を依頼するコメントを残したが、「対応しないblacksn0wを使え」という回答があった。Geohotのblogにblacksn0wの問題を書いておいた。