English || Главная | Программы | Обои | Статьи | Разное | О проекте


Страницы: 1 | 2 | 3
Решение проблемы с конфликтами патчей при установке

Наверняка у многих возникали проблемы при установке графических патчей. Ошибка возникающая при установке патча выглядит следующим образом:

Место занято.

Почему происходят ошибки, уже писал в разделе "Конфликты при установке патчей"

Говоря в двух словах, ошибка происходит из-за того, что патч устанавливается в область занятую данными. В некоторых случаях такая ошибка не влияет на работоспособность телефона, но в случае установки многочисленных патчей они начинают конфликтовать друг с другом записывая данные в один и тот же адрес. После установки такого патча (патчей) могут возникнуть серьезные проблемы в работе телефона, он может просто не включится или начать работать со сбоями. Разумеется, все эти ошибки смертельными для вашей трубки не окажутся, если перед началом экспериментов Вы сделали полный бэкап FullFlash вашего телефона (Как сделать резервное копирование FullFlash и EEPROM?). Скажу одно, "убить телефон" патчами намертво, то есть так, что придется менять системную плату, невозможно! Стопроцентный трупик получите после того, как затрете область буткор (bootcore) - это маленькая область во Flash примерно в 64 Кб, отвечающая за работу с загрузчиками во флеш, например V_Klay.

Область, где находится bootcore.
Адрес        Размер
0x00000000   0x00010000
0x00010000   0x00010000
НИ В КОЕМ СЛУЧАЕ НИЧЕГО НЕ ИЗМЕНЯЙТЕ В ДАННЫХ АДРЕСАХ И НИЧЕГО В НИХ НЕ ЗАПИСЫВАЙТЕ!

Восстановить телефон в котором не затерт bootcore можно в 100 процентах случаях из 100, все зависит только от уровня ваших знаний и умения обучаться новому. Что напугал?

Давай разберемся, каким образом следует переделывать графические патчи под свой телефон. Для начала расскажу вам про HEX. Кто знает, что это такое, могут спокойно пролистать, не читая, те, кто не знает, внимательно прочитайте. Читать стоит до тех пор, пока не станете понимать что значит фраза: "Изменить необходимо байты в промежутке смещения с 00090108 до 0009011D" или "Область не занятая данными находится в промежутке между адресами с 00EE0000 по 00FD0000".

Доступно про HEX

HEX - это сокращение от английского hexadecimal (шестнадцатеричный), то есть шестнадцатеричная система счисления. Для некоторых это будет настоящим шоком узнать, что помимо десятичной системы счисления, к которой привыкли с детства, существуют другие, а они есть, например binary numeration (двоичная система), когда знаки выражаются двумя цифрами 0 и 1, и многие другие. Вернемся к HEX, в ее записи цифр используется 16 знаков: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. В десятичной системе A = 10, B = 11, C = 12, D = 13, E = 14, F = 15. Давайте научимся складывать цифры в шестнадцатеричной системе счисления. Например, имеем числа, 1B5A97 и D2A569 которые необходимо сложить. Можно воспользоваться калькулятором, который входит в стандартную поставку любой операционной системы, предварительно переведя его в режим работы с шестнадцатеричными числами, но можно вспомнить сложение столбиком и сложить эти числа в столбик.
   1  B  5  A  9  7
+  D  2  A  5  6  9
-------------------
Во время сложения буквы представляем, как числа в десятичной системе. Если в результате сложения в разряде получается > 15, то в следующий разряд переносим 1, а из результата вычитаем 16 и записываем в текущий разряд:
   1 11  5 10  9  7
+ 13  2 10  5  6  9
-------------------
  14 14  0  0  0  0
затем числа меняем на буквы и получаем результат: 1B5A97 + D2A569 = EE0000.

Переносим патч

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

Способ первый

Находим исходные картинки в формате BMP, затем при помощи программы Siemens Picture Change, которая применяется для создания графических патчей, самостоятельно делаем патчи "под себя". Сразу скажу, SPC не даст гарантии, что данные в патче будут записаны в пустые области. Вам придется открывать ваш FullFlash затем искать пустые места, делать исправления в HEX редакторе бинарных файлов (ваш FullFlash это бинарный файл имеющий расширение bin) и только после этого приступать к адаптации патча. Похоже на одевание штанов через голову, неправда ли? У этого способа, несмотря на его идиотизм, как не странно есть поклонники, поэтому кратко расскажу, как заставить SPC писать в те области, куда вы хотите.

1. Открываем FullFlash замечательной программой Smelter (сайт программы).

Открываем FullFlash.

2. Нажимаем на буковку "D" в верхней части программы, это называется дамп, и ищем действительно БОЛЬШОЕ пустое место (там много идущих подряд букв FF FF FF FF FF FF FF ... FF), запоминаем адреса, а лучше записываем на бумажке.

Запоминаем блоки обозначенные Empty.

Пустые блоки можно найти и другим способом, при помощи V_Klay, он описан ниже.

3. Открываем тот же самый FullFlash, который открывали в Smelter, в любом редакторе бинарных файлов. Из редакторов бинарных файлов рекомендую WinHEX (сайт программы), идем по запомненному адресу.

4. Находим адрес, который у нас был записан на бумажке или в голове и вставляем в начале этого адреса текст следующего содержания (именно как написано): forceSPC3

Правим FullFlash в HEX-редакторе.

5. После того, как поправили FullFlash в тех местах, где есть пустые места, его необходимо сохранить.

Результатом нашей манипуляции будет то, что картинки, выпадающие из стандартного размера, будут сохранены, начиная с указанного адреса НА ВЫБРАННОМ ПУСТОМ месте.

Страницы: 1 | 2 | 3


YouTube Facebook VK
Copyright © 2004-2018 Smart Mobile Personal Digital Assistant. All rights reserved.