Un sitio Impertinente

Recuperando datos de una memoria interna en Android 4.X o superior

with 6 comments

Con la llegada del MTP (Media Transfer Protocol) desde Android Honeycomb 3.X, cada vez se hace más difícil tener acceso directo al disco interno sin tener que pasar por protocolos intermedios. En las versiones de Android superiores a la 4.X prácticamente es imposible tener acceso UMS (Usb Massive Storage), es por ello que les dejo esta pequeña receta.

Ingredientes

  • Un teléfono ó tableta con acceso a Root.
  • Tener instalado el paquete BusyBox en tu dispositivo.
  • Una PC/Notebook/Netbook con cualquier distribución de Linux. En el caso de correr otro sistema operativo, tener instalado Cygwin (en Windows) ó Homebrew (en OS X). En mi caso usé Debian Whezzy.
  • ADB (Android  Debug Brigde). Este depende de tu Sistema Operativo.
  • USB Debugging Enabled en tu dispositivo.
  • Netcat y pv (Monitor de progreso de datos a través de una tubería).  Este depende de tu Sistema Operativo, que podrá ser instalado a través de Cygwin ó Homebrew.

¡A cocinar!

1. Tener activo el USB Debugging.

2. Reiniciamos el dispositivo en Mode Recovery (esto varía depende del distribuidor del hardware). En mi caso, usé un Samsung Galaxy S4 (I-9505),

3. Abrir una terminal y ejecutar los siguientes comandos ADB:

$ adb forward tcp:5555 tcp:5555
$ adb shell
$ busybox nc -l -p 5555 -e busybox dd if=/dev/block/mmcblk0

Con esto estaremos preparando el volcado del disco interno mmcblk0 desde el dispositivo.

Nota: El disco interno de 16 Gb en el sistema es /dev/block/mmcblk0. 
No necesariamente sea el mismo en su sistema. Verifique el nombre de 
su dispositivo.

4. Ahora solo nos queda volcarlo al disco local con:

$ adb forward tcp:5555 tcp:5555
$ nc 127.0.0.1 5555 | pv -i 0.5 > mmcblk0.img

El proceso de volcado para 16 Gb es aproximadamente 1:15 horas.

Ya con la imagen (mmcblk0.img) creada podremos aplicarles algunos programas para recuperación de datos (En Linux como foremost, photorec, entre otros), ó Recuva (en Windows).

Written by apostols

June 30th, 2013 at 1:24 am

6 Responses to 'Recuperando datos de una memoria interna en Android 4.X o superior'

Subscribe to comments with RSS or TrackBack to 'Recuperando datos de una memoria interna en Android 4.X o superior'.

  1. Excelente post sencillo de hacer.
    pero una preguntica cuando no quiero recuperar sito tener acceso desde debian a mi almacenamiento interno por mtp que puedo hacer baje un paquete llamado mtpfs pero nada no me deja acceder

    david rodriguez

    10 Jul 13 at 11:09 am

  2. Hola David,

    Dependiendo del kernel que uses hay trucos para forzarlo al modo UMS. Con el que trae por Stock el Android de tu teléfono no podrá.

    Saludos,

    apostols

    24 Aug 13 at 8:07 pm

  3. Disculpa una pregunta al ejecutar

    adb forward tcp:5555 tcp:5555

    me indica:

    error: insufficient permissions for device

    Que pudiera ser…
    me podrias ayudar

    franklin

    21 Sep 13 at 7:30 pm

  4. Gracias por el aporte, estoy intentando hacerlo en mi s4 9500 pero me sale un error con el pv no se que es ni como instalarlo, estoy haciendo esto en windows, agradeceria tu ayuda

    Carlos Ortiz

    19 Nov 13 at 7:07 pm

  5. Hola estoy intentando hacer el proceso en un samsung s6 edge pero no aparece la tarjeta interna mmcblk0 en /dev/block solo me aparece un listado con sda sda0 sda1. he probado cambiando mmcblk0 ppor sda y no me lo permite.
    alguna solucion?

    enrique

    19 Jan 16 at 7:21 am

  6. Hola David,
    ¿sabrias decirme si es posible recuperar fotos borradas de la memoria interna de S4 (andriod 5) utilizando este método que propones, pero sin ser root?
    EL tema de la garantía me tiene muy bloqueado respecto a perderla si hago root para recuperarlas.

    Gracias.

    Miguel

    31 Mar 16 at 7:17 am

Leave a Reply