Как сделать дамп прошивки android
Снять образ с Android (снять дамп разделов system, kernel, data, zImage)
Многие начинающие ромоделы Android или гики не знают как снять образ с Android. В данной статье подробно рассказано как узнать нужные вам /dev/block, как снять дампы с них, разобрать их или в последствие восстановиться.
Для тех кто ничего не понял о чем речь. В данной статье будет подробно рассказано как снять текущее состояние с разделов Android — system, data, efs, preload, cache или выдрать ядро (zImage / boot.img). С какой целью расписываться здесь не будет, так как это уже другая история.
Необходимо для снятия образа
Инструкция как снять образ с Android
Узнаем /dev/block разделов
Что такое /dev/block/? /dev/block/ — это «диски» на которых находятся разделы system, data, cache.
Вариант 1
Данный способ самый простой, но к сожалению узнать, где находиться ядро не возможно.
Для того чтобы узнать /dev/block/ вводим команду:
adb shell mount
Получаем список, где видим список с нашими разделами и к каким /dev/block/ они примонтированы
Вариант 2
Подключаем Android к компьютеру в adb вводим:
Получаем весь список блоков.
Снятие образа Android с выбранного раздела
И так когда мы уже знаем где находятся какие разделы, можно приступать к снятию образа Android (дампа) с выбранного раздела. Перед тем как начать убедитесь что у вас достаточно много свободной памяти на карте памяти!
3. Набрать linux команду для снятия дампа:
dd if=/dev/block/XXXXX of=/sdcard/NAME_razdel.img
Процедура снятия может занять определенное время, от 1 минуты до 15, в это время лучше не дергать ваш Android!
[Обновление]
В новых версиях ADB RUN появилась возможность быстро снять образ каждый раз не набирая столь длинные команды. Все что вам нужно это знать имя блока.
Когда вы уже знаете необходимый блок, перейдите в ADB RUN:
Восстановление раздела из созданного образа Android (дампа раздела)
Когда вам будет необходимо выполнить восстановление из ранее созданного образа, нужно сделать вот, что:
Убедитесь что образ все еще находиться в разделе /sdcard — так как бекап создавался именно в этот раздел, либо переместите его обратно.
Прописать следующую команду:
dd if=/sdcard/NAME_razdel.img of=/dev/block/XXXX
Процедура восстановления может занять определенное время, от 1 минуты до 30 в это время лучше не дергать ваш Android!
[Обновление]
Особенно актуально для тех кто не удачно выполнил S-OFF (или планирует выполнить) или неудачно прошил кастомную прошивку, либо после не удачных экспериментов!
Для устройств Sony, HTC, Xiaomi и других устройств на которых есть режим Fastboot могут выполнить восстановление следующим образом после ранее обязательного снятия boot.img (zImage) и system.img (factoryfs.img) скопируйте данные образы на ПК:
fastboot flash boot boot.img
fastboot flash system system.img
Система будет восстановлена в исходное состояние! Можете продолжать эксперименты!
На этом все! Подписывайтесь и Оставайтесь с сайтом Android +1! Удачи!
Как сделать дамп прошивки android
Мною разработаны средства под различные типы чипов (микроконтроллеров), имеющих различие в строении образов. По мере поступления информации я буду выкладывать ее Вам в соответствующем разделе. В разделе «Дополнительная информация» будут находиться ссылки на заметки (статьи), ОБЩИЕ для всех чипов.
Используйте ее для общего ознакомления со средством, т.к. такая же находится в общем архиве.
Для варианта Pro: README_Pro_1.2.rar ( 5,23 КБ )
или в pdf формате RKwinTools_Pro_1.1.pdf ( 580,36 КБ )
Для стандартного варианта: README_133.rar ( 7,58 КБ )
Вариант Pro: RKwinTools_Pro_v1.2.rar ( 6,02 МБ )
Стандартный вариант: RKwinTools_v133.rar ( 5,86 МБ )
Программа редактирования параметров файла Parameter перенесена в тему Разметка памяти мобильных устройств. Теория и практика.
Свежая версия для Win 7 MTwinTools_v0.7.7z ( 3,43 МБ )
Свежая версия для ХР ( благодаря пользователю ANT__)MTwinTools_v0.6.1_winxp.rar ( 4,16 МБ )
Инструкция пользователя (такая же имеется и в архиве со средством):Readme_LenovoWinTools_v1.2.7z ( 5,24 КБ )
Для запуска используется командная строка вида:
AppImageMaker Как сделать дамп прошивки android [sourceFile] [destPath], где
AppImageMaker d:\app\SR_APP_Update.app f:\qwerty
то файл SR_APP_Update.app из папки d:\app будет распакован в папку f:\qwerty.
Если не введен путь к конечной папке (папке назначения), то она создается в той же папке, где находится приложение AppImageMaker, с именем «update» по-умолчанию. Например, строка вида:
распакует указанный файл в папку с именем update, созданную рядом с приложением AppImageMaker.
Если не указать также путь и имя файла прошивки, то по-умолчанию для прошивки будет использоваться имя «Update.app». Например, если ввести строку вида:
то приложение будет искать файл с именем «Update.app» в папке рядом с ним. При наличии такого файла он будет распакован в тут же созданную папку «update».
Для особо любознательных есть еще один ключ «/crc». По нему в папку назначения параллельно с распакованными файлами прошивки будут записываться контрольные суммы этих файлов, найденные в прошивке в заголовках этих файлов, с расширением «.crc».
У средства появились последователи, которые выпускают «модифицированные» под свои нужды варианты: And_pda
Распаковывает все (и симлинки тоже). Консольный вариант.
Об ImgExtractorImgExtractor_V1_1.rar ( 175,56 КБ )
Ext4Extractor_V1_5_2.rar ( 174,8 КБ )
Инструкция для пользователя Ext4ExtractorExt4Extractor_V1_5.rar ( 174,81 КБ )
Ext4Extractor_v1_3.rar ( 174,65 КБ )
Примечание. Так как тема посвящена средствам, работающим исключительно под Windows, все посты, рекламирующие обработку Linux-средствами, будут безжалостно удаляться как несоответствующие основной теме и мешающие работе. Это не означает что я противник Linux, но для него существует море других тем.
В теме нет куратора. По вопросам наполнения шапки обращайтесь к модераторам раздела через кнопку под сообщениями, на которые необходимо добавить ссылки.
Инструкция по добавлению пути в переменные среды Windows
ВНИМАНИЕ. Внесенные изменения начнут действовать без перезагрузки компьютера при следующем вызове командной строки или запуске файлового менеджера.
Итак,
Операционная система Windows XP x86.
На рабочем столе выбираем ярлык «Мой компьютер», кликнув на нем правой кнопкой мыши, вызываем контекстное меню и выбираем в нем команду «Свойства». Откроется окно «Свойства системы».
Выбираем вкладку «Дополнительно».
Внизу слева нажимаем кнопку «Переменные среды». Откроется окно «Переменные среды».
В области «Системные переменные» находим переменную «Path» и, выделив ее, нажимаем на кнопку «Изменить».
В поле «Значение переменной:» в конце дописываем путь к необходимой папке, отделяя его от существующего значения «точкой с запятой». Например, «;D:\Cygwin».
Нажимаем «ОК» для записи пути и последовательно закрываем все открытые окна.
Для начала я посмотрю устройство образа, а потом посмотрим, что нужно и можно сделать.
Автору респект и уважуха и +
writing boot image config in cfg/boot.cfg
extracting kernel in kernel/zImage.img
extracting ramdisk in ramdisk/initrd.cpio.gz
gzip: initrd.cpio.gz: not in gzip format
Не удается найти указанный файл.
Не удается найти C:\RKwinTools\Unpack\Boot\ramdisk\*.cpio
Если можете, посмотрите можно-ли с этим что-то сделать.
прикладываю boot.img и stackdump.boot.img ( 3,81 МБ )
stackdump.zip ( 460 байт )
Пользуйтесь в свое удовольствие.
Как и чем создать полный дамп ROM-памяти (резервная копия прошивки и данных) на процессорах МТК с помощью Flash Tool
Описание
Как и чем создать полный дамп ROM-памяти на процессорах МТК с помощью Flash Tool
( создание полной резервной копии и последующее восстановление с этой копии )
Задать вопрос, поделится опытом можно в
Зарядить аппарат не менее чем на 80%.
Заранее подготовить папки в корне диска ( раздела ) на ПК.
В именах папок и пути к ним не должно быть ничего кроме латиницы, цифр и нижнего дефиса.
В данном случае, как пример, взят смартфон Lenovo S1L ( Mediatek MT6753 ).
По аналогии ниже описанных действий Вам нужно брать данные со скаттер-файла своего смартфона ( прошивки ) и так же на своём гаджете использовать Terminal Emulator for Android для вычисления размера полного дампа.
Для исполнения данной команды в этом эмуляторе терминала рут-права не требуются.
Размер полного дампа на устройстве с процессором МТК вычисляется так ( открыть спойлер ).
Запустить приложение Terminal Emulator for Android на Вашем гаджете.
Ввести команду cat /proc/partitions
Приложение отобразит все разделы с памяти устройства количеством блоков в разделе ( один блок = 1024 Байта ).
В строчке mmcblk0 отображена вся память целиком.
Значение со строчки mmcblk0 умножаем на 1024 и получаем размер полного дампа в Байтах.
Переводим полученное значение размера из Dec в Hex и получаем нужное значение для ввода в поле «Length» окна Flash Tool.
На смартфоне Lenovo S1L значение строчки mmcblk0 показало равным 15267840.
15267840 х 1024 = 15634268160 (Dec) = 0x3A3E00000 (Hex).
Для вычислений и перевода из Dec в Hex вполне подойдёт калькулятор с Windows на ПК.
В этом режиме производим умножение.
Далее при полученном результате выбираем 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. Нажать на кнопку «Открыть».
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.
На гаджетах с не съёмными аккумуляторами может присутствовать кнопка «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)».
После записи одного только слитого полного дампа на устройство на процессорах МТ67хх, оно у Вас не включится.
Мы рассмотрим здесь вариант, когда допустим, что нет у нас пакета прошивки для установки с ПК на наше устройство.
Следовательно нам необходимо слить кусок дампа с разделов tee1 и tee2.
А для этого нам нужны Start Address и Length.
Следовать нижеописанному ( открыть спойлер ).
И так же по аналогии всех действий сливания полного дампа, следом, отсоединив выключенный смартфон от ПК после сливания полного дампа, приступаем к сливанию куска дампа с разделов tee1 и tee2 суммарно, начиная вводить полученные значения Start Addres и Length на шаге 16 и далее ( выше по скриншотам ).
Запустить тот же Terminal Emulator for Android на Вашем гаджете.
Ввести команду cat /proc/emmc
Ну, и в заключение, здесь под спойлером видеоролик всего, что описано выше ( сливание полного дампа и куска дампа tee1+tee2, а так же создание и сохранение контрольных файлов хеш-сумм слитых дампов ).
Для нормальной видимости всего шрифта в видеоролике выберите в просмотре качество 720р.
Ниже видеоролик записи слитого дампа обратно на смартфон ( восстановление с состояния полного окирпичивания )