Как скопировать саппарата памяти


Как скопировать саппарата памяти

Как скопировать саппарата памяти

Как скопировать саппарата памяти



Контакты Android хранятся в директории /data/data/com.android.providers.contacts/databases/ в файле contacts.db или на некоторых прошивках contacts2.db.
Данный файл является базой данных sqlite и может быть прочитан с помощью соответсвующего программного обеспечения.

Теперь как я доставал контакты с телефона у которого отказал сенсор. Экспорт контактов никогда не производился, была отключена функция отладки по USB, и пользуясь способом , 7zip не смог распаковать .backup сделанный стандартным рекавери, а adb почему-то не видел требуемые файлы в папке
data.

Находим на 4pda информацию по установке ClockworkMod recovery (CWM) recovery для вашего девайса и качаем требуемые файлы.
Для этого как правило нам понадобятся:
1. драйвера для подключения девайса к компьютеру
2. recovery.img - образ CWM
3. fastboot или FlashTool - потребуется для прошивки образа CWM в девайс, выбирайте более понятный для вас
4. нужен будет архиватор для распаковки файла резервной копии (я использовал 7zip)
5. и какую-нибудь программку для работы с базами данных (я использовал )

теперь переходим к действиям по вытаскиванию нужной инфы:
1. по скачиванию и установке драйверов, образов и программ писать особо не буду большая часть должна быть описана в инструкции к вашему девайсу на 4PDA и делается почти везде одинаково
2. установив CWM пробуем войти в него (обычно для этого требуется зажать кнопку включения и увеличения/уменьшения громкости)
3. там выбираем пункт по созданию бэкапов 'buckup and restore' и делаем его на флэшку 'Buckup' :)
4. скачиваем с флэшки на комп файлик data.ext4.tar, он должен быть в папке clockworkmod/backup (в название так же будет фигурировать дата ее создания)

если в ваш девайс вставить флэшку нет возможности, возможно поможет такой момент:
после установки CWM у меня получилось подключиться через , и чисто теоретически наверно у вас получится скопировать файлы бэкапа на компьютер.
команды которые вам понадобятся
adb devices - подключение
adb shell - запуск удаленной командной строки
ls - получение списка папок и файлов
cd <путь на Android> - переход в папку
adb pull <путь на Android> <путь на PC> - копируем файл с девайса на комп


5. открываем архив и достаем contacts.db или contacts2.db из /data/data/com.android.providers.contacts/databases/
6. запустив программу sqlitestudio, выбираем файлик базы, который мы достали из архива, в диалоговом окне открытия базы ('Базы данных' -> 'Добавить базу данных')
7. дальше вставляем подобный запрос во вкладку SQL-запрос ('Сервис' -> 'Открыть редактор SQL запросов')

SELECT normalized_number, display_name
FROM phone_lookup, raw_contacts
WHERE phone_lookup.raw_contact_id = raw_contacts.contact_id

объясню смысл текущего запроса
создаем табличку с колонками normalized_number, display_name на основе таблиц phone_lookup, raw_contacts
при условии, что данные из таблицы phone_lookup и колонки raw_contact_id = данным из таблицы raw_contacts колонки contact_id
исходя из этого кода могу предположить, что:
есть некие таблицы в которых есть колонки, в каждой из которой хранятся однотипные данные, в нашем случае это номера строк, имя и номер телефона
phone_lookup
raw_contact_id | normalized_number
1 |+79001111111
2 |+79002222222
raw_contacts
contact_id | display_name
1 |Вася
2 |Петя

т.е. мы с помощью нашего запроса получаем новую табличку, строки которой формируются из строк двух исходных путем их объединения
причем в одну строку поподают данные где raw_contact_id = contact_id
normalized_number|display_name
+79001111111|Вася
+79002222222|Петя

запросов уйма, т.к. почти в каждой таблице данные дублируются, доставать имя и телефон можно из разных таблиц и колонок, посмотрев все таблички и найдя нужные данные.
Можно на основе данного запроса сделать свой
SELECT 'колонки через запятую' FROM 'таблицы через запятую' WHERE 'условие'
'колонки через запятую' можно писать в таком виде [таблица].[колонка] квадратные скобки можно опустить, но они могут спасти от ошибок, если вдруг названия таблиц/колонок имеют названия зарезервированных команд. Здесь мы через запятую указываем, какие данные хотим видеть в новой таблице

'таблицы через запятую' можно писать в таком виде [таблица]. Здесь мы указываем данные из каких таблиц мы хотим получить

'условие' можно писать в таком виде [таблица1].[колонка1] = [таблица2].[колонка2], так же условий может быть несколько и они пишутся через логические операторы and и or, а так же могут группироваться с помощью круглых скобок. Условия нужны, чтобы объединить данные нескольких таблиц и с их помощью можно задавать фильтры. Например, если мы добавим в конце нашего запроса строку из одинарных кавычек ' AND display_name = "Саша"', то в нашей таблице окажутся не все контакты из нашего листа, а только номера телефонов людей которых зовут "Саша".

так же я обнаружил в данной базе давно удаленные номера, возможно это будет кому-то интересно.

таким же способом можно достать SMS из файла /data/data/com.android.providers.telephony/databases/mmssms.db
в файле data.ext4.tar лежат все пользовательские файлы, которые вам может понадобиться забрать с девайса

Сообщение отредактировал Gridzilla - 30.09.14, 12:17

Причина редактирования: правка по просьбе автора


Источник: http://4pda.ru/forum/index.php?showtopic=591994



Как скопировать саппарата памяти фото



Как скопировать саппарата памяти

Как скопировать саппарата памяти

Как скопировать саппарата памяти

Как скопировать саппарата памяти

Как скопировать саппарата памяти

Как скопировать саппарата памяти

Как скопировать саппарата памяти

Как скопировать саппарата памяти

Как скопировать саппарата памяти