December 2, 2022
Восстановление пропавших сообщений
Гайд слегка повышенного уровня и требует рут доступ, но может быть полезен для сохранения секретных чатов или чего-нибудь еще, что может потеряться при удалении базы данных.
Так-как у вас уже должен быть рут, установку adb описывать не буду.
- Скачиваем sqlite-tools (sqlite из стандартного пакета поставки platform-tools не подойдет)
- Открываем терминал/консоль/повершелл
- Обязательно останавливаем telegraher через системные настройки, иначе будут ошибки
- Выполняем:
adb shellsu иразрешаем на телефоне рут доступ шеллу - Копируем бд в место доступное для легкого копированния далее:
cp /data/user/0/com.evildayz.code.telegraher2/files/cache4.db /storage/emulated/0(для бета версии грахера путь будет/data/user/0/com.evildayz.code.telegraher2_beta/files/cache4.db) - Копируем бд на комп:
adb pull /storage/emulated/0/cache4.db директория\на\пк\где\у\вас\лежит\sqlite-tools - Переходим в директорию sqlite-tools
- Восстанавливем бд с помощью:
sqlite3 cache4.db ".recover" | sqlite3 cache4.rec.db - Некоторые данные не могут быть востанновлены с помощью команды выше, поэтому делаем эти:
sqldiff cache4.rec.db cache4.db > diff.sqlsqlite3 cache4.rec.db < diff.sql(версия для повершелла:cmd /c 'sqlite3 cache4.rec.db < diff.sql') - Если выдало syntax error то не стопнули аппку/криво скопировалось/что-то еще, в общем, бд повреждена, в данном случае удаляем поврежденную бд с компа и делаем все заново ;)
- Подключаемся к восстановленной бд:
sqlite3 cache4.rec.db - И выполняем:
PRAGMA user_version = 100; - Копируем восстановленную бд в телефон:
adb push путь\до\в\sqlite-tools\cache4.rec.db` /storage/emulated/0/ - Заходм в шелл и копируем бд обратно в папку грахера:
adb shellsumv /storage/emulated/0/cache4.rec.db /data/user/0/com.evildayz.code.telegraher2/files/(или бета вариант) - Удаляем старую бд:
rm /data/user/0/com.evildayz.code.telegraher2/files/cache4.db - Переименовываем новую:
mv /data/user/0/com.evildayz.code.telegraher2/files/cache4.rec.db /data/user/0/com.evildayz.code.telegraher2/files/cache4.db - Выходим из рута и шелла и запускаем грахер
Гайд основан на этом ответе.