Так и случилось, что у Аманды действительно был момент блондинки, и она по ошибке удалила все свои темы в приложении SMS. Да, «Удалить все темы», вероятно, не должно быть так просто вызвать.
Телефон ZTE Blade, все его пользовательские данные неудобно хранятся в файловой системе YAFFS2.
У меня есть старая резервная копия, но SMS, которые мне нужно восстановить, взяты с тех пор. На сим-карте наверняка есть, поэтому заказал сим-ридер. Я подозреваю, что двадцать или около того писем в основном являются спамом сетевых операторов.
Итак, я проклинаю свой неэффективный план резервного копирования и клянусь в будущем создавать резервную копию SMS в GMail.
Тем временем я решаю восстановить mmssms.db или то, что от него осталось.
Сначала я подключаю adb и проверяю монтирование, затем пытаюсь скопировать блок в образ на SD-карте:
dd if=/dev/block/mtdblock6 of=/sdcard/data.img
Нет такой удачи. Я считаю, что принудительное отключение было бы плохой идеей и, вероятно, не сработает в любом случае.
Итак, я загружаю статически связанную копию busybox на SD-карту и использую параметр conv=noerror.
В итоге я получил файл, который продолжал увеличиваться в размере, пока SD-карта не заполнилась.
Что я делаю не так? Занимает ли ClockworkMod образ в прямом смысле или просто создает резервные копии файлов и упаковывает их в образ? Есть ли программа восстановления YAFFS2? (Две статьи, которые я прочитал, делают это возможным, но я не видел даже кода PoC)
Любые подсказки с благодарностью получены/
Редактировать: Телефон рутирован. Очень укоренился :)
Дальнейшее редактирование:
Большинство сообщений, найденных в 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
Если повезет, SMS Backup & Restore позволит выполнить слияние.
База данных смс хранится в /data/data/com.android.providers.telephony/databases/mmssms.db
том, что вы хотите сделать.
Лучше всего сделать это, пока не подключайте USB-кабель:
mount /data
adb shell
cp /data/data/com.android.providers.telephony/databases/mmssms.db /sdcard/MySmsDatabase.db
adb shell
, введя это:exit
unmount /data
для вас.На этом этапе ваша база данных теперь скопирована. И может быть безопасно извлечен с помощью чего-то вроде SqliteMan . ХТН.
Редактировать: ОП было интересно узнать, как можно сделать дамп. - Читай дальше :)
Когда вы вызываете это (с подключенным USB и внутри 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"
Зная, какой раздел является ключом. Так, например, из моего Blade я вижу, что пользовательские данные находятся в разделе mtd6
, в котором можно найти фактическую информацию о разделе, /dev/mtd/mtdX
поэтому нужно сделать это, используя cat
:
cat /dev/mtd/mtd6 > /sdcard/myuserdata.dump
И оттуда, взяв /sdcard/myuserdata.dump
, в зависимости от файловой системы, используемой в этом разделе, его можно смонтировать через петлю. Пробег будет варьироваться, и, конечно, это ситуация курицы и яйца, чтобы сделать все это, телефон должен быть рутирован.
/dev/mtd/*
, под 4.4.4
на s5
... вместо этого, кажется userdata
, монтируется из этого блочного устройства:/dev/block/platform/msm_sdcc.1/by-name/userdata
т0мм13б
се4
Ирфан Латиф