ちょいと外出してきましたよ。と。
SIMFreeなiPhone4を買ってきて、気分よく写真をとってましたよ。と。

帰ってきてiPhoneから写真を取り出す前に同期しちゃいましたよ。と。

……写真どーすんのよ。


というわけで、かなりテンパリなう。
いや。そーではなく。

わずかながら希望が見えたので備忘録的に残しておきます。
後の方の参考になりますように。



必要なもの:
 ・iPhone4 (iOS4.1 jailbreak済み)
 ・OpenSSH
 ・MobileTerminal


下ごしらえ1:iPhone4の脱獄

とりあえず下記へアクセス
limera1n
http://www.limera1n.com/

ダウンロードしてきてさっくりと作業します。
作業方法が画面に出てくる新設設計ですが、細かい方法が気になる方は下記のサイトを参考に。
http://taisyo.seesaa.net/article/165232197.html



下ごしらえ2:必要ソフトのインストールその1

脱獄完了したら、cydiaから下記のソフトをインストール
 ・MobileTerminal

問題点として、iOS4.1には最初から使えるMobileTerminalがインストールできないため、リポジトリを追加する必要があります。
追加するリポジトリ
http://www.repo.hackyouriphone.org/

追加方法は下記サイトを参考に。
http://arnie-ism.livedoor.biz/archives/668364.html

追加後に検索をかけると、「MobileTerminal(iOS4)」が見つかりますのでインストール。



下ごしらえ3:パスワード変更

OpenSSHをインストールしたら、便利ではありますが勝手にアクセスされる危険性があります。
そこで、勝手にアクセスされないようにパスワードを変更します。
unix標準のpasswdコマンドでOKです。

標準でユーザ「mobile」と「root」がアクセス可能な状態の為、MobileTerminalを起動した後で、それぞれを変更します。
参考サイトはこちら。



下ごしらえ4:必要ソフトのインストールその2

ここまで来てOpenSSHのインストール。
パスワードを変えてからでないと勝手にアクセスされるわウィルス入れられるわで大変なので最後にインストールします。
インストール自体は全く問題なし。



下ごしらえ5:適当なパソコンの準備

条件として、sshでログインこと。つまりはunix系。
たまたま以前仮想環境で作っていたredhat系のサーバがあったため、これを利用。

これが一番厳しい条件かも。



作業開始

仮に、ネットワークの環境を下記のように設定しているとします。
iPhone:192.168.1.10
サーバ:192.168.1.20

MobileTerminalにてiPhoneへアクセス。
スーパーユーザへ昇格した後、下記のコマンドを実行。

dd if=/dev/rdisk0 bs=1M | ssh <user>@<serverpc> 'dd of=iphone-dump.img'

<user>には、準備したサーバのユーザを
<serverpc>には、準備したサーバのIPを指定します。


仮に、ユーザを「toaru」とすると、
dd if=/dev/rdisk0 bs=1M | ssh toaru@192.168.1.20 'dd of=iphone-dump.img'
となります。


あとはしばらく待ちます。
かなりなデータ量になる可能性があるため、それなりにかかります。
ゆっくり待ってください。

参考
http://log.ijulien.com/post/182804914/iphone-3gs-data-recovery