- Сообщения
- 549
- Реакции
- 1,472
- Баллы
- 253
- Ваше "умное" устройство
- Amazfit Bip
Завышение версии прошивки, ресурсов, шрифтов
Для чего?
Главная суть — чтобы приложение MiFit или Amazfit не обновляло и не затирало установленную вами кастомную прошивку, ресурсы, шрифт.
Начиная с версии MiFit 4.0.0 разработчики Huami начали поставлять прошивки "по воздуху" (OTA обновление) и старый метод с заменой прошивки в приложении перестал работать.
Поэтому, если вы используете оригинальную версию MiFit / Amazfit (из Google Play, например) или, если для связи с часами используете устройство от Apple на iOS, тогда для работы кастомных прошивок вам время от времени нужно "завышать" версию вашей прошивки. Завышать версию прошивки, ресурсов и, возможно, шрифта нужно на ту версию, на которую обновилась ваша прошивка "по воздуху", то есть на актуальную.
Чтобы узнать на какую версию Вам нужно завышать прошивку, можете написать в этой теме.
Подготовка
Скачайте и установите на компьютер любой удобный для вас hex-редактор. Я буду делать на примере бесплатного на Windows.
Завышение версии ресурсов (.res)
Допустим у вас задача завысить версию ресурсов с 69 (рес из 1.1.5.56) на 84 (рес из 1.1.6.36).
Переводим значение версии из десятичного формата в шестнадцатеричный. Это можно сделать из обычного калькулятора, либо онлайн-калькулятора (или конвертера).
Например, 69 (в десятичном формате) = 45 (в шестнадцатеричном), 84 (в десятичном формате) = 54 (в шестнадцатеричном).
Редактируем 5-й байт (6-й по счету, если начинать с нуля), в данном случае заменяем 45 на 54.
Начиная с версии прошивки 1.1.6.30 изменился 10-й байт. Так что, нужно отредактировать его. Меняем 10-й байт с 03 на 0f.
Скриншот редактируемых байтов:

Примечание: у вас будут другие значения, чтобы узнать их, скачайте последнюю версию официальной прошивки, откройте ее с помощью hex-редактора и узнайте новые значения или спросите в теме.
Завышение версии прошивки (.fw)
Допустим у вас задача завысить версию прошивки с 1.1.5.56 на 1.1.6.36.
Находим в поиске (сочетание клавиш Ctrl+F) текущую версию прошивки, в данном случае 1.1.5.56 и заменяем все значения (обычно их 3) на новую версию.
Первое найденное значение заменять не обязательно, вы можете оставить его как есть, чтобы в настройках часов показывалась текущая версия прошивки.
Далее нужно найти и заменить версию ресурсов, используемую в прошивке. В данном случае для версии прошивки 1.1.5.56 используются ресурсы версии 69 (или 45 в шестнадцатеричном формате), для прошивки 1.1.6.36 используются ресурсы версии 84 (или 54 в шестнадцатеричном формате).
В hex-редакторе выбираем поиск по шестнадцатеричным hex-значениям (для HxD, заходим в поиск (Ctrl+F), вкладка "Hex-значения").
Ищем значение:
28 08 D1 01 98
. В прошивке это значение должно быть уникальным и должно встречаться только один раз, если это значение в какой-либо прошивке не встречается или встречается более одного раза, напишите об этом ниже, указав версию прошивки и ваш Hex-редактор.После того, как нашли значение сразу перед ним идет байт обозначающий версию ресурсов, в данном случае нужно заменить 45 на 54.
Скриншот редактируемого байта:

Завышение шрифта (.ft)
Версия шрифта находится в 4-ом байте. На данный момент, шрифт давно не менял свою версию, так что изменение версии шрифта пока что не имеет смысла.
Однако, начиная с версии 1.1.6.30 разработчики изменили 10-й байт для latin-шрифта с 02 на 0a. Его вам нужно заменить, если вы завышаете прошивку на версию выше 1.1.6.30.
Скриншот редактируемого байта:

Совместимость с BipOS (версии 0.5.3 и выше).
Как многим известно, начиная с BipOS 0.5.3 в latin-прошивки была добавлена поддержка не latin шрифтов - Подробнее: (Что такое latin/не latin прошивка (латин/не латин)?). За счет чего при использовании официальных приложений MiFit или Zepp шрифт в часах определялся неправильно и обновлялся на latin шрифт, что приводило к ошибке и невозможности использования часов. Чтобы такого не происходило надо подменить версию шрифта в прошивке (.fw), тем самым "сказав" приложению, что вы используете latin шрифт. Для этого в hex-редакторе выбираем поиск по шестнадцатеричным hex-значениям (для HxD, заходим в поиск (Ctrl+F), вкладка "Hex-значения").
Ищем значение:
00 98 9d f8 28 10
. В прошивке это значение должно быть уникальным и должно встречаться только один раз, если это значение в какой-либо прошивке не встречается или встречается более одного раза, напишите об этом ниже, указав версию прошивки и ваш Hex-редактор.После того, как нашли значение, нужно заменить последние 4 найденных байта с
9d f8 28 10
на 4f f0 09 01
.Далее ищем еще одно значение:
01 27 dd f8 2e 00
и опять заменяем последние 4 байта в данном значении с dd f8 2e 00
на 4f f0 0a 00
.Скриншот редактируемых байтов:

Как использовать не латин прошивку (например, SantaX MOD) c официальными приложениями MiFit и Zepp (для iOS и Android)?
Если еще не знаете, что такое latin/не latin прошивка, то вам сюда: Подробнее: (Что такое latin/не latin прошивка (латин/не латин)?)
Проделываем всё то, что описано в заголовке выше ("Совместимость с BipOS"). После этого шрифт в ваших часах будет определяться как latin.
Теперь следует сделать так, чтобы ваша прошивка определялась как latin (будучи не латин).
Ищем значение:
68 78 01 21 40 f0
, тут нам нужно заменить 01 на 02.Скриншот редактируемого байта:

Как использовать latin прошивку (например, trace MOD) c официальными приложениями MiFit и Zepp (для iOS и Android), если стоит язык отличный от поддерживаемых latin-прошивкой?
Если вы читали о том, что такое латин/не латин прошивка, то знаете, что если у вас в смартфоне стоит язык отличный от поддерживаемых latin-прошивкой, тогда у вас устанавливается не латин прошивка.
Значит, чтобы установить latin прошивку, вам нужно сделать так, чтобы прошивка и шрифт определялся приложениями как не latin.
Первым делом, в hex-редакторе выбираем поиск по шестнадцатеричным hex-значениям (для HxD, заходим в поиск (Ctrl+F), вкладка "Hex-значения").
Ищем значение:
68 78 02 21 40 f0
. В прошивке это значение должно быть уникальным и должно встречаться только один раз, если это значение в какой-либо прошивке не встречается или встречается более одного раза, напишите об этом ниже, указав версию прошивки и ваш Hex-редактор.Тут вам нужно заменить один байт с 02 на 01.

Теперь необходимо заменить версию шрифта в прошивке, о чем ниже.
Важное замечание: если ваша прошивка (которую вы хотите поставить) с BipOS версии 0.5.3 и выше, то у вас уже включена поддержка не латин шрифтов и нижеследующие действия производить не надо, для другого случая проделываем следующее:
Ищем значение:
00 98 9d f8 28 10
. В прошивке это значение должно быть уникальным и должно встречаться только один раз, если это значение в какой-либо прошивке не встречается или встречается более одного раза, напишите об этом ниже, указав версию прошивки и ваш Hex-редактор.После того, как нашли значение, нужно заменить последние 4 найденных байта с
9d f8 28 10
на 4f f0 08 01
.Далее ищем еще одно значение:
01 27 dd f8 2e 00
и опять заменяем последние 4 байта в данном значении с dd f8 2e 00
на 4f f0 01 00
.На всякий случай можно изменить версию шрифта в самом шрифте, об этом подробно написано выше в пункте "Завышение шрифта (.ft)". Меняйте четвертый байт 09 на 08 и десятый байт с 02 (или 0a) на 01.
Последнее редактирование: