Il s'est donc avéré qu'Amanda a eu un moment blond et a supprimé tous ses fils dans l'application SMS par erreur. Oui, "Supprimer tous les threads" ne devrait probablement pas être aussi facile à invoquer.
Le téléphone est une lame ZTE, avec toutes ses données utilisateur stockées de manière peu pratique sur un système de fichiers YAFFS2.
J'ai une vieille sauvegarde, mais les SMS que je dois récupérer sont depuis. Il y en a probablement sur la carte SIM, j'ai donc commandé un lecteur SIM. Je soupçonne que la vingtaine qu'il contient sont pour la plupart des spams d'opérateurs de réseau, de toute façon.
Donc, je maudis mon plan de sauvegarde inefficace et jure de sauvegarder les SMS sur GMail à l'avenir.
En attendant, je décide de récupérer mmssms.db, ou ce qu'il en reste.
Tout d'abord, je connecte adb et vérifie les supports, puis tente de copier le bloc sur une image sur la carte SD:
dd if=/dev/block/mtdblock6 of=/sdcard/data.img
Pas de chance. Je raisonne que le démontage forcé serait une mauvaise idée et ne fonctionnera probablement en aucun cas.
Donc, je télécharge une copie liée statiquement de busybox sur la carte SD et utilise l'option conv = noerror.
Je me suis retrouvé avec un fichier dont la taille augmentait jusqu'à ce que la carte SD se remplisse.
Qu'est-ce que je fais mal? ClockworkMod prend-il une image dans le vrai sens ou sauvegarde-t-il simplement les fichiers et les intègre-t-il dans une image? Existe-t-il un programme de récupération YAFFS2? (Les deux articles que j'ai lus semblent faisables, mais je n'ai même pas vu de code PoC)
Tous les indices reçus avec reconnaissance /
Modifier: le téléphone est enraciné. Très enraciné :)
Modifier davantage:
La plupart des messages trouvés dans 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
Avec un peu de chance, SMS Backup & Restore permettra une fusion.
la source
Réponses:
La base de données sms est stockée dans
/data/data/com.android.providers.telephony/databases/mmssms.db
laquelle est ce que vous voulez faire.La meilleure chose à faire est la suivante, ne branchez pas encore le câble USB:
mount /data
adb shell
cp /data/data/com.android.providers.telephony/databases/mmssms.db /sdcard/MySmsDatabase.db
adb shell
en tapant ceci:exit
unmount /data
pour vous.À ce stade, votre base de données est désormais copiée. Et peut être extrait en toute sécurité via quelque chose comme SqliteMan . HTH.
Edit: L'OP était intéressé de savoir comment un vidage peut être fait. - Continuer à lire :)
Lorsque vous invoquez ceci (avec USB branché et dans le
adb shell
)Sachant quelle partition est la clé .. Ainsi , par exemple de ma lame, je vois que userdata est sur la partition
mtd6
, dans lequel les informations de partition réelle peut être trouvée à l' intérieur de/dev/mtd/mtdX
sorte que son une question de le faire en utilisantcat
:Et à partir de là, en
/sdcard/myuserdata.dump
fonction du système de fichiers utilisé sur cette partition, il peut être monté via un bouclage. Le kilométrage variera et bien sûr, c'est une situation de poulet et d'oeuf, afin de faire tout cela, le combiné doit être enraciné.la source