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年1月28日木曜日

勝手アクセスポイントを作成

使用していなかったUSB接続のwlanアダプタで、ad hocモードでの勝手アクセスポイントを設定。

http://knyijong.blogspot.com/2009/08/iphonewi-fi.html
http://dynabook.com/assistpc/faq/pcdata/003341.htm
または、http://www.nccl.sony.co.jp/howto/bible01/10/index.html

にしたがっていろいろ設定しているうちにできた。
iPhoneのipaddressは、静的で192.168.0.xxに割り付けた。
ttsshがふるくてSSH接続できなかったので、Teraterm v4.64に上げたら接続できた。

wlanアダプタのドライバをインストールしたら、接続のサプリカントプログラムが自動起動されるようになった。これが立ち上がるのをmsconfigを起動して止め、windowsXPのnetwork設定から設定するようにした。

母艦のPCとのinternet接続の共有は以下のようにして成功した。
  1. 母艦が、インターネットに接続しているローカルエリア接続を右クリックして、プロパティを表示。
  2. 詳細設定タブから、ネットワークのほかのユーザにこのインターネット接続を通して接続を許可するにクリック、ネットワークのほかのユーザに制御や無効化を許可するにもクリック。
  3. インターネットアドレスが192.168.0.1になるがいいかと質問されるので、OKをクリック。これは、ややわかりにくいが、WLANから母艦が192.168.0.1に見えるということらしい。
  4. iPhoneから静的アドレスで、同じネットマスクのアドレスとして192.168.0.xxを指定。ネットマスクを255.255.255.0に設定。
  5. DNSとname severには母艦である192.168.0.1を指定。
  6. これで、母艦からは今までどおり外部のwebが見えていることを確認。
  7. proxyは、母艦と同じ設定。今回は、proxyサーバの自動設定ファイルを指定。
  8. iPhoneで、SBSettingで3Gをoffにしても、外部のwebが見えることを確認。
  9. iPhoneの無線LANマークが無事に点灯していることを確認。
  10. SSHからもlogin可能であることを確認。ただし、iPhoneからnetstatを起動すると192.168.1.yy だった昔のsshコネクションもそのまま存在している。 SBSettingで、SSHをいったんoffにしているが残っているので、rebootしないとだめか?
  11. cydiaから、syslog Togglesを導入。SBSettingから、syslogのon/offができる。とられるlog fileは、SBSettingのsyslogボタンを長押しすると表示される。
    http://www.ipoday.net/ipodtouch_applications/syslog.html
  12. /var/log/syslog/syslogをみると、203.141.149.82がport 7344で、ssh loginを何度も試みている。webで調べてもこのIPは特に記載がない。passwdはデフォルトのalpineから変えてあるものの若干心配なので、/etc/ssh/sshd_configに、次の3行を加えて、intranetとUSB以外からのSSH接続を受け付けないようにした。さらに、念のためSSHを使わないときは、SBSettingからSSHを止めるようにすることにする。以下1が家庭内Lan, 2が勝手アクセスポイント、3がUSB Tonnelingの許可である。これで3Gからの攻撃に対しては安全なはずである。
    http://www14.plala.or.jp/campus-note/vine_linux/server_ssh/ssh_filter.html に関連情報
    http://iphone.goodegg.jp/archives/3971 変更後のサービスの再起動法はこちら
    1. AllowUsers *@192.168.1.*
    2. AllowUsers *@192.168.0.1
    3. AllowUsers *@127.0.0.1 
  13.  

2010年1月25日月曜日

Blackra1nで紐付きでない脱獄に成功

Softbankショップで交換してもらった2009/46週品のiPhone 3GS 32GBで、紐付きでない脱獄(untethered jailbreak)に成功。どうやら、交換用の茶色の箱に入ったiPhoneには、40週以降のものであっても、まだ脱獄未対策(24kpwn温存)のものが含まれているようである。(もっと早く試せばよかった)。ちなみに脱獄に成功したiPhoneのOSは3.1.2(7D11), モデムは05.11.07

脱獄にはBlackra1n RC3を用いた。3GもWLANもonにしたまま、単にmake it rainとやったところ、Wlanの不具合も、3Gの不具合もなくすんなりと脱獄成功。

脱獄後にいれたアプリは以下の通り。入れた順番もこの通り、おいおい、それぞれの手順を説明していきたい。

  1. Blackra1nで脱獄
  2. Blackra1nを起動。cydiaだけを指定。cydiaだけ指定でも後でレポジトリを追加すればよい。全部指定するとうまくいかないこともあるらしく、cydiaだけで十分。
  3. ランチャーアプリSBSettingsをインストール。設定。
  4. SIM unlockしようと思い、icyを追加。(後に、blacksn0wを起動しないとだめなことを思い出す) 
  5. OpenSSH, MobileTerminalを導入。古いiPhoneと家庭内WLAN IPを同じにしたので、macのsshからloginできず。(をじ)のサイトで対策発見。早速アカウント、rootとmoblileのパスワード変更。
  6. Macからsshで入り、カメラ音ファイルをrenameし、カメラ音消す。
  7. デザリングを有効化。
    (とよしんさんの、サイトを参考に、Macからsshとscpを用いて作業)
    http://freeek.jp/blog/iphone/1256/ のやり方で簡単にできるらしい。後で試す。
  8. AptBackupを導入し、非公式アプリをiTunesにbackup
  9. 5- Row QWERTY Keyboardを導入(とよしんさんのサイト http://toysn.blog103.fc2.com/blog-entry-558.htmlを参考に、Macからsshとscpを用いて作業, debの展開は、dpkg -i [debファイル名]でやった。エラーメッセージがでているが気にしないで進めてOKだった。)
    設定->iKeyExからMix and matchで、Layoutから 5-Row Dvorakを指定して、5-Row QWERTYの名前でmakeすると、iKeyExのキーボードの選択でこれが選べるようになる。 
  10. CidyaからEmoti Keyboardをinstall。パソコンで文字化けしない絵文字のkeyboard emotiをiKeyExから選べる。
  11. QuickScroll 2を導入
  12. Cydiaのリポジトリにhttp://homepage3.nifty.com/moyashi/cydia/を追加し、StatusBarCustomClock を導入。これで、ステータスバーの時間に加えて、日付と曜日も表示 
  13. Cydiaのリポジトリにhttp://david.ashman.com/apt/を追加し、WeatherIconで、天気iconに実際の天気と気温を表示
  14. iPhone用VNCサーバ Veencyと、Veency用SBSsettingを導入。反応が鈍くて使いにくい。
  15. 先ほど導入したAptBackupでiTunesに非公認アプリをバックアップ。
  16. Cydiaのmanage->source->edit->Addからwww.blackra1n.com をリポジトリを追加して、Blacksn0wをインストール。 モデム05.11.07のunlockに成功。NTTドコモのSIMを認識。AUのWINは外形状は同じだがSIMではなく、UIMというらしく認識できなかった。
  17. terminalやSSHのログインプロンプトが長すぎるので、/etc/profileのPS1 を修正。viがないので、scpでコピーしてmacの上でedit
  18. Cydiaからvim (VI IMproved) 7.1.3を導入。cydiaでinstallしただけで、rehashしなくてもMobileTerminalからvimで起動できた。MobileTerminalからでは使いにくいが、SSHでkeyboardからなら使える環境が整いつつある。 vimだけで2.3MBくらいあるが、まだシステムパーティションには240MBくらい空きがあるので問題ないだろう。
  19. CydiaからRotation Inhibitorを導入。寝転がって、Safariをやるとき、横画面に切り替わってうっとおしかったのが、解決。 
  20. Cydiaからafc2addをinstall。iPhoneをreboot。i-FunBoxから、root (Raw ファイルシステム)にアクセスできるようになった。 
  21. CydiaからAppLinksを導入し実行。記号の羅列になっているAppStoreの公式アプリのディレクトリに対し/var/mobile/AppLinksから、*.appというファイル名でリンクが張られ、公式アプリの散策がしやすくなった。
  22. リポジトリ http://homepage3.nifty.com/moyashi/cydia/ を登録し、PasteboardStacker をインストール。copyを複数しておいて、ペースト時に項目から選択できる。便利。便利。
    http://blog.wiredeffect.com/archives/836 
  23. #21のリポジトリにある、RecSoundToggle をinstall。カメラ、ビデオ、録音の際のサウンドをSBsettingからon off。やっていることはUISoundsにrecsoundtoggleというdirectoryを掘って、そこに正規のサウンドを保存した上で、silence.cafという無音ファイルで書き換えている模様。 
  24.  NoCyfresh
     Cydiaのauto refreshを制御。SBSettingsトグル - respringしてもSBSにトグルが表示されない。。。。
  25. AppSync for OS 3.1
    Apple否認可のアプリをインストールすることが出来る。DFUモードにする必要があるかも、と警告されるので、実績のあるi-keyHoleTVをinstallするにとどめる。
      リポジトリ: http://cydia.hackulo.us/ からダウンロードできた。
  26. i-keyHoleTV
     ワンセグチューナー等を使わずに3G/Wifi回線でテレビ視聴が可能に。
    http://iphone.zic.jp/?p=3287 に設定方法ある。これから試す。 
http://ameblo.jp/hustler4life/entry-10428875548.html にいろいろな情報あるので、おいおい追加する予定。

ARM cc等のstandaloneの開発環境をiphoneのtreeに入れようと思う。/private/varの下なら、19GBくらい空いているのでいいが、/ (system partition)に入るとしたら、ここは240MBくらいしか空きがないので、90MB近くある開発環境をいれるのは、ちょっと考え物。partitionを切りなおすツールがないか、moveしてsymlinkを張ればいいかもしれない。

また、自宅外のPC(win)とadhoc接続して、 ttsshでiphoneに入れるようにしようと思って、USB WLANからadhoc接続に成功。PCをgate wayとして動かす設定はできていないが、sshにloginできるようになった。ただし、iPhone上は、なぜかwlanの表示はされず、3Gの文字のまま。

iPhoneを交換したら、自作アプリを実行できなくなった

iPhoneが、USBを認識しなくなり、充電もRecoveryもできなくなったので、Softbank shopにもっていったら、交換してもらえた。

交換後は、以前の2009/47週品 から1週間だけ若くなり46週品になった。
ところが、この交換品は、24kwpnが保存された脱獄対策前のROMが搭載されていたようで、
後日blackra1nしてみると、紐付きでない脱獄に成功した。

iPhoneを交換したので、develperのceritificateにこのデバイスを追加しないと、iPhoneでアプリが実行できなくなった。

2010年1月22日金曜日

iPhoneの脱獄について

http://theiphonewiki.com/wiki/index.php?title=Main_Page

に、iPhoneのbootの仕組みや、脱獄に使われる24kpwnやusb_control_msg(0x21, 2) などが紹介されている。これによると、紐付きでない脱獄(untethered jailbrake)では、24kpwnを用いてbootROMによるコード認証をスキップしなければならない。現在も温存されておりGeenpois0nが用いようとしているusb_control_msg では、usbをつないでいれば任意のコードの実行はできるものの、untetheredの状態でコード認証のスキップする目的には使いようがないように思われる。usb_control_msgは、blackra1nも用いているようであり、tethered jailbreakでrecovery modeをすっ飛ばすのに、これが用いられるのではないかと思う。24kpwnがふさがれた、2009/10月以降のiPhoneで、紐付きでないuntetheredな脱獄をするためには、新たな抜け道(exploit)の発見が必要になるのではなかろうか。

コード認証は、SHA-1アルゴリズムでコードから認証シグネチャを取り出す部分が、hardware実装されている。このハードを用いて脱獄後のコードに対するシグネチャを生成するか、もしくは、改造したiBootを注入して、コードに対するシグネチャチェックをスキップさせないとならない。iBoot自体は暗号化されて格納されているようなので、後者の改造版iBootの注入は容易ではないと思われる。

2010年1月14日木曜日

ヒモ付き脱獄用のドングル

Blackra1nの開発者、Geohot君がtwitterで、紐付き脱獄(tethered Jailbreak)して、外出先でrebootするはめになったときのための、ドングル(小さなデバイス)の需要があるようなら、開発するよと、1/12日につぶやいていた。
私は、Blackra1nを用いたrebootに3回失敗しているので、Greenpois0nの目指す、紐付きでない脱獄に期待している。特に、WLANがつかめなくなってnetworkをリセットしたときに、blackra1nしてもrecovery modeから抜け出せなくなったことが2度もある。Geohot君のtwittに、これを直してほしいと依頼したが、返事がない。

Geohot君のblog ( http://geohotps3.blogspot.com/ )を見るとは、PS3で非公認アプリを走らせるためのHW改造に没頭しているようで、Xilinx Spartanなどの廉価FPGAをいじっているようである。先のドングル話は、こういったFPGA工作に絡んででてきたものだろう。PS3に興味がいっているようなので、しばらくは、iPhone系の開発には戻ってこないだろう。。

ただ、Geohot君のドングルがどんなものになるのかにも、すこし興味はある。

2010年1月12日火曜日

iPhoneのヘッドセットをいろいろ試してみた

iPhone 3GSについてくるヘッドセットが耳からすぐに外れてしまうので、いろいろなヘッドセットを購入して試してみた。結論からいうと、以下の3にある、100円ショップのヘッドフォンカバーをかぶせて、標準についてきたヘッドセットに落ち着いている。
  1.  audio-technica iPhone/iPod専用インナーイヤーヘッドホン ATH-CK300i WH - 2,682円
  2.  ティアック KOSS iPhone 3G用イヤフォンマイク i SPARK - 3,980円
  3.  スポンジ製の「イヤフォンクッションパッド」 10個入り - 105円
1,2の値段はAmazon.co.jpでの価格である。3は、西武新宿駅PePe内の100円ショップキャンドウでの価格である。
 1は、耳へのフィット感もあまりよくないうえに、音質も低域の厚みがなくいまいち。リモコンボリュームはアナログのスライド式で本体音量を下げる方向にしか働かない。リモコンが大きくて邪魔、ボタンが小さく探しにくいわりに、ヘッドフォンをつけたままかばんに入れておくと、リモコンボタンが押されて誤動作する。また、リモコンをクリップで毎度襟にとめないと邪魔になるので、面倒。ということでほとんど使わなかった。
 2は、低域がやや強調されぎみだが、イヤーウィスパーのようなパッドのため耳へのフィット感はよい。リモコンはボタンが大きめで操作しやすく、配線も細くて邪魔にならない。リモコンボタンが大きいので、ヘッドセットをつけたままかばんにしまうと、誤動作する。イヤーパッドは、短い管にはまっているだけなので、すぐ外れてしまう。これは、強力両面テープで止めなおして解決している。
 3. iPhoneについてきたヘッドセットは、音質も自然でよく、リモコンが小さく邪魔にならず、本体側の音量調整もリモコンでできる。また、ボタンがちょうど良く引っ込んでいるので、誤作動もしにくい。唯一の欠点が耳から外れやすいことだったが、100円ショップでみつけたスポンジ製のヘッドカバーをつけたら、耳にフィットするようになり、心地よく使えるようになった。色も、黒とグレーがあり、グレーのカバーは白色のヘッドセットとよくマッチしている。結局、この3のやり方に落ち着いている。

2010年1月8日金曜日

Chronic Dev Teamが脱獄対策済みのiPhoneでの紐付きでない脱獄を検討中

 Chronic Dev Team が、脱獄対策済みのiBoot-359.3.2を搭載した、iPhoneに対抗して、新たな脆弱性(exploit)を発見した模様。 アップル側での対策を考慮して、いつリリースするのがいいかというアンケートも行っていた。(以下)

 http://chronic-dev.org/blog/2009/10/a-poll/comment-page-13/#comment-17262

脱獄対策済みのiPhoneの脱獄は、現状では、Blackra1n RC3を用いた紐付き脱獄しか方法はない。この方法では、電源の再投入やリブート時に、母艦であるPCをUSBで接続し、Blackra1nを実行し、DRAM上に改造ファームを毎度注入しなおす必要がある。つまり、PCを持たない外出先で、iPhoneをリブートする羽目になると、PCにつないで再度blackra1nを実効するか、正規firmwareをインストールするまでは、iPhoneは、アプリを起動できないだけではなく、電話としても、まったく機能しないのである。

Chronic Dev Teamは、この対策として、かねてからSemi-tethered-jailbreak としてGreenPois0n を提案していた。ここでは、iPhoneをリブートする羽目になった場合は、脱獄していない状態のファームで起動し、脱獄前のiPhoneとして使用できる。自宅などに戻ってPCを接続し脱獄すれば、 リブート前の脱獄状態にもどれるのである。SIMを取り替えるために電源を落とすとPCとの接続が必要になるので、SIMアンロック派にとっては、紐付き脱獄とあまり変わらない。SIMアンロックにこだわらなければ、もしもリブートする羽目になっても、非脱獄状態で使えるわけなので、PCを持ち運ぶ必要もなく、安心して使えるのである。

Chronic Dev Teamも最終的に目指すところは、紐付きでない脱獄であり、今回発見した、新たな脆弱性がその打開策になりそうな模様であり、冒頭に書いたようなアンケートで、これを利用した脱獄ツール Greenpois0n を、いつリリースするか意見を募集していた。ただし、SIM Unlockには対応しないようなので、SIM Unlock を目指す人は、iPhone Dev Teamら、他のチームによるツールを待つ必要がある。

Chronic Dev Teamに関しては、
「をぢの日記」  http://peer2.net/sjdojo/?p=4662
に詳しい。