You can read this blog in any language using google translate as follows:

Goto http://translate.google.com/
Paste URL in the box and select "Japanese for From Language" and "To Language". Then click "Translate".

English translated pages are here:
http://bit.ly/xPuXoy

你可以閱讀這個博客,在任何使用“Google”的語言翻譯

本ブログのアクセス統計: 60万アクセスを達成しました。ご訪問ありがとうございました。

60万アクセスまでの経過

2009年12月に始めた本blog。2011年7月ごろに10万アクセスを達成し、2011年12月13日には15万アクセスを達成。
その後、私も更新しておらず、アクセスは少し減りましたが、3月1日には18万アクセス。2012/4/18に20万アクセス、2012/8/21に25万アクセス、2013/1/18に30万アクセス、2013/12/17に40万アクセスを達成しました。しばらく見ていなかったら、2015/5/1に50万2584アクセスになっていました。またまた、しばらく更新しないうちに、2017/6/11に60万7197アクセスになっていました。2018/7/7 .. おお七夕 .. には63万0656アクセスになっていました。久しぶりに更新しました。

2010年2月12日金曜日

Pwnage 3.1.5で再脱獄してから入れたソフト

Softbankショップで交換してもらった2009/46週品のiPhone 3GS 32GBが、ネットワーク設定のリセットで壊れた(無限リセットループに入った)ので再脱獄した。情報を以下にまとめる。
  • 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に書いたとおり) 
脱獄後にいれたアプリは以下の通り。入れた順番は一部違うが大体この通り。

  1. Pwnage 3.1.5で脱獄、root パーティションを1.5Gに設定  Pwnageは、expert modeで、やり方は、http://toysn.blog103.fc2.com/blog-entry-636.html を参照。





  2. Cydiaを起動。Developper (no-filter)を指定。Update Essentialを指定。3.1.2のSHSHが保存されていることをステータスバーの下にあるコメントで確認。下の写真のHome-Cydiaのバーの下の緑の小さい文字がそれ。
  3. 保存されてない人は、将来3.1.2よりあげてしまったあとにOSを戻すbackdoorとして、SHSHを保存しておくために、ハートマークの依頼(一旦保存すると、以降は上の写真のように、このメッセージは現れません。)に従いbackupしましょう。
  4. CydiaからAptBackupを導入した。非公式アプリをiTunesからリストアしようとしたが、何も起こらず。
  5. CydiaからランチャーアプリSBSettingsをインストール。設定。脱獄アプリは、SBsettingのDockにいれることにする。脱獄アプリを入れた後のSBSettingの設定画面は以下のような感じ。





  6. OpenSSH, MobileTerminalを導入。前回の脱獄と家庭内WLAN IPが同じなので、macのsshからloginできず。~/.ssh/known_hosts を消して、SSHすればOK。早速アカウント、rootとmoblileのパスワード変更。今度は、素直にSBsettingでSSHのon/offができる。
  7. CydiaからSyslog Toggleをインストール。これでSBsettingからsyslogのトグル、SBsettingのボタンんの長押しでログファイルのサイズ表示、消去ができる。log fileは、/var/log/syslog。
  8. デザリングを有効化。http://freeek.jp/blog/iphone/1256/ のほうが簡単でssh,scpいらず。cydiaからinstallして、URLをクリックするだけ。簡単。成功。(前回のやり方はhttp://freeek.jp/blog/iphone/1131/)こっちのCommcenterのほうが、テザリング中のStatus bar表示がかっこいい気がする。
  9. 今回は、不安定化を避けて、Blacksn0wでのSIM Unlockは、本当に必要になるまでやらないことにした。
    Cydiaのmanage->source->edit->Addからwww.blackra1n.com をリポジトリにだけ追加。
  10. CydiaからQuickScroll 2を導入。タップするとスクロールバーが画面の右横や下にあらわれ、スワイプするより高速にスクロールできる。ただし、シングルタップで起動にすると、スクロールバーの位置にボタンがあるアプリ(ToDoなど)では、スクロールバーと重なり、ボタンが押せなくなる。設定を変えてtwo fingerタップにしたらこの問題は生じなくなったが、two finger タップとして認識されないことがあり、ちょっと不便。
  11. Cydiaからvim (VI IMproved) 7.1.3を導入。cydiaでinstallしただけで、rehashしなくてもMobileTerminalからvimで起動できた。MobileTerminalからでは使いにくいが、SSHでkeyboardからなら使える。
  12. terminalやSSHのログインプロンプトが長すぎるので、/etc/profileのPS1 を修正。sshで入り、vimで修正。
  13. Cydiaのリポジトリにhttp://homepage3.nifty.com/moyashi/cydia/ を追加し、StatusBarCustomClock を導入。これで、ステータスバーの時間に加えて、日付と曜日も表示される。StatusBarDateをoffにして、元通りの時計表示だけにするには、SBsetting->more->Mobile Substrate Addons
    からStatusBarCustomClockをoffにして、SBsettingからRespringすればよい。
  14. Cydiaのリポジトリにhttp://david.ashman.com/apt/を追加し、WeatherIconで、天気iconに実際の気温を表示。ただし、実際の天候は反映されずいつも晴れのままだ。
  15. CydiaからRotation Inhibitorを導入。寝転がって、Safariをやるとき、横画面に切り替わってうっとおしかったのが、解決。
  16. Cydiaからafc2addをinstall。iPhoneをreboot。i-FunBoxから、root (Raw ファイルシステム)にアクセスできるようになった。
  17. リポジトリ http://homepage3.nifty.com/moyashi/cydia/ を登録し、PasteboardStacker をインストール。copyを複数しておいて、ペースト時に項目から選択できる。便利。便利。copyをstackできるヒストリの個数は、設定->PastboardStackerから変えられる。最低で20個。最大で100個。ペーストしたいときに日付のところをダブルタップするとペーストにどのstackを使うかの選択画面があらわれる、このスクリーンショットを以下に示す。ヒストリ数が20からなのでリストは上下にスクロールする。


  18. CydiaからAppLinksを導入し実行。記号の羅列になっているAppStoreの公式アプリのディレクトリに対し/var/mobile/AppLinksから、*.appというファイル名でリンクが張られ、公式アプリの散策がしやすくなった。
  19. #12のリポジトリにあるRecSoundToggle をinstall。カメラ、ビデオ、録音の際のサウンドをSBsettingからon off。やっていることはUISoundsにrecsoundtoggleというdirectoryを掘って、そこに正規のサウンドを保存した上で、silence.cafという無音ファイルで書き換えている模様。
  20. 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にしている。
  21. リポジトリ: http://cydia.hackulo.us/ を追加: AppSync for OS 3.1: Apple否認可のアプリをインストールすることが出来る。実績のあるi-keyHoleTVをinstallするのにとどめる。
  22. iTunesにバックアップしてあったi-keyHoleTVを転送。#20がないと、否認可アプリということで、転送に失敗する。本体ファイル「i-KeyHoleTV.ipa」 のダウンロードと、iTuneへのinstall方法は、http://iphone.zic.jp/?p=3287 を参照。これで、外付けのワンセグチューナーを使わずに3G/Wifi回線でテレビ視聴が可能に。ワンセグに比べると高圧縮なのか画像にブロッキングノイズが出たり、画像が止まったり若干醜いところもあるが、WLANで接続されている環境ならローカルなチャネルを含めいろいろなテレビが見れラジオが聞ける。NHKがNHK青森で、かつパスワードロックされているのは残念。3Gでもそこそこ見れる。
  23. 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を書き換える手法以外のインストール手法があるのかもしれない。




    5-Row QWERTY Keyboard のスクリーンショット

    標準            シフト時


    123を押した後                     #+=を押した後
    ABCを押すと標準に戻る。


  24. CidyaからEmoti Keyboardをinstall。パソコンで文字化けしない絵文字のkeyboard emotiをiKeyExから選べる。入力の再のキーボード切り替えが増えるので、インストールしたが、設定で、キーボードとしては選択していない。
  25. SysInfoPlus (netstat,process等いろいろな情報が表示されるこれはいい)
  26. Cydiaからlessをinstall (more にもsymlinkはられる)
  27. 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も作った。
  28. CydiaからBackgrouderをインストール。アプリの動作中にhomeボタンを長押しするとbackground実行の有効/無効がアプリ毎に切り替わる。標準的にbackgroundで動いているdockのアプリは、homeボタン長押しでは音声入力になりbackgroundの無効化はできない。有効にしておくと、ホームボタンを押してアプリを終了しても、アプリは裏で動いているので、radioなら再生が続くし、そうでないアプリでも次に起動したときに続きから始まる。twitterを書きかけて、電話帳をチェックにいったりということができて便利。バッジの表示をonにしておくと、どのアプリがbackgroundで動いているのかも分かる。
  29. 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をインストール。
  30. CydiaからGNU C Compiler, iPhone ToolChain2.0, wgetをインストール。
  31.  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/
  32. Snappy ($1.99)有料だ。amazon.comにアカウントを作って購入。アマゾンのアカウントに購入履歴が残るらしく、restoreしても再購入は必要なし。一応$20までを上限に、ワンクリック購入できるようにしておいた。設定にActivatorのmenuができるので、Status barをholdで、静止画カメラ起動にした。backgrounderで設定する必要はなし。lock screenやアプリ起動中でもカメラが起動でき、homeボタンで元のアプリに戻れる。これは便利。
  33. iPhone用VNCサーバ Veencyと、Veency用SBSsettingToggleを導入。
  34. YourTube ($2.00)をCydiaから導入。You Tubeの、その他メニューにdownloadがでる。低解像は、画質が極めて悪いので高解像でダウンロードする。ダウンロードしたリストを長押しすると、ファイルを消去できる。後で気づいたが、同じくYou Tubeでダウンロードを可能にするソフトのMxTubeは無料らしい。
  35. CydiaからSpringBoardのアイコン配置をバックアップするSpringBackを導入。(無料)
    http://toysn.blog103.fc2.com/blog-entry-437.html に説明あり。
  36. SpringBackのバックアップファイルを見るためにCydiaからiFileを導入。まずは無料で。
    $4.00払うと、機能が追加される。これについては、以下のリンクに詳しい。http://ataichiranai.wordpress.com/2009/10/22/ifile1101/
http://ameblo.jp/hustler4life/entry-10428875548.html にいろいろな情報あるので、おいおい追加する予定。

これら脱獄アプリは、SBsettingのDockに入れて、SpringBoardには表示していない。(下のスクリーンショット)


BaseBand 05.11.07のunlockは、現状、blacksn0wでしかできないが、これは、WLAN をつかめなくなったり、networkのresetで、リセットの無限ループに陥ったりするので、使いたくない。Dev Team Blogに、05.11.07のunlock toolの開発を依頼するコメントを残したが、「対応しないblacksn0wを使え」という回答があった。Geohotのblogにblacksn0wの問題を書いておいた。

Pwnage 3.1.5で再度重ねがき脱獄して正常動作

MacBookPro OS10.6のiTune9.0.2でPwnage 3.1.5を用いて重ねがき脱獄をした。
保存してあったOS 3.1.2の標準firmwareを指定。root partitionを1.5GBにしたところ、脱獄状態でrootに1GBの空きができた。これで、gcc, iPhone開発ツールなどをinstallしても十分足りる。

やりかたの詳細は、とよしんさんのblogにでている。
http://toysn.blog103.fc2.com/blog-entry-636.html 

Pwnageを使ったことがあるかでは、怪しいときはNoにしろとあるのでNoを選択。sleep modeのiPhoneを接続したら、すこし準備作業をして、無事recoveryモードに入った。

通常iTuneでは最新Firmware 3.1.3以外はinstallできないように認証しているが、Pwnageでは
それは行われずOS 3.1.2のCFWにリカバリできる。Pwnageで、iTuneを書き換えて、Appleに確認に行かないようにしているのではないかと思われる。これで、どんなにfirmwareがあがっても
iTuneを更新しないで、かつOS3.1.2のオリジナルfirmwareを保存してある限り、OS 3.1.2を保ったまま脱獄できる。念のため各所にOS3.1.2のオリジナルfirmwareとiTune9.0.2とPwnage 3.1.5のinstall imageを保存しておいた。これで、一安心である。とよしんさんは、iTune9.0.3で成功しているので、これもインストールイメージをダウンロードだけしておいた。

今度は、SBsettingでのSSHのトグルも問題なし。
入れたツールは、2010年1月25日投稿を書き直して、再度投稿する。
Blacksn0wでは、networkがつかめなくなったり、network設定のリセットで、リブートが
無限ループに入ったりするので、今回は、Blacksn0wは除いてinstallした。
NoCyfreshは、2度重ねて入れなおしたが、これは効いていない。他は、うまく設定できている。

脱獄して、復元しようとするとiTuneのライブラリで毎度音楽の前に!がついて音楽が転送されなくなる。下矢印キーと、リターンキーで、次々再生していけば、ライブラリは復活するが、ライブラリが多いので時間がかなりかかる。また、ムービーも全部びっくりマークがついていて転送されなかった。いずれも少し再生したらびっくりマークは消え、転送できるようになった。最初はいくつかのアプリもビックリマークがついて見えなくなっていた。これも、iTunesのアプリ一覧にいき、リターンをいれたら直った。が、今度は、ほとんどのアプリが2個づつになった、サイズも2つで違ったりしている。なんだろう。iTuneのアプリの一覧を、リスト表示にして、追加日、更新日等を表示して古いと思われる方を消したら、1つずつに回復。日付、サイズだけでは怪しいものもあったが、間違った方を消そうとすると、dialog boxがでてくるようなので、そうならないほうを消せばいいようだ。これで、アプリ一覧の重複もなくなった。

2010年2月10日水曜日

Pwnage 3.1.5でCFWを作り、復元に成功

 http://toysn.blog103.fc2.com/blog-entry-633.html を見つつ、ローカルに保存してあった正規FW
を指定しての iTune9でのOS3.1.2へのリカバリはうまくいかなかった。
 redsn0w 3.1.2対応版 (0.9.2)でCFWを作り復元したところ、ベースバンドのリセットは解除されず、
リセットが永遠に続く状態のまま。ただし、redsn0wで起動時にlogを表示させる設定にしたのは便利で、3GとWLANをリセットしようとしてhaltし、Nand Flash から復元を試み、fsckでファイルシステムのチェックをしてエラーを報告したあと、しばらくして暴走していることがわかった。

Pwnage 3.1.5でOS 3.1.2からCFWを作り、OS3.1.2,ベースバンド05.11.7に復元しつつ
JBに成功しました。最後にiPhoneが自動でリカバリモードに入れなかったし、手でiPhoneをリカバリモードにしてから接続し直しても認識されなかったので、これはあきらめて終了し、iTune9.0.2からCFWを指定して復元をしたのですが、問題なく復元できました。
Sim unlockはされていなかったので、凝りもせず、レポジトリにblackra1n.comを
追加してblacksn0wでunlockし、DoCoMo SIMでの通話に成功しました。Wlan,3Gの認識にはいまのところ問題ないようです。今度は、通信設定をリセットしないようにします。これを機にroot partitionを1.5GBにしたので、あとでselfcompile kitなどを導入しようかと思います。Cydiaに3.1.2のECIDのbackupが保存されていることも確認しました。
OpenSSHを追加したのに、SBsettingでのSSHのトグル(moreで設定しても)が表示されず、
SSHはoffのまま、とか、AptBackupで復元をやっても何も変わらないとか、iTuneにbackupしたファイルの最近のものは壊れているので、Timemachineから古いbackupデータを持ってくると、つけた覚えのないpasswdがかかっていて、Manifest.plistで無理やり暗号化をoffにしてもデータの復元に失敗したりと若干問題はあるようです。

2010年2月9日火曜日

設定からのネットワークリセットは絶対ダメ

Blackra1nで脱獄し、Blacksn0wでunlockしている場合は、
絶対に、システム設定->一般->ネットワーク設定のリセットをしてはだめ
rebootできなくなり、resetを延々くりかえす羽目になる。。recovery mode loopというらしい....

redsn0wでカスタムfwを注入することはできたが、basebandはupdateしていないのか、状況は改善されない。
iTune 8.xやiTune9で3.1.2へのrestoreを試みるがappleに確認にいって、このfirmwareは対応外だといってけられる。
いまのところ、3.1.2、モデム 05.11.07に戻す方法は、見つかっていない。
そもそもリセットしたのは、i-keyHoleTVをインストールしたら、自宅WLANをつかめなくなったためで、3Gや別のwlanはつかめていたので、ネットワーク設定のリセット以外の方法を試すべきだった。

2010年2月8日月曜日

Dev TeamからPwnageTool3.1.5がリリースされた

日曜にDev TeamからOS 3.1.3用のjailbreakツールPwnageTool 3.1.5がリリースされた。動作環境はMac OS-Xのみ。ただし、officialな3.1.3にあげてからだとunlockはできない。PwnageToolはbasebandを05.11.07にkeepするのでultrasn0wを使ってunlockができるようである。

2010年2月4日木曜日

新たなjailbreakの方法?

Appleによって、jailbreak(脱獄)に使われる既知のexploit(抜け穴)がどんどんふさがれている。
つぎのようなやり方はできないものだろうか?
  1. 起動時にSHA-1ハードウエアによる認証(シグネチャチェック)をしているのは、/ partitionのみと思われる。/private/var は、user mobileのルートでもあり、追加アプリや音楽がおかれているので、ここは認証対象にはできないはずである。
  2. そこで、/ partitionには、bootに必要な最低限のもののみをおき、他のファイルやdirectoryを/private/varの下に移し、/からはsymbolic linkをはる。これにより、/からは、脱獄したあとに変更必要なものがほとんどなくなるはずである。
  3. unixと/のイメージに対して、正規の認証を行い。iTune等で正規のOSとして書き込む。どうじに、改造した/private/varも書き込む。問題は、unixと/のイメージに対して正規の認証を行う鍵の入手である。これは、unixと/からなるイメージに対して、順番にいろいろなSHA-1の鍵を選んで、iPhoneのSHA-1ハードウエアで実験するスクリプトを作成し、OKとでるものを探す方法がありそう。SHA-1のシグネチャは、160bitなので、ある程度あてをつけてやらないと、途方もない時間がかかる可能性はある。SHA-1の脆弱性は各所で報告されているので、解読の仕方で効率のいいものがあるかもしれない。たとえば、チェックをする対象をallゼロとか、all 1とかいろいろなものを選んで、予測するとか。。
  4. openibootをみると、SHA-1のアルゴリズムは、公開されているようであり、keyは特に無いようである。だとすると、認証されたコードを作成するのは簡単に思える。
http://theiphonewiki.com/wiki/index.php?title=IPSW_File_Format  などに、jailbreakに関する各種情報が出ている。
これをみると、面倒なことをしなくてもほしい版のfirmwareのipswのextensionを.zipに変えてunzipすれば iBEC.n88ap.RELEASE.dfuや iBSS.n88ap.RELEASE.dfuを手に入れることができることがわかる。
kernelのイメージはどれなのだろう。

iPhone OS 3.1.3 とiTune 9.0.3がリリースされた

iPhone OS 3.1.3 とiTune 9.0.3がリリースされた。
これまでjailbreakに利用されてきたusb_control_msgのバグが塞がれている模様。
3GSは、jailbreakできなくなる。
iPhone 3Gでは、とよしんさんが、iPhone 3G/3.1.3をredsn0w 0.9.2でjailbreakに成功している。
basebandも(05.12.01)に上がり3Gでも3GSでもSIM unlockできなくなる。
ということで、iTuneは、9.02.25のまま維持。iPhone 3GSも3.1.2のままキープすることにする。
詳しくは、「をぢの日記」 を。

また、以下によるとiTune 9.0.3にあげてもjailbreakには影響しない模様。9.0.3での新機能
も紹介されている。

http://www.sinfuliphone.com/showthread.php?t=12619