Сделать бэкап с помощью flashtool. Перепрошивка через flashtool. SP Flash Tool: прошивка Android-устройств на базе процессоров Mediatek. Запись бэкапа с помощью Google

Часто пользователи андроид устройств экспериментируют с новыми прошивками для своих аппаратов. Перед таким обновлением обязательно нужно сделать бэкап на своем андроид устройстве.

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

О том, как сделать бэкап на своем андроиде с помощью утилиты Flashtool и пойдет сегодня речь.
Flashtool — это утилита, позволяющая выполнять операции по копированию и прошивке данных, для различной электроники.

Внимание! Все операции, проводимые с помощью данной инструкции, осуществляются вами на свой страх и риск.
Перед тем, как приступить к работе по снятию бэкапа, настоятельно рекомендуем вам прочитать данную инструкцию полностью.

Для проведения всей процедуры потребуется следующее:

  • Сама утилита SP Flash Tool (Сайт разработчика)
  • оригинальная прошивка для вашего устройства;
  • надежный и рабочий кабель USB;
  • компьютер.

Подготовка и настройка устройства.

Первый этап

Первое, что необходимо для бэкапа на андройд, это скачать оригинальную прошивку для устройства.

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

Прошивка нам понадобится для того, чтобы изъять из нее 2 необходимых для работы файла.

Этими файлами являются:

  • MT_(номер_прошивки)_Android_scatter.txt;
  • preloader_br(номер_прошивки)_weg_l.bin.

Создайте рабочую папку на компьютере и поместите в нее вышеуказанные файлы.

Второй этап

Скачайте последнюю версию Flash Tool. Если она в архиве, то разархивируйте ее. Поместите папку с софтом в рабочую директорию, в которой находятся preloader и scatter.txt.

Третий этап

Если MTK драйвера для андройд девайса никогда не устанавливались на этот ПК, то скачайте их из интернета. Сделать это можно так: подключите телефон через USB-кабель к компьютеру. Дождись, когда система определит устройство и предложит найти или установить для него драйвер. После этого, укажите путь до сохраненной вами папки с драйверами. Дождитесь завершения установки.
На этом подготовительные этапы завершены. Далее перейдем непосредственно к работе и настройке flashtool.

Настройка и работа в утилите

Запустите программу от имени администратора.

После того, как произойдет запуск, необходимо указать путь к файлу _____scatter.txt. Для этого, нажмите на кнопку «Scatter-loading» и укажите необходимый путь.

Если все прошло успешно, появится рабочее пространство с блоками данных.

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

Обратите внимание! Что при переходе во вкладку «Memory test» должны быть проставлены галочки только на следующих чек боксах:

  • RAM Test;
  • Data Bus Test;
  • Addr Bus Test;
  • Dedicated Pattern Test;
  • Inc/Dec Pattern Test.

После произведения необходимых настроек, можно приступать к самому тесту.
Для этого, нажимаем кнопку старт и подключаем устройство (которое должно быть выключено) кабелем к USB-порту вашего ПК или ноутбука.

Внимание! Сначала нажимаем старт, а уже потом подключаем.

Как только девайс подключен, flashtool начнет считывание памяти и вывод информации на экран.
После получения необходимых данных, телефон или планшет можно отключить.
Теперь, нам потребуется запустить стандартную программу «блокнот». После чего необходимо скопировать нужную нам информацию из Flashetool в Notepad.

Обратите внимание! Копировать нужно только секторы, которые имеют размер (он указан в скобках в мегабайтах).
Сектора с нулевыми показателями в блокнот переносить не нужно!

Информация будет в таком виде:


Сохраняем полученные данные в блокноте и закрываем его. Отключаем устройство от компьютера.

Процесс бэкапа

Вот мы и добрались до самого главного — до копирования памяти устройства.
Снова открываем утилиту для бэкапа и снимаем галочку с поля «preloader».

Переходим во вкладку «Readback».

После нажатия кнопки в окошке таблички появится следующая строчка:

Кликните на нее два раза мышкой. Откроется окно выбора пути для сохранения файла бэкапа.

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

Здесь необходимо указать для каждого сектора памяти свои данные (те, которые вы записали в блокноте).
Например, для сектора EMMC_BOOT1 необходимо скопировать данные находящиеся в блокноте, а именно 0x0000000000200000. И вставить их в колонку «Length». Другие колонки не изменяем.

Осталось только нажать на «Ok» и после на кнопку «Read Back».

Теперь можно подключить выключенный смартфон или планшет к компьютеру. После подключения, произойдет операция копирования и появится зеленый значок, сигнализирующий о завершении работ. Теперь девайс можно отключить.
Поздравляем!
Первый блок дампа был скопирован и сохранен.

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

Когда вы закончите копирование всех блоков, вы можете перенести все файлы с данными из папки на компьютере в безопасное место. Например, на Яндекс Диск или аналогичное облачное хранилище. В случае сбоев в работе устройства, вы всегда можете восстановить аппарат с помощью приготовленных заранее бэкапов. Делается это похожим способом, той же программой — SP Flash Tool. Но это уже, совсем другая история.

Люди зачастую не хотят переплачивать за бренд производителя смартфона или планшета. Ведь за половину стоимости аппарата «с именем» в одном из многочисленных интернет-магазинов можно купить чистокровного «китайца». Вылечить «детские болезни» таких аппаратов можно с помощью перепрошивки.

Прошивка смартфона: вход рубль, выход - два

Крайне невнятная или отсутствующая техническая поддержка , прошивка, рассчитанная на китайский рынок - нередко отсутствие базовых сервисов Google и магазина приложений Play Market заставляют владельцев искать пути обновления ПО своих аппаратов на прошивки, максимально близкие к чистому Android: Cyanogen Mod или Lienage OS.

Но прошивка многочисленных семейств китайских смартфонов не очень прозрачна и проста: подводных камней хватает. Найти сборку именно для вашего китайского друга непросто, а корректно прошить - ещё сложнее. Что же делать, если идти в сервис-центр неохота или его поблизости нет? Как пройти извилистым фарватером и не напороться на рифы фатальных ошибок?

Многим пользователям Android-девайсов известно, что эксперименты с прошивками, инсталляция различных дополнений и исправлений достаточно часто приводят к неработоспособности устройства, которая исправима только установкой системы начисто, а этот процесс подразумевает полную очистку памяти от всей информации. В том случае, если пользователь заранее позаботился о создании резервной копии важных данных, а еще лучше — полного бэкапа системы, восстановление девайса в состояние «как было до…» займет считанные минуты.

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

Под резервной копией личной информации подразумевается сохранение данных и контента, сгенерированных пользователем в процессе эксплуатации Андроид-девайса. К такой информации можно отнести перечень установленных приложений, фотографии, сделанные камерой девайса или полученные от других пользователей, контакты, заметки, музыкальные и видео файлы, закладки в браузере и т.п.

Одним из самых надежных, а главное простых способов сохранить личные данные, содержащиеся в Андроид-девайсе является синхронизация данных из памяти аппарата с облачным хранилищем.

Полный бэкап системы

Вышеперечисленные методы и похожие на них действия позволяют сохранить наиболее ценную информацию. Но при прошивке устройств зачастую теряются не только контакты, фотографии и т.п., ведь манипуляции с разделами памяти устройств предполагают их очистку от абсолютно всех данных. Чтобы оставить за собой возможность вернуться к предыдущему состоянию ПО и данных, необходим только полный бэкап системы, т.е., копия всех или определенных разделов памяти устройства. Другими словами, создается полный клон или слепок программной части в особые файлы с возможностью восстановления девайса в предыдущее состояние позднее. Это потребует от пользователя определенных инструментов и знаний, зато может гарантировать полную сохранность абсолютно всей информации.

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

Способ 1: TWRP Recovery

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


Способ 2: CWM Recovery + Android-приложение ROM Manager

Как и в прошлом способе, при создании бэкапа Андроид-прошивки будет использоваться модифицированная среда восстановления, только от другого разработчика – команды ClockworkMod – . В целом способ аналогичен использованию TWRP и предоставляет не менее функциональные результаты – т.е. файлы резервной копии прошивки. При этом, CWM Recovery не обладает необходимыми многим пользователям возможностями по управлению процессом создания бэкапа, например, невозможно выбрать отдельные разделы для создания резервной копии. Зато разработчики предлагают своим пользователям неплохое Андроид-приложение ROM Manager, прибегнув к функциям которого, можно приступить к созданию бэкапа прямо из операционной системы.


Способ 3: Андроид-приложение Titanium Backup

Программа Titanium Backup является очень мощным, но при этом довольно простым в использовании средством создания бэкапа системы. С помощью инструмента можно сохранить все установленные приложения и их данные, а также пользовательскую информацию, включая контакты, журналы звонков, sms, mms, точки доступа WI-FI и другое.

К преимуществам можно отнести возможность широкой настройки параметров. К примеру, доступен выбор приложений, которые и данные которых будут сохранены. Для создания полноценного бэкапа Titanium Backup необходимо предоставить рут-права, то есть, для тех устройств, на которых не были получены права Суперпользователя, способ неприменим.

Крайне желательно заранее позаботиться о надежном месте сохранения создаваемых резервных копий. Внутренняя память смартфона не может считаться таковой, рекомендуется использовать для хранения бэкапов диск ПК, облачное хранилище или в крайнем случае MicroSD-карту девайса.

  1. Устанавливаем и запускаем Titanium Backup.
  2. В верхней части программы есть вкладка «Резервные копии» , переходим на нее.
  3. После открытия вкладки «Резервные копии» , необходимо вызвать меню «Пакетные действия» , нажав на кнопке с изображением документа с галочкой, расположенного в верхнем углу экрана приложения. Или нажать сенсорную кнопку «Меню» под экраном устройства и выбрать соответствующий пункт.
  4. Далее нажимаем кнопку «ПУСК» , расположенную возле опции «Сделать р.к. всего пользовательского ПО и системных данных» .Открывается экран со списком приложений, которые будут сохранены в резервную копию. Поскольку происходит создание полного бэкапа системы, здесь ничего не нужно менять, необходимо подтвердить готовность к началу процесса, нажав на зеленую галочку, расположенную в правом верхнем углу экрана.
  5. Начнется процесс копирования приложений и данных, сопровождаемый выведением информации о текущем прогрессе и названии компонента ПО, сохранение которого происходит в данный момент времени. Кстати, приложение можно свернуть и продолжить использование устройства в обычном режиме, но, во избежание сбоев, лучше так не поступать и дождаться окончания создания копии, процесс происходит довольно быстро.
  6. По окончании процесса открывается вкладка «Резервные копии» . Можно заметить, что значки, расположенные справа от названий приложений, изменились. Теперь это своеобразные смайлики разного цвета, а под каждым наименованием программного компонента появилась надпись, свидетельствующая о созданной резервной копии с датой.
  7. Файлы резервной копии хранятся по пути, указанном в настройках программы.

    Во избежание потери информации, к примеру, при форматировании памяти перед установкой системного ПО, следует скопировать папку с бэкапами хотя бы на карту памяти. Это действие осуществимо с помощью любого файлового менеджера для Android. Неплохим решением для осуществления операций с файлами, хранящимися в памяти Андроид-девайсов, является .

Дополнительно

Кроме обычного копирования папки резервных копий, созданных с помощью Titanium Backup в надежное место, с целью перестраховки от потери данных можно настроить средство таким образом, чтобы копии создавались сразу на MicroSD-карте.


Способ 4: SP FlashTool+MTK DroidTools

Использование приложений и является одним из самых функциональных способов, который позволяет создать действительно полноценную резервную копию всех разделов памяти Android-девайса. Еще одним преимуществом способа является необязательное наличие рут-прав на устройстве. Способ применим только для устройств, построенных на аппаратной платформе Mediatek, за исключением 64-битных процессоров.

  1. Для создания полной копии прошивки с помощью SP FlashTools и MTK DroidTools, помимо самих приложений, понадобятся установленные ADB-драйвера, драйвера для режима загрузки MediaTek, а также приложение (можно также использовать , а вот обычный Блокнот не подойдет). Загружаем все необходимое и распаковываем архивы в отдельную папку на диске С:.
  2. Включаем на устройстве режим «Отладки по USB» и подключаем его к ПК. Для включения отладки,
    сначала активируется режим «Для разработчиков» . Для этого идем по пути «Настройки» «Об устройстве» — и тапаем пять раз по пункту «Номер сборки» .

    Затем в открывшемся меню «Для разработчиков» активируем с помощью переключателя или галочки пункт «Разрешить отладку по USB» , а при подключении аппарата к ПК подтверждаем разрешение проведения операций с помощью ADB.

  3. Далее необходимо запустить MTK DroidTools, дождаться определения устройства в программе и нажать кнопку «Карта блоков» .
  4. Предыдущие манипуляции – это шаги, предшествующие созданию scatter-файла. Для этого в открывшемся окне нажимаем кнопку «Создать scatter файл» .
  5. И выбираем путь сохранения скаттера.

  6. Следующий этап – определение адреса, который понадобится для указания программе SP FlashTools при определении диапазона блоков в памяти устройства для чтения. Открываем полученный в предыдущем шаге скаттер-файл в программе Notepad++ и находим строку partition_name: CACHE: , под которой чуть ниже расположена строка с параметром linear_start_addr . Значение этого параметра (на скриншоте выделено желтым цветом) необходимо записать или скопировать в буфер обмена.
  7. Непосредственное чтение данных из памяти устройства и сохранение их в файл осуществляется с помощью программы SP FlashTools. Запускаем приложение и переходим на вкладку «Readback» . Смартфон или планшет при этом должен быть отключен от ПК. Нажимаем кнопку «Add» .
  8. В открывшемся окне наблюдается единственная строка. Кликаем по ней дважды для задания диапазона чтения. Выбираем путь, по которому будет сохранен файл будущего дампа памяти. Имя файла лучше оставить без изменений.
  9. После определения пути сохранения откроется небольшое окошко, в поле «Length:» которого необходимо внести значение параметра linear_start_addr , полученное в шаге 5 настоящей инструкции. После внесения адреса, нажимаем кнопку «ОK» .

    Нажимаем кнопку «Read Back» одноименной вкладки в SP FlashTools и подключаем выключенный (!) девайс к порту USB.

  10. В том случае, если пользователь заранее позаботился об установке драйверов, SP FlashTools автоматически определит аппарат и начнет процесс чтения, о чем свидетельствует заполнение индикатора выполнения синего цвета.

    По завершению процедуры, выводится окошко «Readback OK» с зеленым кружком, внутри которого расположилась подтверждающая галочка.

  11. Результатом выполнения предыдущих шагов является файл ROM_0 , представляющий собой полный дамп внутренней флеш-памяти. Для того, чтобы с подобными данными было возможно осуществлять дальнейшие манипуляции, в частности, заливать прошивки в устройство, необходимы еще несколько операций с помощью MTK DroidTools.
    Включаем аппарат, загружаемся в Андроид, проверяем что «Отладка по ЮСБ» включена и подключаем девайс к USB. Запускаем MTK DroidTools и переходим на вкладку «root, backup, recovery» . Здесь понадобиться кнопка «Сделать бэкап из ROM_ флэштула» , нажимаем ее. Открываем, полученный в шаге 9 файл ROM_0 .
  12. Сразу после нажатия на кнопку «Открыть» начнется процесс разделения файла дампа на отдельные образы разделов и прочие данные, необходимые при восстановлении. Данные о продвижении процесса отображаются в области лога.

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

  13. Результатом работы программы является папка с файлами-образами разделов памяти устройства – это и есть наша резервная копия системы.

Способ 5: Бэкап системы с помощью ADB

При невозможности использования других методов либо по другим причинам, для создания полной копии разделов памяти практически любого Android-девайса можно воспользоваться инструментарием разработчиков ОС – компонентом Android SDK – . В целом ADB предоставляет все возможности для проведения процедуры, необходимы только рут-права на устройстве.

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

  1. Подготовительные процедуры заключаются в получении рут-прав на устройстве, включении отладки по USB, подключении девайса к порту ЮСБ, установке драйверов ADB. Далее загружаем, устанавливаем и запускаем приложение ADB Run. После того, как вышеперечисленное выполнено, можно переходить к процедуре создания резервных копий разделов.
  2. Запускаем ADB Run и проверяем, что девайс определился системой в нужном режиме. Пункт 1 главного меню — «Device attached?» , в раскрывшемся списке производим аналогичные действия, снова выбираем пункт 1.

    Положительным ответом на вопрос, подключен ли девайс в режиме ADB, является ответ ADB Run на предыдущие команды в виде серийного номера.

  3. Для дальнейших манипуляций необходимо наличие списка разделов памяти, а также сведения о том, к каким «дискам» — /dev/block/ было осуществлено монтирование разделов. С помощью ADB Run получить такой список довольно просто. Переходим в раздел «Memory and Partitions» (п.10 в главном меню приложения).
  4. В открывшемся меню выбираем пункт 4 – «Partitions /dev/block/» .
  5. Раскрывается список с перечислением методов, которыми будут осуществляться попытки прочитать необходимые данные. Пробуем каждый пункт по порядку.

    В случае, если метод не срабатывает, выводится следующее сообщение:

    Выполнение придется продолжать до появления полного перечня разделов и /dev/block/:

    Полученные данные, необходимо сохранить любым доступным способом, автоматической функции сохранения в ADB Run не предусмотрено. Наиболее удобным способом зафиксировать отображаемую информацию, является создание скриншота окна с перечнем разделов.

После того как мы скачали все необходимое, можно, например, создать в корне какого-нибудь папку Android и разложить распакованное содержимое архивов по папкам, т.е. драйвера в папку Drivers, Platform Tools в отдельную папку, SP Flash Tool в отдельную, MTK Droid Tools тоже в отдельную.

Далее включаем на своем устройстве Режим разработчика и активируем отладку по USB. Т.е. сначала заходим в Настройки -> О телефоне (Об устройстве) и кликаем несколько раз (5-7) по надписи «Номер сборки», до появления сообщения о том что Режим разработчика активирован. Далее переходим в меню Настройки -> Для разработчиков и ставим галочку на «Отладка по USB»:

После этого подключаем устройство к ПК и устанавливаем драйвера ADB (т.е. либо запустив AdbDriverInstaller.exe из архива, либо открыв диспетчер устройств и указав вручную путь к драйверам в папке Android ADB driver x64 для неизвестного устройства). В результате должно получиться так (Диспетчер устройств):

Устройство Android ADB Interface в диспетчере устройств подтверждает что у нас все готово к следующему шагу.

Ждем пока устройство определится в нем и нажимаем кнопку «Карта блоков»:

После чего нажимаем кнопку «Создать scatter файл» и сохраняем получившийся файл (у меня он назывался MT6582_Android_scatter.txt) на диск. На этом этап подготовки закончен и можно приступать непосредственно к чтению данных.

Открываем получившийся файл в Notepad++ или Word (обратите внимание, обычный блокнот не подойдет) и находим в нем строчку partition_name: CACHE:

И запоминаем то, что у вас написано в графе linear_start_addr, в данном случае это — 0x3E900000.

Отключаем телефон от ПК и выключаем его, т.е. держим кнопку выключения питания и выбираем в меню «Отключение питания», также можно отсоединить и вставить батарею. Далее запускаем SP Flash Tool и переходим в нем на закладку Readback. Далее нажимаем кнопку Add. В результате в таблице появится одна строка:

Кликаем по ней, у нас появляется запрос выбора места сохранения файла ROM_0, выбираем папку, в которую мы его хотим сохранить и на следующем экране в поле Length вводим запомненное нами ранее число (linear_start_addr):

В итоге должно получиться что-то вроде этого:

После чего подключаем выключенный телефон (!) к ПК. В этот момент желательно открыть диспетчер устройств. Пока никакие кнопки в SP Flash Tool на этом экране не нажимаем!

В момент подключения у вас определится неизвестное устройство MT65xx PreLoader и ОС предложит вам установить драйвера на него. На картинке ниже это наглядно показано. Лучше сразу перед подключением телефона открыть диспетчер устройств, чтобы «отловить» момент появления MT65xx PreLoader. Если устройство появится, а ОС не предложит автоматически установить драйвера, то это надо сделать вручную, кликнув правой кнопкой мыши на устройстве MT65xx PreLoader.

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

Если драйвера установились — можно переходить к следующему шагу. Обратите внимание, что при подключении телефона Preloader USB VCOM Port может появляться всего на несколько секунд — это нормально, наша задача на этом этапе установить драйвера телефона, чтобы он определялся именно как Preloader USB VCOM Port, а не неизвестное устройство MT65xx PreLoader. Если вы вдруг не успели установить драйвера, а телефон включился — вытаскиваем батарею, отсоединяем телефон, вставляем батарею, подключаем телефон и повторяем процедуру.

Как только мы убедились что драйвера у нас установлены — отсоединяем телефон от ПК. Выключаем его, в открытом у нас SP Flash Tool нажимаем кнопку Readback и подключаем выключенный телефон к ПК. После этого у нас пойдет процесс считывания прошивки из телефона:

Многие пишут о затруднениях возникающих именно на этом шаге. Попробую объяснить чуть подробнее. После того как вы нажимаете кнопку Readback — SP Flash Tool переходит в режим ожидания подключения телефона, т.е. подразумевается что до этого вы успели отловить момент когда выключенный телефон у вас определяется как MT65xx PreLoader и установить на него драйвера, чтобы в COM-портах у вас появился Preloader USB VCOM Port. Если вдруг по каким-то причинам SP Flash Tool написал об ошибке, или телефон не успел подключиться — может помочь следующая методика (все описанное справедливо только если вы корректно установили драйвера и при подключении телефона у вас появляется именно Preloader USB VCOM Port): отключаем телефон от ПК, вынимаем батарею, нажимаем кнопку Readback, подключаем телефон с вытащенной батареей. В SP Flash Tool пойдет красная полоска (Download), за это время быстро вставляем батарею назад, если мы успели, то пойдет синяя полоска Readback с процентами, как на картинке:

Ждем пока процесс завершится. Создание backup’а может занимать 10-15 минут. Просто смотрим на бегущие проценты и ничего не трогаем 😉 По окончании процедуры чтения у вас появится надпись Readback Ok:

Пока у нас делается Backup самое время пояснить что же такое scatter файл и что представляет собой файл ROM_0, который мы получим на выходе. Память телефона — это обычная EMMC Flash, которая разбита на определенные разделы. Scatter файл это и есть файл описания разделов (так, например в Scatter’е есть разделы PRELOADER, RECOVERY, LOGO, ANDROID и т.п.). Назначение разделов различно, так, например в Recovery — содержится образ recovery, в logo — логотип, использующийся при загрузке системы, в Android — образ system и т.п. Файл ROM_0, который мы получаем на выходе по сути представляет собой сплошной дамп EMMC Flash в одном файле. Но чтобы воспользоваться полученным backup’ом прошивки, например, для восстановления другого аналогичного аппарата — нам еще будет необходимо разбить его на разделы. Здесь я опишу несколько способов как это сделать. Первый и самый распространенный — через MTK Droid Tools. Допустим у нас уже есть файл ROM_0 сделанный с помощью SP Flash Tool.

Включаем питание устройства (телефона) и даем ему загрузиться, после чего вновь запускаем MTK Droid Tools (режим отладки по USB на телефоне при этом, естественно, должен быть включен, а драйвера ADB установлены на ПК), переходим на закладку root, backup, recovery и нажимаем кнопку «Создать бэкап из ROM_ флэштула»:

Выбираем получившийся у нас на предыдущем шаге ROM_0 и в окне лога видим примерно следующее:

— Папка сохранения на компьютере: E:\Android\MtkDroidTools\backups\KINGSING_S1_141117_ForFlashtoolFromReadBack_150512-005322\
— scatter сохранен в файле:
E:\Work\Мегафон Login Plus\MtkDroidTools\backups\KINGSING_S1_141117_ForFlashtoolFromReadBack_150512-005322\MT6582_Android_scatter.txtкопирование завершено
— preloader.bin …скопировано … cut OK
— MBR …скопировано
— EBR1 …скопировано
— pro_info …скопировано
— nvram.bin …скопировано
— protect_f …скопировано
— protect_s …скопировано
— seccfg …скопировано
— uboot.bin …скопировано
— boot.img …скопировано

Ну и т.д. Теперь в папке сохранения, у меня это E:\Android\MtkDroidTools\backups\ у нас появляется папка с полным backup’ом нашей прошивки, разбитым на разделы (т.е. каждый раздел в отдельном файле):

На этом процесс создания Backup’а прошивки завершен. Если вы только хотели узнать как сделать backup прошивки с помощью SP Flash Tool и у вас все получилось, дальше можно не читать.

Для продвинутых

А что делать если MTK Droid Tools «не видит» телефон? Или же не получается создать scatter файл или разбить получившийся файл ROM_0 на разделы? Как получить карту разделов и есть ли возможность «разрезать» файл ROM_0 вручную? Такая возможность есть. Чтобы получить карту разделов на MTK 65xx нужно в консоли ADB дать команду — т.е. запустить в консоли adb shell и уже там набрать эту команду:

Если вдруг телефон по каким-то причинам не видится и через ADB (в этом случае я советую ознакомиться с мануалом по ADB, может быть проблема в VEN_ID устройства и его нужно просто прописать в %USERPROFILE%\.android\adb_usb.ini , то ту же самую команду можно дать и в самом телефоне, установив Terminal Emulator for Android из Google Play:

Как видите — результат точно такой же и linear_start_address раздела cache можно взять и отсюда. Да, к слову, в новых устройствах, например на базе MTK 6752, таких как Билайн Про, ZTE Q Lux и т.п. карту разделов можно получить с помощью cat /proc/partinfo. MTK Droid Tools с этими устройствами вообще не работает.

Методика получения адреса старта раздела cache, который нужен для получения ROM_0 с помощью SP Flash Tool у нас теперь есть. Также мы знаем адреса (смещения) и размеры каждого из разделов. Т.е. чтобы «порезать» ROM_0 на разделы — использовать MTK Droid Tools нам вовсе не обязательно. Это можно сделать «руками» в любом Hex-редакторе, поддерживающим функцию выделения и сохранения блока в файл (я пользуюсь консольным HIEW). Ну и в качестве примера давайте «вырежем» раздел с Recovery из получившегося ROM_0 файла.

Мы знаем (из scatter’а или из dumchar_info) его linear_start_addr: 0x4180000 и partition_size: 0x1000000. Открываем ROM_0 в HIEW и переходим на 0x4180000. Т.е. в консоли делаем hiew32 ROM_0, затем нажимаем F5 и вбиваем адрес начала раздела — 4180000:

Как вижно по 4180000 у нас находится сигнатура ANDROID!, что говорит нам о том, что мы на верном пути 😉 Адрес конца раздела вычисляется как linear_start_addr+partition_size-1 = 0x517FFFF в нашем случае. Нажимаем в HIEW * (звездочку на доп. клавиатуре) для начала выделения блока (если подвигать стрелками вверх / вниз / вправо / влево, то мы видим как блок начинает выделяться цветом) и либо спускаемся до 0x517FFFF, либо делаем это через F5:

И заканчиваем выделение блока, опять же через «серую» * (на доп. клавиатуре). После этого нажимаем F2 — Put block (сохранение блока в файл):

И раздел recovery у нас записан. Точно также можно вырезать из ROM_0 любой другой раздел. Как вы понимаете MTK Droid Tool при этом нам вообще не нужен.

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

p.s. На этом пока все … пост получился как «черновой вариант», т.к. писался на скорую руку, возможно позже я его дополню, если будут какие-то непонятные моменты. И конечно же, как всегда, буду раз вашим комментариям и вопросам …

p.p.s. Как меня успели немного поправить, в /proc/dumchar_info содержатся не linear_start_addr из scatter’а, а physical_start_addr. Т.е. в приведенном примере для раздела с recovery мы имеем:

linear_start_addr: 0x4180000
physical_start_addr: 0x2D80000
partition_size: 0x1000000

И в /proc/dumchar_info мы в графе StartAddr мы видим именно physical_start_addr. Но если мы взглянем на размер первого раздела (preloader), то становится понятно как перевести physical_start_addr в linear_start_addr, если к 0x2D80000 добавить 0x1400000 (это как раз размер preloader’а), то как раз получается 0x4180000.