Как сделать дамп на андроиде
Как и чем создать полный дамп ROM-памяти (резервная копия прошивки и данных) на процессорах МТК с помощью Flash Tool
Описание
Как и чем создать полный дамп ROM-памяти на процессорах МТК с помощью Flash Tool
( создание полной резервной копии и последующее восстановление с этой копии )
Задать вопрос, поделится опытом можно в
Зарядить аппарат не менее чем на 80%.
Заранее подготовить папки в корне диска ( раздела ) на ПК.
В именах папок и пути к ним не должно быть ничего кроме латиницы, цифр и нижнего дефиса.
В данном случае, как пример, взят смартфон Lenovo S1L ( Mediatek MT6753 ).
По аналогии ниже описанных действий Вам нужно брать данные со скаттер-файла своего смартфона ( прошивки ) и так же на своём гаджете использовать Terminal Emulator for Android для вычисления размера полного дампа.
Для исполнения данной команды в этом эмуляторе терминала рут-права не требуются.
Размер полного дампа на устройстве с процессором МТК вычисляется так ( открыть спойлер ).
Запустить приложение Terminal Emulator for Android на Вашем гаджете.
Ввести команду cat /proc/partitions
Вводить команду нужно точно так же, как она написана здесь строчкой выше — с одним пробелом после cat и далее с теми же слешами без пропусков и лишних символов.
Приложение отобразит все разделы с памяти устройства количеством блоков в разделе ( один блок = 1024 Байта ).
В строчке mmcblk0 отображена вся память целиком.
Значение со строчки mmcblk0 умножаем на 1024 и получаем размер полного дампа в Байтах.
Переводим полученное значение размера из Dec в Hex и получаем нужное значение для ввода в поле «Length» окна Flash Tool.
На смартфоне Lenovo S1L значение строчки mmcblk0 показало равным 15267840.
15267840 х 1024 = 15634268160 (Dec) = 0x3A3E00000 (Hex).
Для вычислений и перевода из Dec в Hex вполне подойдёт калькулятор с Windows на ПК.
В открытом калькуляторе на вкладке «Вид» выбрать «Программист» — калькулятор переключится в программный вид и автоматом будет выбран режим Dec ( десятичные ).
В этом режиме производим умножение.
Далее при полученном результате выбираем Hex ( шестнадцатиричные ).
Калькулятор переведёт значение из Dec в Hex.
Вот это значение (Hex) и есть нужный Вам тот размер полного дампа с Вашего гаджета, который Вы будете указывать в дальнейшем в окне Flash Tool.
На ПК запустить SP Flash Tool ( SP_Flash_Tool_exe_Windows_v5.1548.00.000 или более поздняя версия ).
1. В папке с программой Flash Tool правым кликом по значку flash tool вызвать контекстное меню.
2. Запустить Flash Tool левым кликом по «Запуск от имени администратора». Если Вы на ПК под учётной записью администратора, то можно и просто двойным кликом по значку flash tool запустить программу.
3. При запуске Flash Tool в первый раз вам выдаст оповещение об отсутствии агента и скаттер-файла в программе. Просто нажмите на «ОК» и откроется стартовое окно программы Flash Tool.
4. Нажать на кнопку «Download Agent».
5. Выбрать папку с программой Flash Tool.
6. В папке выбрать файл «DA_SWSEC.bin».
7. Нажать на кнопку «Открыть».
8. Нажать кнопку «Scatter-loading».
9. Выбрать папку, где находится скаттер-файл с той прошивки, на которой у Вас в данный момент Ваш гаджет.
10. В папке выбрать сам scatter-файл ( выглядит как «MT6753_Android_scatter» с номером Вашего процессора МТК ). Можно выбрать либо из папки с заводской прошивкой для своего аппарата под SP Flash Tool, либо как отдельно сохранённый скаттер-файл. В моём примере скаттер-файл отдельно сохранён в заранее подготовленной папке без всех остальных файлов для установки прошивки с ПК.
11. Нажать на кнопку «Открыть».
12. В окне Flash Tool появится список разделов ( с полными путями к файлам или нет — не имеет значения ). Перейти на вкладку «Readback».
13. На вкладке Readback нажать кнопку Add.В списке ниже появится новая строчка.
14. Сделать двойной клик мыши по строчке. Программа предложит выбрать путь и ввести имя файла для сохранения.
15. Указать на компьютере папку где резервная копия полного дампа будет хранится до момента потребности в ней.
16. Задать имя, при этом обязательно оставляем начальные ROM_ в имени и используем только латиницу, цифры и нижний дефис. Дабы в будущем не ломать голову, вспоминая нужные данные старт адреса и длины, я их прописываю в имени через нижний дефис ( пробел, кириллица или иные знаки в имени не допустимы ).
17. Нажать на кнопку «Сохранить».
18. Следом появится окно Readback block start address. Убедиться, что стоит пункт «Hex».
19. В пункте Region выбрать: EMMC_USER (MT6592 и выше).
В строке Start Address ввести нулевое значение 0x0.
В строке Length ввести Вами ранее вычисленное значение размера полного дампа и преведённого в Hex ( в моём примере это значение 0x3A3E00000 ).
20. Нажать на кнопку «ОК».
21. Проверить и удостовериться, что введены правильные значения во всех столбцах.
22. Нажать на кнопку «Read Back».
Далее после нажатия на «Read Back» аккуратно, одним разом без перетыканий подсоединяем выключенный гаджет к ПК по USB и тут же оставляем гаджет без перекладываний, переворачиваний и тому подобных физических воздействий как на него, так и на ПК.
Процесс сливания дампа начнётся сразу же после подсоединения гаджета по USB.
И лучше на время процесса сливания дампа с гаджета отлучитесь от ПК ( попейте чайку минут 20 — 25 ).
На гаджетах с не съёмными аккумуляторами может присутствовать кнопка «reset», как например на смартфоне Lenovo P780.
Такая кнопка служит аналогом вытаскивания-вставки аккумулятора.
В этом случае нажмите эту кнопку на пару секунд и отпустите её перед подсоединением к ПК.
Дальнейшие действия с 23-го по 29-е будут производиться без Вашего участия :
23. Сразу после подсоединения выключенного гаджета по USB к ПК и успешного срабатывания драйверов в Диспетчере устройств на ПК должен определиться подсоединённый выключенный гаджет, как MediaTek Preloader USB VCOM (Android) (COMx) ( в моём случае как COM4 ) и так же отразиться в нижнем ряду окна Flash Tool.
24. Пробежит красная полоса «Download DA 100%».
25. В окне Flash Tool слева внизу под картинкой отобразится информация по чипу с Вашего гаджета.
26. В нижнем ряду окна Flash Tool (слева направо) начнётся отсчёт размера слитого дампа в Мб и далее после 1000 Мб в Гб, скорость сливания в Мб/сек, текущее время, объём уже слитого дампа в процентах и постепенное заполнение шкалы синим цветом.
27. По окончании сливания дампа шкала будет заполнена синим цветом полностью, там же на шкале надпись достигнет «Read back 100%».
28. Появится небольшое окошко «Read back Ok».
29. Flash Tool автоматически программно отключит подсоединённый гаджет, в Диспетчере устройств на ПК исчезнет строчка «MediaTek Preloader USB VCOM (Android) (COMx)».
30. Теперь можно закрыть программу Flash Tool и отсоединить гаджет от ПК. Дабы посмотреть что у Вас получилось — откройте папку со слитым дампом, правый клик на файле, вкладка «Свойства». Там в скобках отображён реальный размер слитого дампа.
Советую сразу же создать проверочный файл хеш-сумм MD5 для того, чтобы в будущем Вы смогли убедиться в целостности слитого дампа, заново создав файл хеш-сумм MD5 и сравнив его с прежним. Для создания файла хеш-сумм MD5 я использую на ПК утилиту FileMenu Tools — посмотреть инструкцию по созданию файла хеш-сумм и скачать утилиту можно по ссылке здесь (спойлер 2 и 4 )
Внимание ! На новых процессорах МТК от MT67xx и позже ( а смартфон S1L как раз на процессоре MT6753 ) для последующего успешного восстановления со слитого полного дампа необходимо отдельно переписывать разделы tee1 и tee2 на устройство либо отдельно слитым дампом с этих разделов, либо в программе Flash Tool в режиме «Download Only» ( при наличии пакета прошивки для установки с ПК ).
После записи одного только слитого полного дампа на устройство на процессорах МТ67хх, оно у Вас не включится.
Мы рассмотрим здесь вариант, когда допустим, что нет у нас пакета прошивки для установки с ПК на наше устройство.
Следовательно нам необходимо слить кусок дампа с разделов tee1 и tee2.
А для этого нам нужны Start Address и Length.
Следовать нижеописанному ( открыть спойлер ).
И так же по аналогии всех действий сливания полного дампа, следом, отсоединив выключенный смартфон от ПК после сливания полного дампа, приступаем к сливанию куска дампа с разделов tee1 и tee2 суммарно, начиная вводить полученные значения Start Addres и Length на шаге 16 и далее ( выше по скриншотам ).
Запустить тот же Terminal Emulator for Android на Вашем гаджете.
Ввести команду cat /proc/emmc
Вводить команду нужно точно так же, как она написана здесь строчкой выше — с одним пробелом после cat и далее с теми же слешами без пропусков и лишних символов.
Приложение отобразит все разделы с памяти устройства в секторах, как стартовый адрес каждого раздела ( Start Addres ), так и размер занятого пространства в каждом разделе ( nr_sects ).
Чтобы узнать реальные значения в (Hex) необходимо выведенные на экран значения умножать на 200 в том же (Hex).
Итак, нам нужны данные старт адреса и длины обоих разделов tee1 и tee2 в одном куске дампа.
Старт адрес — понятно, тут мы берём данные с экрана со столбика Start Address и строки tee1 — это 00030000 = 0x30000.
Умножаем ( в Hex) 0x30000 на 200 и получаем значение 0x6000000.
Sart Address : 0x6000000
Далее, чтобы наш кусок дампа включал в себя полностью два раздела tee1 и tee2, мы должны взять за окончание дампа стартовый адрес с последующего за разделом tee2 раздела fpr, то есть 00035000 = 0x35000.
Так же (в Hex) умножаем 0x35000 на 200 и получаем значение 0x6A00000.
Теперь вычитаем разницу между началом и концом куска дампа :
0x6A00000 — 0x6000000 = 0xA00000
Вот эта разница и есть длина дампа разделов tee1 и tee2.
Length : 0xA00000
Итого.
Sart Address : 0x6000000
Length : 0xA00000
Для просмотра скаттер-файла рекомендуется Notepad++ . В качестве зеркала версия: Notepad++ 6.6.9
Ну, и в заключение, здесь под спойлером видеоролик всего, что описано выше ( сливание полного дампа и куска дампа tee1+tee2, а так же создание и сохранение контрольных файлов хеш-сумм слитых дампов ).
Для нормальной видимости всего шрифта в видеоролике выберите в просмотре качество 720р.
Ниже видеоролик записи слитого дампа обратно на смартфон ( восстановление с состояния полного окирпичивания )
Снятие дампа памяти из мобильных устройств на Android
В статье рассмастриваются методы сбора данных о работе мобильного устройства на операционной системе Android, которые позволят оперативно получить криминалистически значимую информацию для расследования инцидента в области информационной безопасности.
Введение
Количество преступлений в сфере информационной безопасности и информационных технологий в отношении и с использованием средств мобильной связи неуклонно растет. В этой связи стоить заметить, что большая часть современных мобильных устройств работает под управлением операционной системы Android. Для выяснения причин и последствий инцидентов возникает необходимость изучения хранящейся на них информации. Но при исследовании устройств на Android специалисты сталкиваются со следующими трудностями:
- Имеющиеся на данный момент программы не охватывают извлечение данных из всех мобильных устройств, существующих в мире.
- Времена, когда специалистов интересовали данные только из телефонной книги, вызовы или SMS-сообщения, извлеченные из мобильного устройства, давно прошли. Сейчас их дополнительно интересуют: история посещенных сетевых ресурсов, история программ обмена короткими сообщениями, удаленные данные, геолокационные координаты и другая криминалистически значимая информация.
- Зачастую преступники, пытаясь скрыть информацию о совершенных ими злодеяниях, удаляют данные из памяти своих мобильных устройств.
- Специализированные программные комплексы обычно слишком дороги для судебных лабораторий и экспертных подразделений.
Разбор инцидентов преступлений в сфере информационной безопасности на первоначальном этапе
Раскрывать преступления в сфере инфокоммуникационных технологий сложно, так как нередко преступники прибегают к различным уловкам, маскируя свои преступные деяния. Отображение в памяти мобильных устройств связи (сотовых телефонов, смартфонов, планшетных компьютеров, портативных устройств GPS и пр.) криминалистически важной доказательственной и ориентирующей информации требует от специалиста целенаправленного поиска и изъятия указанных предметов, извлечения из них имеющей значение для уголовного дела информации, ее фиксации и анализа. Многое здесь зависит от возможностей криминалистической техники, позволяющей в короткие сроки получить важную (включая удаленную) информацию из памяти мобильных устройств связи, карт памяти, SIM-карт участников инцидента. Для выявления инцидентов, произошедших с использованием средств мобильной связи, есть криминалистические методы, применяемые при производстве судебных компьютерных экспертиз. Сотрудники Института повышения квалификации Следственного комитета России исследовали программно-аппаратный комплекс для извлечения судебной информации, и выяснилось, что в 87% исследуемых мобильных аппаратов имеется информация, способствующая раскрытию преступлений. Хочется верить, что вскоре применение программно-аппаратных комплексов для установления объективной истины по уголовным делам станет повсеместным.
Следует учитывать, что речь идет о двух самостоятельных действиях: изъятие самого мобильного устройства связи; извлечение информации из памяти мобильного устройства или SIM-карт, карт памяти.
Получить мобильное устройство связи можно при:
- осмотре места происшествия (ст. 176 УПК РФ);
- осмотре трупа (ст. 178 УПК РФ);
- обыске (ст. 182 УПК РФ);
- выемке (ст. 183 УПК РФ);
- личном обыске подозреваемого, обвиняемого (ст. 93, 184 УПК РФ).
Кроме того, выемку мобильного устройства могут осуществить сотрудники органа дознания по письменному поручению следователя, в производстве которого находится уголовное дело, но обязательно с участием специалиста.
Проводя указанные выше следственные действия (в зависимости от характера и способа совершенного преступления, складывающейся следственной ситуации), следует обращать внимание вот на что:
Во-первых, на место нахождения и возможного сокрытия мобильных устройств связи и, в особенности, извлекаемых из них накопителей (например, SIM-карт). При осмотре места инцидента необходимо изымать все мобильные устройства и SIM-карты, находящиеся при потерпевшем для установления, в частности, последних контактов лица. Кроме того, мобильные устройства связи возможно обнаружить в ходе осмотра местности и жилища. Следует иметь в виду, что данные лица могут принять меры к сокрытию или уничтожению мобильных устройств, либо электронных накопителей (например, SIM-карт).
Известны случаи, когда извлеченная информация из памяти мобильного устройства способствовала раскрытию уголовных преступлений.
Так в деле о совершении действий сексуального характера с ребенком в ходе проводимого расследования было установлено, что преступник снимал на свой мобильный телефон видео о том, как он совершал эти самые сексуальные действия. На момент, когда мобильное устройство попало к специалисту, видео было уже удалено преступником. Восстановить видео из памяти устройства не представилось возможным. Однако с помощью извлечения данных удалось восстановить графическую миниатюру файла, ранее присутствовавшего на исследуемом устройстве. Несмотря на то, что восстановленный графический файл был небольших размеров, это изображение помогло привлечь преступника к уголовной ответственности. Рассмотрим другой пример: необходимо было восстановить сообщения, которыми обменивался преступник со своими подельниками с использованием мобильного приложения WhatsApp. При извлечении данных с мобильного устройства были получены сообщения WhatsApp. В том числе была восстановлена переписка между преступниками.
Так как же специалисту получить данные с мобильного устройства? Надежное извлечение данных из мобильных телефонов требует специальных знаний. Оно выполняется иначе, чем извлечение информации из компьютеров. Не во всех мобильных устройствах используются одинаковые операционные системы или компоненты.
Большинство из них представляют собой устройства оригинальной разработки с уникальной конфигурацией, что сильно осложняет извлечение. Данные в изъятом телефоне могут помочь в быстром раскрытии преступления по горячим следам, опытный специалист за считанные минуты может получить данные, необходимые для подтверждения или опровержения предварительных подозрений.
Но главное — это не сами данные, а их содержание. Будь то простой телефонный звонок или более сложное восстановление координат GPS, скрытых в метаданных изображений, — они помогают проследить соединения между устройствами с целью лучшего понимания взаимосвязей между их обладателями.
На данный момент самым сложным является именно извлечение данных из мобильного телефона, нежели работа с ними. Так как специалистов интересуют в том числе и удаленные данные, находящиеся в памяти мобильных устройств, необходимо сделать физическое извлечение данных из памяти мобильного устройства. Т. е. получить полную копию памяти исследуемого им устройства. Сделать физический дамп памяти мобильного устройства возможно следующими методами.
Метод снятия дампа памяти с помощью программного обеспечения Android Debug Bridge
Android Debug Bridge (ADB) — это программный продукт для отладки, выявление ошибок в приложениях, разблокировки устройств на операционной системе Android.
- Для того чтобы начать использование ADB RUN, загружаем его с официального сайта по ссылке (http://androidp1.ru/adb-run-obzor-funktsiy/) и устанавливаем на персональный компьютер.
Примечание: Android-смартфон или планшет должен быть с Root-правами (или, как его еще называют, суперпользователь). Это необходимо, чтобы расширить функциональность операционной системы Android.
- Подключаем устройство Android к персональному компьютеру.
- Запускаем программу ADB RUN и переходим в каталог Manual Command > Adb, там мы видим каталог /dev/block. В нем находятся разделы system, data, cache.
- Для распознавания каталога /dev/block/ вводим команду: adb shell mount.
- Далее мы получим список, где отображаются разделы, к которым мы имеем доступ.
Рисунок 1. Список разделов system, data, cache
Примечание: Когда мы уже знаем, где находятся разделы, можно приступить к снятию образа Android (дампа) с выбранного раздела.
- Для снятия образа в программе ADB RUN заходим в меню Manual Command > Adb.
- Входим с правами администратора: adb shell su.
Рисунок 2. Меню в ADB RUN
- Набираем команду для снятия дампа:
dd if=/dev/block/XXXXXXXXX of=/sdcard/NAME_razdel.img где XXXXXXXXX — раздел, с которого снимается образ, а NAME_razdel.img — имя, которое присваиваем при снятии образа с выбранного раздела, имена лучше оставлять такими же, как они указаны, не переименовывая их.
Примечание: Процедура снятия образа может занять время от 30 минут и более, в это время запрещается пользоваться устройством!
В новых версиях программы ADB RUN имеется возможность быстро снять образ, не набирая каждый раз столь длинные команды. Для этого необходимо знать имя блока.
- Когда мы знаем необходимый нам блок, переходим в ADB RUN.
- С главного меню в раздел Backup -> Backup dev/block.
- Выбираем Backup.
- Указываем последние данные с блока (данные после block/).
- Ждем окончания процесса снятия образа.
Программный комплекс «Мобильный Криминалист»
«Мобильный Криминалист» — это программа для судебно-технической экспертизы сотовых телефонов, смартфонов, планшетов и других мобильных устройств. Применение низкоуровневых протоколов доступа к данным позволяет «Мобильному Криминалисту» извлекать намного больше информации, чем другим программам аналогичного назначения, особенно это касается данных, хранящихся в смартфонах. Получение прав суперпользователя (root-права) к устройствам под управлением ОС Android позволяет специалистам полностью извлечь все данные пользователя. Обычно подобная процедура требует определенных знаний и навыков, о которых мы уже говорили, однако программа «Мобильный Криминалист» делает эту операцию автоматически. Получение прав суперпользователя — одна из основных функций Мастера извлечения данных. Важное преимущество этого метода заключается в том, что root-права являются временными и после перезагрузки мобильного устройства отменяются. Поэтому методика полностью соответствует принципам криминалистического исследования.
При подключении телефона в Мастере настройки соединения автоматически запускается Мастер извлечения данных. Это позволяет считать данные с исследуемого мобильного телефона. Устройство может быть подключено как в автоматическом, так и в ручном режиме.
Рисунок 3. Обнаружение устройства
При выборе автоматического режима будет подключено первое обнаруженное программой мобильное устройство. Необходимо учитывать это, если к компьютеру одновременно подключено несколько мобильных устройств. Если же специалист выбирает устройство вручную, необходимо указать производителя и модель.
Рисунок 4. Режим подключения устройств
Если происходит получение данных на ОС Android, специалисту будет предложено выбрать, каким образом извлечь данные из мобильного устройства.
Рисунок 5. Способы извлечения данных
Специалист также может отметить категории данных, которые должны быть извлечены. Чем меньше категорий извлекаемых данных, тем быстрее они будут извлечены.
Рисунок 6. Список разделов для извлечения из устройства
После того как данные будут считаны, специалист может экспортировать их во внешние форматы файлов или открыть исследуемое устройство в программе и проанализировать данные. После того как Мастер извлечения данных закончит свою работу, специалист может посмотреть данные в разделах программы. Список разделов, поддерживающихся в программе «Мобильный Криминалист»:
Аналитические задачи, важные улики, веб-соединение и местоположение, граф связей, журнал, задачи, заметки, календарь, лента событий, лог-файлы аппарата, местонахождение события, объединенные контакты, отчеты, пароли, поиск, приложения, статистика и связи, телефонная книга, файловый браузер. Следует обратить внимание, что количество извлеченных данных и секций зависит от модели телефона. Отчеты, создаваемые программным комплексом «Мобильный Криминалист», могут использоваться в качестве доказательства в суде. Отчет об устройстве содержит основную информацию о телефоне, включая информацию об устройстве, о деле и непосредственно об отчете.
В новой версии программы эксперты-криминалисты имеют возможность извлекать файлы, синхронизированные через сервис OneNote, а также всю информацию из Google Фото (фотографии, географические координаты и временные отметки). Новая версия Мастера извлечения данных из облачных сервисов дает возможность загружать ключ-файл для расшифровки баз сообщений приложения WhatsApp, извлекаемых из облака Google Диск.
Выводы
Специальная экспертиза мобильных устройств — развивающаяся предметная область при расследовании инцидентов в сфере информационной безопасности. Следовательно, инструментальные средства для работы с мобильными телефонами являются относительно новыми разработками и находятся на ранней стадии развития в области информационной безопасности. Умение правильно снять данные с мобильного устройства требует от специалиста глубоких знаний и компетентности, а также основательной подготовки, осторожности и большого количества исследований и тестирований перед экспертизой мобильного устройства. Следовательно, для экспертизы подобных устройств следует выделять значительное количество времени. Сочетание традиционных программно-аппаратных комплексов и методов для анализа мобильных устройств, используемых при производстве компьютерно-технических экспертиз, дает наилучшие результаты при анализе дампов мобильных устройств. При этом специалисты могут получить больше данных, в том числе удаленных, и, соответственно, имеют больше шансов изобличить преступников в совершенных ими злодеяниях.