Восстановление данных с заблокированного android

Восстановление данных из внутренней памяти на Android для чайников

Сейчас всё больше смартфонов идут без слота для sd-card, и информацию приходится хранить на встроенной памяти с доступом к ней по MTP. Такой режим подключения не позволяет стандартными средствами восстановить данные телефона после wipe’а или случайного удаления.

Сегодня на примере связки Xiaomi Mi2s и Windows 8.1 я постараюсь рассказать, как можно восстановить утерянные данные, кому интересно, добро пожаловать под кат.

Следует заметить, что если вы по ошибке отформатировали внутреннюю память смартфона/планшета/смартпэда, то не стоит расстраиваться, а главное, ни в коем случае не нужно ничего записывать в память устройства, так у вас получится восстановить больше данных.

Протокол MTP не позволяет компьютеру распознать подключенный девайс как USB-накопитель и программы для восстановления не могут просканировать такое устройство и спасти данные, поэтому нам потребуется скопировать весь внутренний раздел памяти в виде образа системы.

Подготовка Android-устройства

Вам понадобится root и включенная отладка по USB.

Подготовка PC

Для того, чтобы скопировать раздел системы, нам понадобится:

  • VHDtool;
  • Драйвера для вашего устройства (в случае проблем habrahabr.ru/post/205572);
  • ADB (adbdriver.com или developer.android.com);
  • Сервер FileZilla.

Сперва устанавливаем USB-драйвера для вашего устройства и ADB. После этого советую перезагрузить ПК.

VHDtool

Создаём папку с адресом C:\cygwin64\000 (имя не имеет значения, не стоит только использовать буквы отличные от латиницы), здесь будет лежать наш образ. Копируем в папку VHDtool.exe.

FileZilla

В ходе инсталяции соглашаемся на все стандартные установки.
После установки FileZilla запустится автоматом, но из программы необходимо выйти и запустить её от имени Администратора.
При запуске FileZilla спросит имя сервера, оставляем всё как есть.

Далее заходим Edit — Settings и делаем следующие настройки:

listen on those ports 40
timeout settings — по умолчанию стоит 120, 60, 60, а мы ставим везде 0 и нажимаем ОК.
Заходим в edit — users. В окошке users создаем нового юзера. В моем случае это юзер qwer.
Нажимаем Add — пишем имя — пароль pass — нажимаем ОК.

Далее в том же меню Users, слева выбираем закладку Shared folders. Заходим туда и добавляем папку в которую будет заливаться наш блок. Нажимаем Add и добавляем папку C:\cygwin64\000. В окошке появится путь к этой папке. Если слева от надписи C:\cygwin64\000 не будет буквы H, то нужно нажать Set as home dir. Затем выделив строчку C:\cygwin64\000 нужно отметить права Read и Write галочками. Затем нажать ОК.

Нам понадобятся следующие файлы:

  • adb.exe
  • AdbWinApi.dll
  • adb-windows.exe
  • AdbWinUsbApi.dll
  • fastboot.exe

Скачать их можно на тут.
Или вытащить из дистрибутива Android SDK.

Копируем их в папку C:\cygwin64\bin

Проверка работы ADB

Запускаем консоль из папки C:\cygwin64\bin, для этого достаточно вписать cmd в адресную строку проводника

Список подключенных девайсов не должен быть пуст, если после строчки List of devices attached пусто, то вы не установили USB-драйвера или не включили отладку по USB.

Когда всё идет хорошо, консоль выглядит так:

20352f2c – мой Xiaomi Mi2s

Режим модема по USB

Теперь нам необходимо узнать, какой IPv4 адрес получил ваш компьютер.
Используем команду ipconfig в командной строке
или
Идем по пути: Панель управления\Сеть и Интернет\Центр управления сетями и общим доступом

Кликаем по надписи ’Подключение по локальной сети’ далее Сведения и копируем адрес IPv4.

В моём случае это 192.168.42.79

Важно! При каждом переподключении USB кабеля и вкл/выкл режима модема IPv4 будет меняться.

Какой блок памяти нам нужен?

Вся память в вашем устройстве делится на логические блоки, нам не нужно качать все, достаточно понять, какой раздел содержит стёртую информацию.

Теперь нам необходимо посмотреть список блоков памяти, для этого вводим построчно следующие команды:

Hint: если вам лень вручную переписывать команды или вы боитесь допустить ошибку, то можно воспользоваться копированием, но вставить привычным способом строчку в консоль не выйдет, поэтому необходимо кликнуть правой кнопкой мыши по окну консоли, далее выбрать изменить > вставить.

Читайте также:  Как перезагрузить андроид zte

После чего во внутренней памяти появится файл list_of_partitions.txt, который нам необходимо скопировать на ПК и изучить.
Скопировать его можно в нашу папку 000 с помощью простой команды (выполнять её следует в отдельном окне командной строки):

Внутренней памяти в моём аппарате 32 GB. Поэтому я ищу самый большой раздел, в моём случае это mmcblk0p27 размером 25,6 GB, у вас он скорее всего будет иметь другое имя, или вообще не будет иметь приписки p**. Безусловно, никто не гарантирует что именно самый большой раздел окажется тем самым на котором еще совсем недавно лежали ваши фото, видео, документы и тд., но в 90% случаев это оказывается именно тот раздел памяти который нам нужен. В противном случае вам придется по порядку копировать все образы и проверять каждый из них.

Копируем раздел памяти на ПК.

Если вы уже закрыли окно cmd, то запускаем его снова.

Вводим команды построчно:

Не забудьте внести соответствующие корректировки в код!

qwer – имя учетной записи в FileZilla (у вас свой если меняли)
pass – пароль от учетной записи в FileZilla (у вас свой если меняли)
40 – порт сервера FileZilla
192.168.42.79 – адрес сервера FileZilla (у вас свой)
mmcblk0p27.raw – копируемый блок памяти (у вас свой)

Открываем второе окно командной строки и вводим команды:

Не забудьте исправить mmcblk0p27 на номер своего блока!

Смотрим в окно FileZilla и видим, что скачивание mmcblk0p27.raw в папку C:\cygwin64\000 началось, теперь можно закрыть окна cygwin и сделать перерыв на чай.

Конвертируем и восстанавливаем

Вернулись? Файл скачался? Отлично. Отключаем телефон, подключаем интернет. Запускаем Cygwin.bat и вводим следующие команды.

Не забудьте исправить mmcblk0p27 на номер своего блока!

У меня конвертирование заняло пару секунд. На выходе у нас получается всё тот же файл mmcblk0p27.raw в папке C:\cygwin64\000, но уже немного другой. Этот сконвертированный файл можно смонтировать как виртуальный диск, или, например через R-studio, произвести восстановление данных непосредственно из нашего образа. Я так и поступил.


Hint: важные моменты пометил желтым.

Итоги

Моей целью было популярным языком объяснить способ копирования системного раздела с android-девайса на ПК, возможно, некоторые упрекнут меня в сложностях, связанных с USB-модемом и ftp, и скажут, что наверняка можно было проще вытащить образ. Отвечу так: я пробовал другими способами, описанными на 4pda и xda-developers, у меня не вышло, зато с ftp получилось со второй попытки, а входе написания статьи всё вообще прошло как по маслу.

У меня получилось восстановить все утерянные фото без потерь в качестве и даже то, что я и не думал восстановить. В ходе восстановления обнаружились фотографии, которые делал в августе прошлого года, когда только купил телефон и тестировал камеру.

В завершении хочется также упомянуть еще одну небольшую утилиту, которая восстанавливает данные — DiskDigger undelete. Она бесплатная, неплохой функционал, но к сожалению, после 40% она у меня вывалилась с ошибкой.

Источник

Восстановление данных с заблокированного android

Ни для кого не секрет, что с нашими «умными» устройствами может произойти всякое, в том числе и такая неприятная поломка как разбитый тачскрин. Что делать в таком случае? Ведь в нем остались все наши данные: контакты, сообщения и пр.

Конечно, самым простым решением будет замена поврежденного экрана. Но если его нет, а данные нужны вчера? В этой теме постараемся собрать все возможные способы восстановления необходимых нам данных.

1. Самое очевидное — меняем тачскрин. Где взять? Спрашиваем в теме аксессуаров своего устройства или тут.

2. Если аппарат поддерживает протокол MHL, можно попробовать подключить его по HDMI к монитору или телевизору. Подключаем мышь по Bluetooth или USB и в случае успешного подключения пробуем сохранить свои данные на карту памяти.

3. Если была включена отладка по USB то пробуем через ADB командой

или чрез приложение QtADB. Подробнее про ADB можно почитать в этой теме ADB и все что с помощью него можно сделать

Читайте также:  Тип сенсорного экрана android

4. Пробуем достать контакты с помощью приложения MyPhoneExplorer. Ставим и копируем содержимое в компьютер. Телефонная часть программы устанавливается без подтверждения с дисплея. Отладка по USB должна быть включена!

Сообщение отредактировал KEEPERekb — 23.03.19, 22:47

Помогите вытащить контакты!

Fly IQ440
ОС и прошивка: Android 4.0.4

Есть стоковый телефон Fly IQ440 с разбитым стеклом экрана. Стекло сняли. Тач, само собой, не работает, но экран и изображение в полном порядке. Все что осталось от сенсора это небольшой шлейф, торчащий возле экрана. При касании к шлейфу телефон реагирует, но очень непредсказуемо и сделать что-то толковое таким образом почти нереально.

Задача — вытащить контакты, которые лежат в памяти телефона.

Сам я пару дней искал информацию в интернете и на этом форуме, делал попытки восстановить контакты, но все решения, которые я находил требуют включения отладки по USB или плюс к ней еще и рут. Попытки включить отладку путем мацанья шлейфа не увенчались успехом. Максимум, мне удалось зайти в настройки и проскролить до пункта «для разрабочиков», но попасть по нему так и не вышло. Думал про управление смартом через вай фай или блютуз (их включить не составляет особого труда), но все что нашел — требует предварительной установки приложения на смарт. Также пробовал подключать мышку через OTG кабель с активным питанием — не определяется.

В итоге, я решил спросить совета у вас. Возможно, конкретно в такой ситуации есть какие-то способы восстановления контактов?
:thank_you:

Сообщение отредактировал SileLence — 05.08.14, 14:41

Всем спасибо, вопрос решился общими усилиями коллег на работе. При этом решился до смешного просто — без прошивок, кабелей и левого софта. Описываю!

Возникла идея попробовать зайти в системное меню телефона. Сначала попробовал включить с зажатыми «power» и «volume-«, но толкового там ничего нет, а потом включил «power» + «volume+» и там нашелся интересный пункт меню «backup user data». Управление в меню осуществляется с помощью клавиш громкости и включения. Забыл сказать, перед этим вставил карту памяти в телефон.
Началось копирование бекапа весом 144 мб. Когда закончилось, флешку извлек, вставил в компьютер и обнаружили файл с расширением .backup, распаковал с помощью 7zip. Полученный файл опять распаковал и увидел кучу папок. По пути

лежит заветный contacts.db.
Дальше выполнил первые два пункта из этого поста и запрос из этого. Полученный файл открыл Экселем.

Всем спасибо, надеюсь, мой опыт кому-то поможет :thank_you:

Сообщение отредактировал SileLence — 05.08.14, 16:27

Отладка по USB не включена.
Дисплеи не рабочий.

сем спасибо, вопрос решился общими усилиями коллег на работе. При этом решился до смешного просто — без прошивок, кабелей и левого софта. Описываю!

Возникла идея попробовать зайти в системное меню телефона. Сначала попробовал включить с зажатыми «power» и «volume-«, но толкового там ничего нет, а потом включил «power» + «volume+» и там нашелся интересный пункт меню «backup user data». Управление в меню осуществляется с помощью клавиш громкости и включения. Забыл сказать, перед этим вставил карту памяти в телефон.
Началось копирование бекапа весом 144 мб. Когда закончилось, флешку извлек, вставил в компьютер и обнаружили файл с расширением .backup, распаковал с помощью 7zip. Полученный файл опять распаковал и увидел кучу папок. По пути
/data/data/com.android.providers.contacts/databases/
лежит заветный contacts.db.
Дальше выполнил первые два пункта из этого поста и запрос из этого. Полученный файл открыл Экселем.

Всем спасибо, надеюсь, мой опыт кому-то поможет

SileLence, Привет,ты уверен,что распаковывал с помощью 7-зип? Просто таже самая ситуация, но 7-зип не распаковывает, говорит,что не его формат.

Для распространенных моделей аппаратов, и в крупных городах, иногда можно обойтись без замены экрана как такового.

Надо «всего лишь» найти сервис, в котором часто ремонтируют подобную модель аппарата, в таких сервисах часто у может быть найдет просто рабочий, пусть и не новый, тачскрин (или экранный модуль) для Вашей модели аппарата.
В этом случае, часто можно договориться за умеренную плату установить временно рабочий тачскрин на Ваш поврежденный аппарат, и извлечь из него данные, даже не собирая аппарат, а «на весу».

Читайте также:  Asphalt 8 mod для андроида

Видимо этим вариантом и займусь..

п.с. через ADB пишет, что device unauthorized. Вот только мне кажется, что я точно включал отладку по USB когда делал рут права(( С этим уже ничего не поделать?

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

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

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

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

объясню смысл текущего запроса
создаем табличку с колонками 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

Источник

Оцените статью