Root the phone

Successful Attempt

Unsuccessful Attempt

  • kingroot by tencent
  • z4root
  • Universal Android Root | Kingo Android Root

Android - dump the data using netcat

adb forward tcp:5555 tcp:5555
adb shell
/system/bin/busybox nc -l -p 5555 -e /system/bin/busybox dd if=/dev/block/mmcblk0p12

adb forward tcp:5555 tcp:5555
cd /nexus
nc 127.0.0.1 5555 | pv -i 0.5 > mmcblk0p12.raw

iPhone - dump raw disk using netcat

# in iPhone's bash, run
netcat -e "dd bs=4096KB if=/dev/rdisk0s1s2" -l -p 5555

# mac specific
brew install pv
# connect to same Wi-Fi, and run the following in Terminal
# NOTE: 192.168.1.108 is your iPhone's IP
nc 192.168.1.108 5555 | pv -i 0.5 > iphone.raw 

NOTE: /dev/disk0 is a block device while /dev/rdisk0 is a character device. You can't choose a block device to dump.

Other solution can be found here using ssh(dd if=/dev/rdisk0 bs=4096 | ssh -C username@computer_IP 'dd of=iphone.img') instead of netcat.

IMPORTANT: Because data stored in iDevice is encrypted since iPhone 3GS and later(refer here), it may need to brute-force the encryption key(e.g. AES).

Reference