Восстановление удаленных файлов из внутренней памяти Android устройства
Сегодня мы поговорим о восстановлении удаленных данных из внутренней памяти смартфона.
Важно: нужен root и активирована отладка по usb.
Суть состоит в том, что любые файлы с жесткого диска (флешки) можно восстановить с помощью различных программ (R-studio, HandyRecovery, Recuva и т.д.) даже если они были удалены.
Но, есть одно но. Для совершения данного действия необходимо, что бы эти программы могли определить носитель информации, с которого будет производится восстановление как жесткий диск или флешку, так как при штатном подключении устройства к ПК он определяется как «Портативное устройство brandname» или тому подобное.
Проще говоря, внутренняя память телефона скрыта от программ по восстановлению данных.
Так вот, что бы можно было работать с внутренней памятью, её необходимо преобразовать в обычный раздел жесткого диска.
Просто так, это сделать не получится, поэтому необходимо скопировать с устройства на компьютер определенный блок памяти и потом преобразовать его в нужный формат.
Для выполнения работ нам понадобиться:
1. Устройство с которым будут проводиться манипуляции.
2. USB data кабель.
3. Компьютер под управлением ОС Windows(желательно не ниже "7ки").
4. Пиво(опционально).
Инструкция:
1. В настройках устройства в вкладке " Настройки=> Специальные возможности =>Для разработчиков " активируем отладку по USB. Устанавливаем на компьютер ADB driver.
2.Установливаем на устройство ROOT-права (как это сделать, можно прочитать на 4pda.ru в профильной теме своего устройства) ), а также ClockworkMod recovery, оно же CWM. Как это сделать, читаем на 4pda, для каждого устройства требования и инструкции свои.
3.Установливаем из Play Маркета программу BusyBox ( https://play.google.com/store/apps/details?...ericson.busybox ). Выполняем вход в эту программу, предоставляем ей права супер-юзера и нажать install. При этом важно, чтобы install был произведен в каталог system\bin, он указана по умолчанию, примерно по середине экрана программы.
4. Устанавливаем на ПК Cygwin (софтина позволяет применять команды Linux в среде WINDOWS) http://www.cygwin.com/ . Заходим на сайт и нажимаем на ссылку setup.exe, после этого начнется скачивание. Запускаем установку, выбираем install from internet. Папку установки C:\cygwin. Далее выбираем папку (можно любую), в которую во время установки будут скачены составляющие пакеты cygwin. Далее нажимаем Direct Connection. Дальше выбираем сайт с которого будут качаться пакеты(там пофиг). Далее появляется сам список пакетов, в котором надо обязательно выбрать следующие пункты:
- в пункте Devel все подпункты название которых начинается с букв gcc (они идут подряд)
- в пункте Debug подпункт pv-debugininfo
- в пункте Utils подпункт pv
5.Скачиваем дополнение для Cygwin, которое называется Netcat http://www.daemon.de/Netcat. Скачивать нужно zip-архив. После его распаковки все файлы перенести в каталог C:\cygwin. Главное, что бы находящийся в архиве, в папке bin, файл nc.exe скопировался в папку C:\cygwin\bin. Остальные файлы, лежащие в корне архива, как я понял, можно просто скопировать в папку C:\cygwin (возможно они вообще не нужны).
6.Дальше скачиваем ADB. Распаковываем архив и копируем все файлы из него в папку C:\cygwin\bin
7.В папке C:\cygwin создаем папку с любым названием. Например назовем ее "MyPhone"
8.Скачиваем файл VHDtool.exe (это программа, которая из скопированного с планшета блока сделает формат, который в последствии будет монтироваться как виртуальный диск и использоваться программами восстановления файлов). Копируем его в папку C:\cygwin\MyPhone.
9. Теперь надо понять какой именно блок надо скопировать на компьютер, поскольку во внутренней памяти планшета их несколько (у меня 11) и каждый из них содержит какой-то кусок информации, если нас интересуют фотки, видео и тд, то надо знать блок, который содержит соответствующую информацию. Дабы понять какой блок чего содержит, почитайте вот этот тредик: http://forum.xda-developers.com/showthread.php?p=28115791 (нужно немного знать английский) , но можно не париться, и просто выбирать самый большой блок. Узнать размер блока можно следующим образом:
- Пуск-Выполнить-CMD.EXE.
- С помощью команд «cd» (ввойти в каталог) и «cd..» (выйти из каталога) заходим в каталог C:\cygwin\bin, что бы запустить adb
- Далее построчно вводим команды:
adb shell
su
find /dev/block/platform/ -name 'mmc*' -exec fdisk -l {} \; > /sdcard/list_of_gnex_partitions.txt
Содержание данного файла будет примерно такое:
Disk /dev/block/platform/sdhci-tegra.3/mmcblk0p10: 314 MB, 314572800 bytes
4 heads, 16 sectors/track, 9600 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Примерно так. Понятное дело, что размер блока может быть отличимым, это норма.
10. Выключаем устройство и входим в режим CWM. Заходим в пункт "Mounts and Storage" и нажатием кнопки mount, следующие разделы: /system и /data.
11. Заходим в папку C:\cygwin и запускаем файл Cygwin.bat далее вводим построчно следующий код:
adb forward tcp:5555 tcp:5555
adb shell
su
/system/bin/busybox nc -l -p 5555 -e /system/bin/busybox dd if=/dev/block/mmcblk0
Возможно где: system/bin/ придется вводить system/xbin/, имейте это пожалуйста ввиду.
12. И снова мы заходим в папку C:\cygwin и опять запускаем файл Cygwin.bat. Появиться еще одно окно. Туда построчно вводим вот такой код:
adb forward tcp:5555 tcp:5555
cd /mytab
nc 127.0.0.1 5555 | pv -i 0.5 > mmcblk0.raw
После ввода данных команд, у нас начнется монтирование образа этого блока в формате *.raw . Примерно на это уйдет 30-40 минут, здесь нам пригодиться заранее припасенное пиво :). Визуально в окне командной строки мы будем созерцать вот такое кинцо:
По окончании в папке C:\cygwin\myphone появится файл mmcblk0.raw. Он должен быть примерно такого размера как и сам блок. На данном этапе, устройство можно отсоединить от компьютера. Далее будем работать над бэкапом блока.
13. Закрываем оба окна с запущенный батником Cygwin.bat. Заходим в папку C:\cygwin и еще раз запускаем файл Cygwin.bat и преобразовываем только что скопированный блок с помощью программы VhdTool. Для этого прописываем в консольку:
VhdTool.exe /convert mmcblk0.raw
в итоге(минуты через 3-4) должно появиться сообщение: Status: Complete. При этом само название файла не изменится. Файл так и будет называться mmcblk0.raw, но из-за его модификации, мы сможем подсоединить его к компьютеру как виртуальный диск.
Делаем на всякий случай копию, копий много не бывает.
14. Нажимаем правой кнопкой мышки на иконку мой компьютер, выбираем пункт Управление. В появившемся окне, слева, переходим в раздел Запоминающие устройства, а далее переходим в Управление дисками. В верхнем меню выбираем пункт Действие и выбираем Присоединить виртуальный жесткий диск. В появившемся окне, в пункте тип файла (где написано Файлы виртуального диска (*.vhd)), выбираем Все файлы. После чего выбираем файл, который мы стащили с планшета, то есть mmcblk0.raw.
15. После этого, в нижней части окна появится новый диск. Справа от этой надписи будет написано Не распределен. Нажимаем правой кнопкой мыши на название нашего диска и выбираем пункт Инициализировать диск. Далее ставим галочку на пункте Таблица с GUID разделом.
16. Нажимаем правой кнопкой мыши на надпись Не распределен и выбираем пункт Создать простой том…В следующих окнах присвоим тому буквенное наименование и отказываемся от форматирования, сняв соответствующую галочку.
17. После нажатия кнопки в Готово в системе появится новый Локальный диск (буква которую присвоили) и сразу же выскочит окно, предлагающее вновь его отформатировать. Соглашаемся на данное предложение и форматируем диск, при этом указывая файловую систему Fat32, стандартный размер кластера и обязательно поставив галочку на пункте Быстрое форматирование.
18. Всё, теперь диск готов к работе с программами по восстановлению данных. Для восстановления можно использовать PhotoRec(консольную утилиту, довольно неплохая) или же иные аналоги(Recuva, R-Studio).
Надеюсь было интересно и полезно, хорошего всем дня.