Entonces sucedió que Amanda tuvo un momento rubio 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 de manera inconveniente 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 pedí un lector de SIM. De todos modos, sospecho que la veintena que contiene es en su mayoría spam de operadores de red.
Por lo tanto, maldigo mi plan de copia de seguridad ineficaz y prometo hacer una copia de seguridad de los SMS en GMail en el futuro.
Mientras tanto, resuelvo recuperar mmssms.db, o lo que queda de él.
Primero, 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 hay tal suerte. Razón por la cual desmontar a la fuerza sería una mala idea y probablemente no funcionará en ningún caso.
Entonces, cargo una copia vinculada estáticamente de busybox a la tarjeta SD y uso la opción conv=noerror.
Lo que terminé fue un archivo que siguió aumentando de tamaño hasta que se llenó la tarjeta SD.
¿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 documentos que he leído hacen que parezca factible, pero ni siquiera he visto el código PoC)
Cualquier pista recibida con gratitud /
Editar: El teléfono está rooteado. Muy arraigado :)
Edición adicional:
La mayoría de los mensajes encontrados 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.
La base de datos de sms se almacena en /data/data/com.android.providers.telephony/databases/mmssms.db
lo que desea hacer.
Lo mejor que puede hacer es esto, no conecte el cable USB todavía:
mount /data
adb shell
cp /data/data/com.android.providers.telephony/databases/mmssms.db /sdcard/MySmsDatabase.db
adb shell
escribiendo esto:exit
unmount /data
por usted.En esta etapa, su base de datos ya está copiada. Y se puede extraer de forma segura mediante el uso de algo como SqliteMan . HH.
Editar: El OP estaba interesado en saber cómo se puede hacer un volcado. - Sigue leyendo :)
Cuando invoque esto (con USB conectado y dentro del adb shell
)
sh-4.1# cat /proc/mtd
dev: size erasesize name
mtd0: 00500000 00020000 "recovery"
mtd1: 00500000 00020000 "boot"
mtd2: 00120000 00020000 "splash"
mtd3: 00080000 00020000 "misc"
mtd4: 02580000 00020000 "cache"
mtd5: 0d700000 00020000 "system"
mtd6: 0cb80000 00020000 "userdata"
mtd7: 00020000 00020000 "oem"
mtd8: 00180000 00020000 "persist"
Sabiendo qué partición es la clave... Entonces, por ejemplo, desde mi Blade, puedo ver que los datos de usuario están en la partición mtd6
, en la que se puede encontrar la información real de la partición, por lo que se /dev/mtd/mtdX
trata de hacer esto usando cat
:
cat /dev/mtd/mtd6 > /sdcard/myuserdata.dump
Y a partir de ahí, tomando el /sdcard/myuserdata.dump
, dependiendo del sistema de archivos utilizado en esa partición, se puede montar a través de bucle invertido. El kilometraje variará y, por supuesto, es una situación de huevo y gallina, para hacer todo eso, el teléfono debe estar rooteado.
/dev/mtd/*
nada, debajo 4.4.4
de un s5
... en cambio, parece que userdata
está montado desde este dispositivo de bloque:/dev/block/platform/msm_sdcc.1/by-name/userdata
t0mm13b
ce4
Irfan Latif