Recovering deleted files from phone internal memory

Una MicroSD en mal estado me ha liado una buena. En un alarde de valentia usé la opción de "mover" todas las fotos que estaban en la memoria interna hacia la tarjeta de memoria, con un resultado desastroso: no solo no se grabaron en la tarjeta sino que se borraron de la memoria.

El móvil es un Note 3 y estoy usando Linux Mint. Necesitaremos root en el teléfono y busybox instalado. En el ordenador nos basta con adb, netcat y photorec, ya que la solución pasa por intentar sacar un volcado de la memoria interna hacia el ordenador.

Conectamos el móvil por USB al ordenador, con la opción de "depuracion USB activada", y realizamos los siguientes pasos en un terminal:

$ adb forward tcp:5555 tcp:5555
$ adb shell
$ su (tendremos que aceptar la peticion de superusuario en el móvil)
$ /system/bin/busybox nc -l -p 5555 -e /system/bin/busybox dd if=/dev/block/platform/msm_sdcc.1/by-name/userdata

Dejamos este terminal a la espera, y en otro hacemos lo siguiente:

$ adb forward tcp:5555 tcp:5555
$ nc 127.0.0.1 5555 | pv -i 0.5 > memory_dump.raw

Esperamos varias horas (dependiendo del tamaño de la memoria) a que se genere el fichero con el volcado en nuestro disco duro, sobre el cual ya podremos ejecutar photorec y ver si hemos tenido suerte.

$ photorec memory_dump.raw

En mi caso parece que ha habido suerte. He estado a punto de perder varios cientos de fotos muy importantes.