Восстановление телефона с убитой Flash-памятью - FAQ | MOTOsoft : Все только лучшее!

МЕНЮ

ПОСЛЕДНИЕ НОВОСТИ

РЕКЛАМА

Q: Восстановление телефона с убитой Flash-памятью




Бывает, с нашими моторолками случается такое, что им уже ничего не помогает.
Это случается если у вас "сломалась" flash-память, в которой хранится прошивка и вся остальная программная начинка" телефона.
Против этого не помогает ПРАКТИЧЕСКИ НИЧЕГО - ни один из описанных на Мото-софте способов не помог мне, ВКЛЮЧАЯ ТЕСТПОИНТ! Но, однако, я придумал один прием, с помощью которого можно поднять телефон ДАЖЕ С УБИТОЙ flash-памятью(дальше просто флешкой)! И с помощью этого приема был поднят мой телефон с убитой флешкой.

Симптомы:
- Ramldr при стирании выкидывает ERR Г
- MFF и PST не прошивают ничего, а только сообщают об ошибках и частично очищает память тела.

Для того, чтобы восстановить телефон, нам понадобится следующее:
- Труп телефона с убитой флешкой - 1 шт.
- Бэкап этого же телефона в рабочем состоянии - 1 шт.
- Заряженная батарейка - чем больше, тем лучше или питание от USB - датакабеля
- Программа Ramldr by Vilko (ramldr.exe) - 1 шт.
- Загрузчик к проге Ramldr (ldr_*.bin) - 1 шт.
- Любой нормальнай HEX-редактор (я пользуюсь XVI32) - 1 шт.
- Руки - чем прямее, тем лучше - 2 шт.

На самом деле, сама починка не так уж трудна, но тут есть одно противопоказание: Если ячейки убитой флешки приходятся на критические для прошивки участки, то у нас ничего не выйдет. У меня, к счастью, запоролся только ДРМ

Итак, план наших действий:
п0. ТП (можно без него, это на всякий случай: есть гарантия - не делайте)
п1. Поиск сломанных ячеек
п2. Деление бэкапа на куски
п3. Финальнай этап восстановления
п3а. Создание своих ldr_part*.bin'ов
п3б. Стирание и восстановление кусков бэкапа

п0. Как сделать ТП я объяснять не буду, думаю, вы без труда найдете соответствующие статьи на Мото-софте.

п1. Поиск сломанных ячеек.

Берем ldr_*.bin, открываем его hex редактором, "прыгаем" (в XVI32 - [Ctrl]+[G]) на адрес F8 (это начало стираемой памяти), ставим значение 10 00 00 00 (4 байта подряд) То же самое проделываем с адресом FC, только байты там будут: 12 00 00 00.
Сохраняем файл.

Коннектим телефон, загоняем в бут, в ramldr нажимаем send ramldr -> и выбираем наш измененный ldr_*.bin(далее просто ldr) Когда увидите err: берете и делите область стирания (10 00 00 00 - 12 00 00 00) на два равных участка, и изменяете ldr в соответствии с полученными адресами, чтоб было понятнее, вот пример:

Исходная область: 10 00 00 00 - 12 00 00 00
1 участок: 10 00 00 00 - 10 FF FF FF
2 участок: 11 00 00 00 - 12 00 00 00
И таким образом, можно найти "сломанные адреса", для этого нужно довольно много раз делить ошибочную область пополам и пропускать области где все стирается как надо.

Я таким образом нашел свою область: 10 F3 FF FF - 10 F6 00 00

п2. Деление бэкапа на куски.

Так, с ячейками мы разобрались, теперь пора "порвать" бэкап. Подсказка: адрес 10 00 00 00 в телефоне соответствует адресу 00 00 00 00 в бэкапе, и и так для всего бэкапа. (Прим.: "начало ошибок" - начало сбойного блока памяти, "конец ошибок" - соответственно, конец такого блока). Резать его надо так:
1 часть - от адреса 00 00 00 00 (10 00 00 00) до адреса ([начало ошибок] - 10 00 00 00), называем файл part1.bin
2 часть - от адреса ([конец ошибок] - 10 00 00 00) до адреса 02 00 00 00 (12 00 00 00), называем файл part2.bin
Все вычисления с hex - числами можете проводить в стандартнои виндовом калькуляторе calc.exe, только поставьте "Вид"->"Инженерный" и "Режим"->"HEX" Я не исключаю, что частей может быть больше (все зависит от того, как вы сломали вашу флешку )

п3. Финальнай этап восстановления

п3а. Создание своих ldr_part*.bin'ов

Теперь мы должны создать ldr'ы, с помощью которых мы будем лить наш бэкап "кусками"
Делаем несколько копий нашего файла ldr и теперь называем их так (это надо только для удобства):
ldr_part1.bin
ldr_part2.bin
и если надо делайте еще ldr'ы, мне же надо было только 2(т.к. у меня был 1 блок ошибок)
Адреса пишем так:
1). В ldr_part1.bin по адресу F8 пишем 10 00 00 00, а по FC - [начало ошибок]
2). В ldr_part2.bin по F8 - [конец ошибок], а по FC - 12 00 00 00
п3б. Стирание и восстановление кусков бэкапа.

Мы имеем на руках несколько ldr_part'ов, теперь запускаем ramldr, подключаем наш труп, загоняем его во флешмод, отправляем ("Send Ramldr") файл ldr_part1.bin, нажимаем "erase", ждем ACK ERASE, вводим в "base addr" число "10000000", нажимаем "send binary" и отправляем в телефон part1.bin, потом перезагружаем тел (мне пришлось делать это вручную, с помощью вытаскивания аккума и замыкания 4 и 5 контактов)
Аналогично поступаем с ldr_part2.bin/part2.bin, а потом пытаемя включить телефон.
Если убитый блок был некритичен, то все у нас заработает! Таким способом, повторюсь, уже был восстановлен (лучше сказать "воскрешен") мой телефон, и теперь он 100% рабочий, только он теперь работает ТОЛЬКО с ramldr'ом во флеш-режиме, т.к. официальнай софт вызовет стирание его памяти

Да, я возможно ошибся насчет своих адресов, но какое это имеет значение, у вас все равно они будут другие.

Прикладываю сюда свою немного недоработанную программу Backup Codec Tool, которая хоть как-то, возможно, поможет вам в нашем нелегком МОТОРОЛЬНОМ деле.

Автор статьи FusioN
Обсуждение на форуме

Назад

ПОСЛЕДНИЕ ФАЙЛЫ

ПОСЛЕДНИЕ FAQ

РЕКЛАМА