FoxtrotKZ

Бэкап настроек MTK - nvram.img MTK6575/83** и выше

2 posts in this topic

бэкап nvram.img.

Внимание !!! владельцам аппаратов на процессорах MTK 6572/и_ВЫШЕ читать спойлер "ДОПОЛНЕНИЕ" , содержащий информацию по бэкапу дополнительных блоков.
Итак Вы стали владельцем смартфона на процессоре MTK6575/83** и выше.
И если читаете это значит Вам уже сказали(узнали сами) о необходимости сохранения NVRAM (настроек смартфона, IMEI, итд).
В Сети много мануалов как сделать Full BackUp через FlashTool, и очень мало как правильно сделать бэкап NVRAM
Справедливости ради уточним что ПолныйБэкап всё равно крайне желателен, и из него можно при необходимости вытащить этот самый блок nvram.
Почему-же тут идёт претензия на "правильность" ?!?
Не будем рассматривать вариант когда смартфон уже модифицировали, а разберём случай когда смарт с заводской прошивкой и немодифицирован.
В подавляющем большинстве случаев телефон довольно прилично защищён от вмешательства и простому пользователю придётся пройти кучу процедур и действий для выше указанного и возможно будет не понятно почему-же у него нет результата, а самое главное что некоторые из вариантов как-раз могут привести к потере этих самых Настроек.
В таких случаях лучшим, а иногда и единственным способом получить NVRAM является слитие его через пару программ MTK Droid Tools и FlashTool
При помощи первой мы узнаем где лежат наши настройки, а при помощи второй сохраним их на компьютер.

Внимание! эта процедура только сохранит блок nvram.img а ЧТО там лежит на момент сохранения другое дело.
Внимание: В этой инструкции не описано КАК устанавливать драйвера для прошивки и драйвера ADB - есть куча описаний по этому вопросу. У Вас все эти драйвера уже должны быть установлены.
Внимание: инструкция ТОЛЬКО как слить NVRAM
Все цифры будут приводится на примере Lenovo P770
И в заключительной части приведу пару примеров
А. Получаем Scatter файл для смартфона через MTK Droid Tools
Этот пункт можно пропустить если scatter для вашего аппарата уже точно имеется.
Предположим что Вы купили смартфон ну очень новый и для него ещё нет прошивок и как следствие нет scatter-файла.
MTK Droid Tools будет работать через драйвера ADB и они уже должны быть установлены. Так-же в Настройках телефона надо найти и включить "Отладку по USB": "Настройки - О телефоне - Номер сборки" - жмём на ней несколько раз - напишет "вы стали разработчиком" - идём на уровень вверх - "Для разработчиков" - вкл "Отладка по USB" (если такой пункта не появляется см. Примеры)
- Запускаем MTK Droid Tools
- Подключаем ВКЛюченный смартфон к ПК
- Ждём пока смартфон определится
- Нажимаем кнопку "Карта блоков" (1)
post-891-0-78858900-1391343238_thumb.jpg
- В появившемся окне нажимаем "Создать scatter файл" и сохраняем полученный файл. (2) обозвав его как-нибудт так MT6577_Android_scatter_emmc.txt
post-891-0-43367400-1391343248_thumb.jpg
Б1. Узнаём адрес и длину nvram
Открыв скаттер в txt-редакторе ищем строку __NODL_NVRAM и следующую за ней
__NODL_NVRAM 0xA08000
{
}
__NODL_SECCFG 0xF08000 (Эта строка следующая за __NODL_NVRAM может называться по другому в зависимости какой блок идёт следом)
цифры могут быть другими, это зависит от модели или прошивки
Итак в данном примере нужный нам адрес это 0xA08000
Длину вычисляем на "Программистском-калькуляторе" 0xF08000 - 0xA08000 = 0x500000
(Пуск - Программы - Стандартные - Калькулятор - Вид - Программист)
Б2. Узнаём адрес и длину nvram
Открыв скаттер нового типа в txt-редакторе, увидим описание блоков следующего типа

- partition_index: SYS4
  partition_name: NVRAM
  file_name: NONE
  is_download: false
  type: NONE
  linear_start_addr: 0x1000000
  physical_start_addr: 0x0
  partition_size: 0x500000
  region: EMMC_USER
  storage: HW_STORAGE_EMMC
  boundary_check: true
  is_reserved: false
  operation_type: BINREGION
  reserve: 0x00

цифры могут быть другими, это зависит от модели или прошивки
Итак в данном примере нужный нам адрес linear_start_addr это 0x1000000
Длина указана ниже partition_size = 0x500000
В. Сливаем nvram.img
Файл scatter кладём в папку target_bin с ФлашТул
Запускаем FlashTool
Нажимаем кнопку "Scatter-loading" и выбираем наш scatter файл. (3)
Переходим на вкладку Read back (4)
post-891-0-10081200-1391343258_thumb.jpg
Нажимаем кнопку Add (5) . В таблице появляется строка N/A. Если в таблице уже были строки - их нужно удалить кнопкой Remove.
Делаем двойной клик на появившейся строке (6) и даем название файлу с нашим бекапом, например ROM_NVRAM. Выбираем "Сохранить". (7)
post-891-0-96923100-1391343273_thumb.jpg
В появившемся окне "Read block start address" вносим адрес и длину которые мы получили до этого. (8)
Для примера данные P770 У ВАС могут быть другие цифры!
Start Address: 0xA08000
Length: 0x500000
Когда нажмём кнопку "ОК" программа сама выставит нужное количество нулей перед цифрами. (9)
post-891-0-91416800-1391343285_thumb.jpg
Нажимаем кнопку "Read back" (10)
post-891-0-75930500-1391343292_thumb.jpg
Подключаем ВЫКЛюченный смартфон к USB.
Начнётся сохранение блока памяти. По окончанию выйдет окно с зелёным кругом.
!!! Как подключать, с батареей или без с какими зажатыми кнопками определяете сами, методом перебора. Это зависит от аппарата !!!
Для примера мой Lenovo P770 я просто подключаю с АКБ и в ВЫКЛ состоянии и начинается процесс слития.

После этого сохраняем в нескольких местах (Комп, Флэшки, Телефон) ваши настройки, можно сделать копии с именем nvram.img
Теперь желательно проверить то-ли слилось ;)
Запускаем какой-нибудь HEX-editor открываем в нём наш nvram.img
Для nvram MTK мы должны увидеть в ХЕКС-редакторе упоминания о папках /data/nvram
и ниже о том что содержатся IMEI /data/nvram/md/NVRAM/NVD_IMEI/
post-891-0-42651600-1391343305_thumb.jpg
Для процессоров МТ6572 и выше

на процессорах MTK со скаттером нового типа появились скрытые блоки

PRO_INFO.img PROTECT_F.img PROTECT_S.img

было замечено следующее:

Многие новые (v.5 и даже v.3) прошивальщики SP_Flash_Tool если вы шьёте через кнопку "Firmware Upgrade" сохраняют бэкап вашего телефона. НО !!!  только на время прошивки, а после завершения удаляют его.

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

После того как пробежали синие полосы и начались желтые, но до окончания прошивки идём в папку BackupData и наблюдаем там цифро-буквенную папку в которой и лежат файлы которые по мнению ФлэшТулл и являются нашим "индивидуальным бэкапом".

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

 

01f082bffd19171cea25b406d13c45ae.jpg

 

Делаем вывод:

теперь нужно сохранять бэкап NVRAM.img PRO_INFO.img PROTECT_F.img PROTECT_S.img

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

 

В подтверждении этого, во многих моделях можно увидеть Серийные Номера лежащие в незашифрованном виде в блоке PRO_INFO

post-891-0-85018500-1429283722_thumb.png

Заключение
Пример 1.
Принесли как-то Lenovo A800 (МТК6577 4.0.4 - ничего не предвещало ... )
На автомате слил nvram.img а заодно boot и recovery
Ну думаю сразу пропатчу boot для "RootShell через ADB" и сделаю мод-рекавери. Тут-же сделал и...
Залил Бут и МодРекавери через SP_Flash_Tool_v3.1238.5.sn58 -Download , которой уже перешил кучу МТ6577
Включаю аппарат ... чё-за-#$%? на экране появляется мелкий шрифт на ENG что-то типа "...сорри лоадинг файлед..."
Вытаскиваю "Шаманский-Бубен" и начинаются танцы вокруг тела.
В итоге выясняю что прошивку для этого смарта заливать надо ФлэшТулом которая идёт ВМЕСТЕ с прошивкой - SP_Flash_Tool_v3.1238.5.sn0 остальные что были у меня портили прошивку. :(
Заливаю через неё(v3.1238.5.sn0) сток-прошивку - ОппА ... одна из этих ФТ стёрла nvram и нигде даже намёка не проскочило.
Опять шаманские обряды - телефон полностью поднят.
НО бэкап НВРАМ сберёг уйму нервных клеток.

Пример 2.
Принесли какой-то китовый планшет "НоуНэйм".
И так и эдак, но не отображается пункт "Включить Отладку по USB"
Заводские разработчики намертво отключили этот пункт.
Аппарат на МТ6577 JB4.1.1 core 3.4.0 - как следствие ADB полностью заблокировано.
Ни одна программа для получения СуперПользователя не срабатывает.
Прошивки естественно нет ни одной, ну и Скаттера то-же.
Взял первый попавшийся Scatter от 6577 - MT6577_Android_scatter_emmc.txt
Но подойдёт любой txt файл содержащий хотя бы (Проверенно)
PRELOADER 0x0
{
}

При установке размеров указал
Start Address: 0x0
Length: 0xD0000000
"Read back"
Слилось 3,3Гб
в HEX-редакторе по поиску /data/nvram/md/NVRAM/NVD_IMEI/
Было обнаружено что блок NVRAM находится на "стандартных" для МТ6577 адресах 0xA08000 и длинной 0x500000
Из ФуллДампа были при помощи HEX-редактора вырезанны все нужные блоки, включая NVRAM

П.С.: не претендую на авторство, всё это уже наверно описывалось, но в Поиск зачастую "не рулит"

Edited by FoxtrotKZ
добавлена инф-я о доп блоках
14 people like this

Share this post


Link to post
Share on other sites

Добавлено описание по бэкапу дополнительных блоков

PRO_INFO.img

PROTECT_F.img
PROTECT_S.img

2 people like this

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.