Así que sucedió, que Amanda tuvo un momento de rubia y borró todos sus hilos en la aplicación de SMS por error. Sí, "Eliminar todos los hilos" probablemente no debería ser tan fácil de invocar.
El teléfono es un ZTE Blade, con todos sus datos de usuario almacenados inconvenientemente en un sistema de archivos YAFFS2.
Tengo una copia de seguridad antigua, pero los SMS que necesito recuperar son de entonces. Probablemente haya algunos en la tarjeta SIM, así que he pedido un lector de SIM. Sospecho que la veintena que contiene son en su mayoría spam del operador de red, de todos modos.
Así que maldigo mi ineficaz plan de copias de seguridad y me comprometo a hacer copias de seguridad de los SMS en GMail en el futuro.
Mientras tanto, resuelvo recuperar mmssms.db, o lo que queda de él.
En primer lugar, conecto adb y compruebo los montajes, luego intento copiar el bloque a una imagen en la tarjeta SD:
dd if=/dev/block/mtdblock6 of=/sdcard/data.img
No hubo suerte. Razono que desmontar a la fuerza sería una mala idea, y probablemente no funcione en ningún caso.
Entonces, subo una copia de busybox enlazada estáticamente a la tarjeta SD y uso la opción conv=noerror.
Lo que obtuve fue un archivo que fue aumentando de tamaño hasta que la tarjeta SD se llenó.
¿Qué estoy haciendo mal? ¿ClockworkMod toma una imagen en el verdadero sentido o simplemente hace una copia de seguridad de los archivos y los empaqueta en una imagen? ¿Existe un programa de recuperación de YAFFS2? (Los dos artículos que he leído lo hacen parecer factible pero no he visto ni siquiera el código PoC)
Cualquier pista se agradece/
Edición: El teléfono está rooteado. Muy rooteado :)
Editar más:
La mayoría de los mensajes que se encuentran en mmssms.db-wal:
ls -al /data/data/com.android.providers.telephony/databases
drwxrwx--x 1 radio radio 2048 Jul 17 20:16 .
drwxr-xr-x 1 radio radio 2048 Oct 26 2011 ..
-rw-rw---- 1 root root 60416 Jul 17 20:16 mmssms.db
-rw-rw---- 1 radio radio 32768 Jul 17 16:18 mmssms.db-shm
-rw-rw---- 1 radio radio 628832 Jun 30 19:23 mmssms.db-wal
-rw-rw-rw- 1 root root 60416 Jul 17 20:16 mmssms.db.xxx
-rw-rw---- 1 radio radio 132096 Jun 18 13:25 telephony.db
-rw-rw---- 1 radio radio 32768 Jul 16 22:14 telephony.db-shm
-rw-rw---- 1 radio radio 106928 Jul 16 22:14 telephony.db-wal
Con un poco de suerte, SMS Backup & Restore permitirá una fusión.
0 votos
¿Su hoja está enraizada?
0 votos
@Mandy: Respecto a tu otra pregunta: Yaffs2 es un sistema de archivos flash que tiene protección de nivelación de desgaste para el almacenamiento flash subyacente (tiene un modelo de datos con estructura de registro donde las escrituras no están en su lugar sino que van siempre a la cola del "log" y el espacio antiguo no utilizado se recupera de la cabeza. Explicado de forma muy sencilla). Si no has escrito demasiado, probablemente puedas encontrar instancias de archivos más antiguas. Ignorando la parte de la cola desde justo antes del borrado podrías tener suerte. Hasta ahora no he hecho el tallado de archivos para YAFFS2.
0 votos
Podría ayudar: ¿Cómo recuperar un archivo borrado de la partición /data?