Делаем дамп системы в любом виде, заблокированном и разблокированном загрузчике. И восстанавливаемся из дампа.
Ответственность за ваши действия над аппаратом несёте вы сами, будьте осторожны и внимательны, а самое главное не торопиться и несколько раз все проверить!
Подготовка всего что нужно. Если не стоят LibUSB-win32, мтк драйвера,
UsbDk и
Python 3.9,
Git то ставим.
Подготавливаем MTKclient
git clone https://github.com/bkerler/mtkclient
cd mtkclient
pip3 install -r requirements.txt
Настраиваем LibUSB-win32. Для появления "MTK USB Port" на картинке 2, необходимо подключить выключенное тело с зажатыми кнопками громкости "+" и "-" к шнурку.
Берем MTKSecBootDisable от
сюда.
Запускаем его и жмакаем кнопку Disable Secure Boot
Зажимаем на телефоне "+" и "-" и подключаем выключенный телефон по usb. Должно получится так:
Скачиваем и запускаем SP Flash Tool 5.2124.00. Скачиваем MT6785_Android_scatter.txt, preloader_oppo6785.bin, открываем scatter файл затем перелоадер, ставим на против него галочку.
Сохраняем дамп!В флештуле переходим на вкладку readback, нажимаем кнопку Add.
Первый дамп будет для раздела preloader:
Два раза нажимаем на появившейся строке, указываем место и имя сохранения дампа. Regoin должен быть BOOT_1, begin address 0x0000000000000000, lenght 0x0000000000080000 нажимаем Ок.
Как узнать правильную длину(lenght)? Открываем скатер файл в текстовом редакторе находим в нем раздел preloader, нас интересует строка "partition_size: 0x80000"
Второй дамп будет для самой прошивки:
Еще раз нажимаем на кнопку Add. Два раза нажимаем на появившейся строке, указываем место и имя сохранения дампа. Regoin должен быть user, begin address 0x0000000000000000, lenght 0x00000002a1800000 нажимаем Ок.
Как узнать правильную длину(lenght)? Открываем скатер файл в текстовом редакторе находим в нем блок cache, нас интересует строка "linear_start_addr: 0x2a1800000". Выбираем начало этого раздела потому как он расположен сразу после раздела super. Если вы хотите сохранить дамп в месте с пользовательскими данными то длинна дапа будет такова linear_start_addr: 0x2bc800000 раздела userdata + partition_size: 0x380000000 раздела userdata = 0x63C800000.
Далее нажимаем кнопку read back, должно начаться сохранение дампа.
Восстановление из дампа!Во флештуле нажимаем кнопки "ctrl" + "alt" + "v", переходим во вкладку "window" нажимаем "write memory" - появляется новая вкладка "write memory", переходим на нее и открываем наш дамп, указываем begin address 0x00000000 и указываем region в которому соответствует дамп.
Когда все готово нажимаем кнопку "write memory" начнется восстановление дампа.
Восстановление из дампа с помощью mtkclientВыполняем команду:
ROM_1 - это регион USER(прошивка). ROM_0 - это регион BOOT_1(preloador) его через mtkclient не восстановить, только через флештул.
Т.е. иными словами дамп сделанный флештулом можно восстановить через mtkclient и только регион USER(прошивка), но скорость будет при восстановлении на порядок меньше чем через флештул.
Переходим к mtkclient, вводим команды для форматирования пользовательских разделов (если восстанавливали дамп без разделов userdata и cache):
python mtk e metadata,userdata,md_udc
Зажимаем кнопки на телефоне "+" и "-" и подключаем выключенный телефон по usb
потом
python mtk reset
Отключаем телефон от usb и включаем аппарат. После второго перезапуска попадаем в рековери, делаем wipe и снова перзапускаемся в систему. Готово!
Дополнение к инструкции от уважаемого
Graaaken,Прикрепленные файлы
Git-2.34.1-64-bit.exe ( 48.07 МБ )
libusb-win32-devel-filter-1.2.6.0_bypassfrpfiles.com.zip ( 602.61 КБ )
MTKSecBootDisable.zip ( 11.29 МБ )
QcomMtk_Driver_Setup.zip ( 14.17 МБ )
python-3.9.8-amd64.exe ( 27.57 МБ )
UsbDk_1.0.22_x64.msi ( 6.05 МБ )
SP_Flash_Tool_v5.2124_Win.zip ( 65.18 МБ )
MT6785_Android_scatter.txt ( 49.63 КБ )
preloader_oppo6785.rar ( 195.16 КБ )
MCT+MTK+BYPASS+Rev4.rar ( 28.08 МБ )
Сообщение отредактировал Paha_net - 12.10.22, 06:37Причина редактирования: Восстановление дампа через mtkclient