401 (2023-09-20 15:24:19 отредактировано insurer)

Re: SD карта для Nissan Leaf

mcyar1256 пишет:

Попробовал бы. Но ссылки рабочие не нашёл

Если версии навигации не совпадают - пустая трата времени. А версии навигации и пиндосов, и япов с гейропейцами точно не СОВПАДАЮТ.
ЛЮБУЮ SD карту ЛЮБОЙ ёмкости ЛЮБОГО содержимого, хоть чистую в слот на выключённой машине. Запускаем авто, картинку чёрного экрана балалайки с чёткими надписями - сюда.

Ze1 G

402

Re: SD карта для Nissan Leaf

insurer, по слухам, сдкарта на этих моделях нужна только для хранения карт и настроек.
судя по строению
Number  Start (sector)    End (sector)  Size       Code  Name
   1          888833        29925376   13.8 GiB    0700  Microsoft basic data
   5        30949378        31031297   40.0 MiB    0700  Microsoft basic data
   6        31031299        31277058   120.0 MiB   0700  Microsoft basic data

первый раздел монтируется, на нем карты, а 5 или 6 скорее всего служебные (для хранения настроек?).
предполагаю, из этих образов можно попробовать взять структуру сдкарты, а нави подправить в /VER_INFO/DB_INFO.TXT на свою нужную по образу и подобию...
иначе го в соседнюю тему https://mynissanleaf.ru/viewtopic.php?id=2917
ну или к ксанави, если устраивают отзывы...

Листок-самолет LEAF ZE0 G 2011 перепак CATL 114ач

403

Re: SD карта для Nissan Leaf

Всем привет. Тоже пробую клонировать родную японскую SD-карту от ZE0 2011г.

Магнитола такая:

Переходник с батарейкой:

3 и 6 соединил, питание на карту с батарейки идёт. Магнитола через переходник видит карту и работает.

Но никак не получается её вовремя извлечь, пробовал разные интервалы после подачи питания.
От практически сразу, до 8 секунд, с интервалами +-1сек. Дальше магнитола уже загружена и работает.

Карта всегда остается "залоченой"... Как вы это делаете? Или может у меня магнитола какая то не такая? )))

404

Re: SD карта для Nissan Leaf

Была проблема - флешка с музыкой после выключения авто терялась и приходилось ее перевставлять.
Поменял флешку и проблема исчезла.)))
А думал это ГУ глючит...

405

Re: SD карта для Nissan Leaf

Вопрос закрыт, прошил через Xanavi.

406

Re: SD карта для Nissan Leaf

Сегодня я расскажу как добыть пароль SD карты родной магнитолы QY-72xx в LEAF ze0 (скорее всего AZE0 так же, но пока не проверено) и разлочить ее для бакапа и правки. Тема сложная и скучная, не все её осилят, еще меньше поймут, так что кому интересно устраивайтесь поудобнее))

Зачем это надо? На просторах интернета найдена вот такая подсказка https://jpnavi.ru/viewtopic.php?t=730
она не про нашу магнитолу, но производитель тот же.
Как говорится, орфография сохранена:
============================================
в секторе PROD, расположенными по адресу:
80020 hex: 13100150
80030 hex: 13100150
Это т.н. ID-модели, от значения которой зависит, какая сетка частот будет грузится в OS при ее старте.
Вот цитата:
Подъитожу алгоритм переключения (выбора) AREA:
В бисе мафона записан всего один ID по которому и идёт выбор AREA - в нашем случае
13100150 - это JAPAN
13300150 - это EUROPE
Ну и 13200150 - это USA
Этот идентификатор (PROD) живёт в микросхеме биоса по адресу 80000. Есть дублирующий сектор PROD1 по адресу 88000, но он нам сейчас не нужен.
Когда мафон загружается с SD карты идёт сразу чтение этого идентификатора из микросхемы биос, затем загружаются с карты те файлы, которые соответствуют прописанной в идентификаторе цифре AREA.

Напомню, что поменяв в микросхеме в японском мафоне идентификатор с13300150 на 13100150 и мафон переключается на европу. Ну ещё нужно поменять SD карту на европейскую, т.к тот же файл Audio разный на SD карте европа и япония.
==============================================

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

Возвращаясь к теме, для начала упомяну способ "переходник с батарейкой". Народ успешно им пользуется вОвремя выдергивая сдкарту пока происходит загрузка магнитолы. Более того, мне этот девайс достался готовым и заведомо рабочим от земляка, который им успешно воспользовался на своем AZE0 2014, но я попробовал раз 50 и у меня не получилось. Справедливости ради следует сказать, что этот способ в случае успеха позволяет разлочить сдкарту и снять ее образ, но пароль добыть так невозможно.

Так же стоит упоминания способ "подслушать" пароль на шине данных осциллографом или логическим пробником. Это я тоже попробовал. Коротко скажу, что хотя сама сдкарта в этом процессе не нужна, и все нужные сигналы пролетают до загрузки синего экрана, возиться со шлейфами и щупами довольно неудобно, особенно когда экран магнитолы постоянно пытается закрыться, и для захвата требуется довольно хороший (а значит дорогой) осцил с функцией этого самого захвата или шустрый логический пробник. Расшифровать чего назахватывал осцил я не смог( а логический пробник оказался не достаточно шустрым((

И так, в очередной раз обломав зубы, я наткнулся на сайт зелемара.
https://zelemar.eu/nissan-leaf-sd-card- … -password/
Получив такую подсказку, схватил первую попавшуюся под руки терминалку и начал усердно подключать ее к дебаг порту. Но и это оказалось не так просто, как хотелось, пришлось поморщить лоб...

Если сильно в детали не вдаваться, то в распиновке пины TX и RX обозначены как попало, а до кучи еще и перепутаны... Измерение напряжения на них также вводило в замешательство: на одном пине 6 вольт, на другом почти 0.

Разобраться с этим всем очень помогла схема из сервисмануала магнитолы, вот эта запись в бж  про магнитолу этого же производителя.
https://www.drive2.ru/l/587131238846869057/

а так же вот эта ветка импортного форума https://www.myg37.com/forums/audio-vide … tions.html

В общем, пришлось использовать USB-UART на FTDI FT232RL, вот этот очень похож https://www.wildberries.ru/catalog/1199 … etail.aspx
и дорабатывать паяльником согласно рекомендациям из указанных источников. Используемый на схеме транзистор мне не попался, но в разборе найден s8050, он вполне сгодился. Собрал всё навесным монтажом прямо на платке терминалки и подключил к магнитоле. Дальше подбирал параметры порта и перебирал комбинации тестовых битов, переключая режимы дебага. В конечном итоге, скорость и параметры терминала оказались 38400 8N1, а самый интересный режим дебага запускается при заземлении B2. И вот наконец-то видно человеческие буквы...

По знаку вопроса шелл выдает краткий хелп. Но он на столько краткий, что понять чего делает команда довольно сложно. Вот некоторые примеры:

=============================================================
Starting firmware monitor
FW>

FW>?

Available monitor commands are:
? [command]
h [command]
r [[register] [[=] [hex_value]]]
g StartAddr
mb [StartAddr [Count [Filler]]]
mh [StartAddr [Count [Filler]]]
mw [StartAddr [Count [Filler]]]
e StartAddr
s StartAddr Count Pattern...
w <Hex Address> <Hex Value>
wr <Hex Address> <Hex Value>
m1 [StartAddr] [Length] [StopOnError]
m2 [StartAddr] [Length] [StopOnError]
cb <Hex Address> <Counter> <Hex Value> <Hex IncrementFlag>
ch <Hex Address> <Counter> <Hex Value> <Hex IncrementFlag>
cw <Hex Address> <Counter> <Hex Value> <Hex IncrementFlag>
mv <Hex StartAdress> <Hex DistAdress> <Hex Count>

?r
Usage:
r [[register] [[=] [hex_value]]]

FW>? s
Usage:

s StartAddr Count Pattern...

Search Memory for pattern.

FW>? w

  Write to memory address Command

Usage :
w <Hex Address> <Hex Value>

=============================================================

Нечто подобное, но с более обширным описаловом было найдено здесь:
https://blogs.unbolt.net/index.php/brin … bootloader
Что-то было попробовано:

=============================================================
FW>? e
Usage:

e StartAddr
FW>e a020
Jump EBOOT

********** Bootloader ***********
ETHERNET : EB10XENI.017
Built Dec 14 2010 17:21:09
*********************************

INFO: base : 0xB8C00000
LAN91C111 diagnostic testing...LAN failed.(00000000,00000000)
-----------------------------------------------------------------

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

=============================================================
FW>? g
Usage:

g StartAddr

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

=============================================================

по подсказке на скрине зелемара добыт образ памяти с паролем:

FW>mb a000 200
0000A000: 50 52 4F 44 FF FF FF FF - FF FF FF FF FF FF FF FF | PROD............
0000A010: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0000A020: 10 10 02 12 FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0000A030: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0000A040: 51 59 37 32 30 34 4E 41 - FF FF FF FF FF FF FF FF | QY7204NA........
0000A050: 00 00 47 16 FF FF FF FF - FF FF FF FF FF FF FF FF | ..G.............
0000A060: 83 10 77 20 FF FF FF FF - FF FF FF FF FF FF FF FF | ..w ............
0000A070: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0000A080: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0000A090: AA FF AA AA FA AF FF 11 - 31 FF FF FF FF FF FF FF | ........1.......
0000A0A0: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0000A0B0: 33 4E 43 30 41 FF FF FF - FF FF FF FF FF FF FF FF | 3NC0A...........
0000A0C0: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0000A0D0: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0000A0E0: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0000A0F0: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0000A100: 83 10 77 20 43 6C 61 72 - 69 6F 6E 39 35 33 32 31 | ..w Clarion95321
0000A110: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0000A120: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0000A130: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0000A140: 00 51 00 00 47 16 FF FF - FF FF FF FF FF FF FF FF | .Q..G...........
0000A150: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0000A160: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0000A170: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0000A180: 02 00 01 00 FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0000A190: 02 00 01 00 FF FF FF FF - FF FF FF FF FF FF FF FF | ................

тут видно тот самый PROD 0x10100212 и пароль от моей сдкарты: 0x83107720436C6172696F6E3935333231
кстати, на скрине зелемара видно PROD магнитолы европейца: 0x12300216.
у него модель другая, нас интересует только второй байт 0x30.
позже в большом дампе была найдена резервная копия этой области памяти

FW>mb 80a000 200
0080A000: 50 52 4F 44 FF FF FF FF - FF FF FF FF FF FF FF FF | PROD............
0080A010: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0080A020: 10 10 02 12 FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0080A030: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0080A040: 51 59 37 32 30 34 4E 41 - FF FF FF FF FF FF FF FF | QY7204NA........
0080A050: 00 00 47 16 FF FF FF FF - FF FF FF FF FF FF FF FF | ..G.............
0080A060: 83 10 77 20 FF FF FF FF - FF FF FF FF FF FF FF FF | ..w ............
0080A070: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0080A080: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0080A090: AA FF AA AA FA AF FF 11 - 31 FF FF FF FF FF FF FF | ........1.......
0080A0A0: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0080A0B0: 33 4E 43 30 41 FF FF FF - FF FF FF FF FF FF FF FF | 3NC0A...........
0080A0C0: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0080A0D0: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0080A0E0: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0080A0F0: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0080A100: 83 10 77 20 43 6C 61 72 - 69 6F 6E 39 35 33 32 31 | ..w Clarion95321
0080A110: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0080A120: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0080A130: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0080A140: 00 51 00 00 47 16 FF FF - FF FF FF FF FF FF FF FF | .Q..G...........
0080A150: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0080A160: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0080A170: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0080A180: 02 00 01 00 FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0080A190: 02 00 01 00 FF FF FF FF - FF FF FF FF FF FF FF FF | ................

К сожалению как изменить байт PROD я пока не нашел.
команда

FW>w A021 30
Value 0x00000030 written to 0x0000�

ребутает магнитолу и после загрузки значения возвращаются изначальные

команда
FW>mw a020 1 10300212   

FW>mb a000 30
0000A000: 50 52 4F 44 FF FF FF FF - FF FF FF FF FF FF FF FF | PROD............
0000A010: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0000A020: 12 02 30 10 FF FF FF FF - FF FF FF FF FF FF FF FF | ..0.............

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

команды
FW>mw a020 1 12023010
FW>mw 80A020 1 12023010

FW>mb a000 30
0000A000: 50 52 4F 44 FF FF FF FF - FF FF FF FF FF FF FF FF | PROD............
0000A010: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0000A020: 10 30 02 12 FF FF FF FF - FF FF FF FF FF FF FF FF | .0..............

FW>mb 80A000 30
0080A000: 50 52 4F 44 FF FF FF FF - FF FF FF FF FF FF FF FF | PROD............
0080A010: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0080A020: 10 30 02 12 FF FF FF FF - FF FF FF FF FF FF FF FF | .0..............

пишут нужные данные в нужные адреса, но после ребута данные изначальные. В общем не все так просто и пока есть еще о чем подумать. Если кто-то знает ответ, не проходите мимо)

Но и добытый пароль - это только полдела, теперь этот пароль нужно использовать, что бы разлочить сдкарту. Подробнее о самой системе паролирования накопителей простые смертные могут почитать здесь:
https://microsin.net/programming/avr/pa … cards.html
Те, кто хочет вникнуть, как это устроено и работает могут почитать подробнее здесь:
https://microsin.net/programming/file-s … -mode.html

И вот очередная проблема: сам софт, который может работать с паролями cmd42 я нашел только под линукс, но он работает только с картридерами, которые подключаются на шину PCI (PCMCI), которые искать днём с огнём на древних ноутбуках, а современные USB-картридеры обрезаны на столько, что подавляющее большинство не пропускают такие низкоуровневые команды...

и тут я натыкаюсь на чей-то проект "одного" вечера:
https://github.com/newgnu/sd_lock_unloc … unlock.ino

штош, значит мне поможет ардуина. я заказал эту, которая тайпси:
https://www.ozon.ru/product/1-sht-kontr … 360189200/
к ней модуль кард-ридера SD, который "белый", который SD. не микро, не мини, а просто SD.
https://www.ozon.ru/product/modul-kard- … 952947773/

Пока ехали детали, запустил полный слив памяти для поглазеть. На скорости 38400, 2+ гига сливалось больше недели. Заархивировалось в 75 мб, положил сюда, желающие могут тоже поглазеть.
https://drive.google.com/drive/u/0/fold … xpIxqR2MnP

Когда всё приехало, сколхозил вот такое
и залил в него SD_lock_unlock.ino, только после этого я осознал, что скетч работает только с печатными символами, а мой пароль в хексе содержит непечатные...

Потратил еще пару выходных и воспользовался помощью друга, что бы добавить в скетч возможность вводить пароль в хексе. Так как разные только первые 4 байта, вводить нужно только их, остальные знаки забил в код. Строка 287. Скетч положил рядом с дампом памяти. Кстати, у кого валяются залоченные сдкарты с забытыми или неизвестными паролями, этим скетчем вы можете резетнуть пароль, данные будут утеряны, но после форматирования вы сможете пользоваться сдкартой.

После разлочки сдкарты первым делом ее нужно сбакапить. Для этого её нужно воткнуть в обычный картридер компа или ноута, и винда даже увидит на ней раздел с картами навигации. Но копировать одни эти файлы смысла мало, на сдкарте есть еще два системных раздела, которые винда вам не покажет. В начале первые 100 мб загрузочных данных, в конце раздел со скином. Без этих данных файлы карт бесполезны, поэтому бакапить нужно не файлы с этой сдкарты, а ее полный образ.

На линуксе это делается буквально одной командой dd или dcfldd
sudo dcfldd if=/dev/sde of=./ze0_qy7204_navi186_japan.img
245760 vqZfas7o6 (7680Mb) written.
245888+0 records in
245888+0 records out
после чего в текущей директории появится файл образа ze0_qy7204_navi186_japan.img на 8 гб

под виндой есть эти утилиты, если установить совместимость с линукс, или можно воспользоваться множеством других с кнопочками, типа https://ru.wikipedia.org/wiki/WinHex, https://ru.wikipedia.org/wiki/UltraISO и других подобных для работы с образами.

На данный момент у меня есть снятые оригинальные японские образы для QY-7204 c нави 186 и 214, если у кого-то утеряна родная сдкарта от этой модели с такой нави, то их можно взять у меня. Но что бы продолжить работы мне нужен образ от ze0 европейки, так что пока тупик.

Так же, вдруг у кого-то завалялся образ сдкарты с обновлениями карт для QY-7204, просьба выложить куда-нить, ибо официальный ниссан говорит, что поддерживает устройство только в течении 5 лет, и сейчас на эти девайсы у него ничего нет, а кларион на них ничего не дает, потому что это ниссан...

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

QY7210NN SNO 0011843
pincode 75 01 42 62 43 6c 61 72 69 6f 6e 39 35 33 32 31
+++++++++++++
QY7221NL SNO 00011958
pincode 87 43 02 54 43 6c 61 72 69 6f 6e 39 35 33 32 31
+++++++++++++
QY7204n-a SNO 00004716
pincode 83 10 77 20 43 6C 61 72 69 6F 6E 39 35 33 32 31

картинки сюда не лезут, да и не хранятся они на этом форуме, так что с картинками тут: https://www.drive2.ru/l/667865354017446198/

Листок-самолет LEAF ZE0 G 2011 перепак CATL 114ач
Спасибо сказали: djbass, Victor402

407

Re: SD карта для Nissan Leaf

LKA, спасибо за титанический труд. Добавил фотки, надеюсь по тексту правильно расположены. Если сохранить фотки на компе и перезалить на форумный сервер, то фотки более сохранны, чем где-то ещё.

AZE0 2013 sv, белый американец
Спасибо сказали: LKA1

408

Re: SD карта для Nissan Leaf

LKA⇓ пишет:

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

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

? [command]: Выводит справочную информацию о команде. Например, ?r выведет информацию о команде r, а ?s о команде s.

r [[register] [[=] [hex_value]]]: Читает или записывает значение в регистр. Если заданы аргументы, то записывает значение hex_value в регистр register. Если нет аргументов, то просто выводит текущее значение регистра.

g StartAddr: Начинает выполнение программы с адреса StartAddr.

s StartAddr Count Pattern...: Поиск заданного Pattern в памяти, начиная с адреса StartAddr и в количестве Count байт.

w <Hex Address> <Hex Value>: Записывает значение Hex Value по адресу Hex Address.

Это только некоторые из команд, представленных в хелпе. Если вам нужно более подробное объяснение или помощь с конкретными командами, не стесняйтесь спрашивать!

Спасибо сказали: LKA1

409

Re: SD карта для Nissan Leaf

Ros, спасибо, с поиском разобрался, его синтаксис немного отличается от описанного вами

1 параметр - стартовый адрес
2 - до какого смещения искать
Остальное - что искать

например, вот я ищу "PROD" с нуля до фффф:

FW>s 0000 ffff 50 52 4F 44
  000011B8
  000011D8
  0000A000

FW>

а вот я ищу "PROD" с нуля до фффффф:

FW>s 0000 ffffff 50 52 4F 44
  000011B8
  000011D8
  0000A000
  000312D8
  000312E3
  00031B46
  00031B58
  00031B95
  00031CCC
  00048A68
  0015A630
  0027BC78
  0027BCDC
  0028C79C
  0028C7BC
  003A8AA8
  008011B8
  008011D8
  0080A000
  008312D8
  008312E3
  00831B46
  00831B58
  00831B95
  00831CCC
  00848A68
  0095A630
  00A7BC78
  00A7BCDC
  00A8C79C
  00A8C7BC
  00BA8AA8

но более насущный вопрос, что сделать, что бы сработала запись?

LKA⇓ пишет:

FW>w A021 30
Value 0x00000030 written to 0x0000�

ребутает магнитолу и после загрузки значения возвращаются изначальные

команда
FW>mw a020 1 10300212   

FW>mb a000 30
0000A000: 50 52 4F 44 FF FF FF FF - FF FF FF FF FF FF FF FF | PROD............
0000A010: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0000A020: 12 02 30 10 FF FF FF FF - FF FF FF FF FF FF FF FF | ..0.............

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

команды
FW>mw a020 1 12023010
FW>mw 80A020 1 12023010

FW>mb a000 30
0000A000: 50 52 4F 44 FF FF FF FF - FF FF FF FF FF FF FF FF | PROD............
0000A010: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0000A020: 10 30 02 12 FF FF FF FF - FF FF FF FF FF FF FF FF | .0..............

FW>mb 80A000 30
0080A000: 50 52 4F 44 FF FF FF FF - FF FF FF FF FF FF FF FF | PROD............
0080A010: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0080A020: 10 30 02 12 FF FF FF FF - FF FF FF FF FF FF FF FF | .0..............

пишут нужные данные в нужные адреса, но после ребута данные изначальные. В общем не все так просто и пока есть еще о чем подумать. Если кто-то знает ответ, не проходите мимо)

Листок-самолет LEAF ZE0 G 2011 перепак CATL 114ач

410

Re: SD карта для Nissan Leaf

LKA⇓ пишет:

но более насущный вопрос, что сделать, что бы сработала запись?

Для того чтобы сработала запись в память, вам необходимо использовать соответствующую команду и корректно указать адрес, по которому вы хотите произвести запись, и значение, которое вы хотите записать. Вот несколько команд, которые могут помочь в выполнении записи:

w <Hex Address> <Hex Value>: Эта команда записывает значение Hex Value по адресу Hex Address в памяти.

wr <Hex Address> <Hex Value>: Эта команда также записывает значение Hex Value по адресу Hex Address в памяти, но, возможно, отличается в смысле работы или синтаксисе от команды w, поэтому следует обратиться к справке или документации для более точной информации.

mw [StartAddr [Count [Filler]]]: Эта команда записывает в память начиная с адреса StartAddr определенное количество байт (Count) с заданным значением (Filler). Это может быть полезно, если вам нужно заполнить определенный участок памяти определенным значением.

e StartAddr: Эта команда может использоваться для запуска кода, хранящегося в памяти по указанному адресу StartAddr. Это может быть полезно, если вы хотите выполнить какой-то программный код, записанный в память.

Кажется, у вас возникают проблемы с сохранением изменений в памяти после перезагрузки устройства. Это может быть вызвано различными причинами, включая особенности аппаратной или программной реализации вашего устройства.

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

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

411

Re: SD карта для Nissan Leaf

Ros⇓ пишет:

Вот несколько команд, которые могут помочь

так я их и использую...

Ros⇓ пишет:

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

рад бы, но нагуглить смог только вышеуказанный линк на кое-какую инфу про бутлоадер древнего HP IPAQ 6515e, потому действовать приходится в основном методом тыка(
а в вашей документации самплесов не завалялось?

Ros⇓ пишет:

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

и как это делалось в те времена?)
у этого виндового бутлоадера есть какой-нить конфиг? где лежит? или какие-то env (или как оно там у винды называлось)?

Листок-самолет LEAF ZE0 G 2011 перепак CATL 114ач

412 (2024-02-07 16:40:01 отредактировано Ros)

Re: SD карта для Nissan Leaf

LKA⇓ пишет:

К сожалению как изменить байт PROD я пока не нашел.
команда



Судя по выводу, вы успешно считали содержимое памяти с помощью команды mb. Однако, чтобы изменить байт PROD, вам нужно использовать команду записи, например mw (modify word). Вам нужно указать адрес, по которому находится байт PROD, и затем новое значение.

Предположим, что вы хотите изменить байт PROD на TEST. Вам нужно найти адрес байта PROD и изменить его значение на T, E, S, T в шестнадцатеричном виде. Допустим, байт PROD находится по адресу 0080A040. Вы можете изменить его следующим образом:

shell
Copy code
FW>mw 80A040 4 54 45 53 54
Эта команда изменит байт PROD на T, E, S, T.

413

Re: SD карта для Nissan Leaf

изменить значение байтов на нужные я смог вот так:

LKA⇓ пишет:

FW>mw a020 1 12023010
FW>mw 80A020 1 12023010

проверка чтением это подтверждает:

LKA⇓ пишет:

FW>mb a000 30
0000A000: 50 52 4F 44 FF FF FF FF - FF FF FF FF FF FF FF FF | PROD............
0000A010: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0000A020: 10 30 02 12 FF FF FF FF - FF FF FF FF FF FF FF FF | .0..............

FW>mb 80A000 30
0080A000: 50 52 4F 44 FF FF FF FF - FF FF FF FF FF FF FF FF | PROD............
0080A010: FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0080A020: 10 30 02 12 FF FF FF FF - FF FF FF FF FF FF FF FF | .0..............


но после ребута данные изначальные, что сделать что бы после ребута сохранились введенные мной данные?

Листок-самолет LEAF ZE0 G 2011 перепак CATL 114ач

414

Re: SD карта для Nissan Leaf

Возможно дело в самой карте памяти.

415

Re: SD карта для Nissan Leaf

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

Листок-самолет LEAF ZE0 G 2011 перепак CATL 114ач

416 (2024-02-26 18:25:54 отредактировано LKA)

Re: SD карта для Nissan Leaf

LKA пишет:

пока экспериментить не на чем, оставлю это здесь на память...

skorik пишет:

ссылка на образ QO7204NC ZEO 2011 JP https://drive.google.com/open?id=1xD44c … J7CMGjk6wE


Disk qo7204nc.img: 15736832 sectors, 7.5 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): D7FE6A35-1257-48BA-8541-B9FC86F723A1
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 15736798
Partitions will be aligned on 2-sector boundaries
Total free space is 991165 sectors (484.0 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1          204802        14950401   7.0 GiB     0700  Microsoft basic data

$dd if=./qo7204nc.img of=./end.img bs=512 skip=14950402

#kpartx -av end.img

http://mynissanleaf.ru/extensions/image_uploader/storage/1616/thumb/p1ce3m22j5ttabac10bb17i214t21.png

6 лет прошло и таки пригодилось)
подмена скина в японском образе на амеровский дает результат.
+ язык меняется на английский,
+ в настройках можно включить французский
+ и настроить часы
+ музыка играется,
+ мабила гарнитурится

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

Листок-самолет LEAF ZE0 G 2011 перепак CATL 114ач

417

Re: SD карта для Nissan Leaf


пропарсив японский и амерский скины тулзой unSKN181 с ключом -Jeng я обнаружил, что в обоих скинах есть английские фразы. и там, где в амеровском начинается французский, в японском начинается японский. но как видно на фотках выше, в америкосе есть переключатель языка, а в японце нет.
тулзы для разборки-сборки скинов лежат здесь:
https://disk.yandex.ru/d/FdWrzRFU4TqMG/unSKN

Листок-самолет LEAF ZE0 G 2011 перепак CATL 114ач

418 (2024-04-06 22:02:48 отредактировано dac)

Re: SD карта для Nissan Leaf

Долго искал решение, как восстановить SD карту, потом узнал что она запаролена, игрался с "батарейкой", читал флэш... Но в итоге приобрел программатор SD Toolbox, брал здесь (https://zelemar.eu/nissan-leaf-sd-card- … -password/) и порешал все вопросы! Автор данного устройства немного, у себя на сайте, рассказывает и о способах получения пароля. Принцип работы данного программатора довольно простой: вставляешь SD карту в программатор ->  запускаешь программу -> включаешь магнитолу -> получаешь пароль! Далее снимаешь пароль и спокойно копируешь карту. Потом обратно ставишь пароль и все Ок. Даже, если пароль не поставил - магнитола сама его установит обратно! ab

AZEO S 2014

419

Re: SD карта для Nissan Leaf

dac, мое решение, о котором я рассказал выше, примерно на порядок дешевле...
после того, как магнитола превратилась в европейку, она перестала сама пинкодить сдкарту, а начала выдавать синий экран SD UNLOCK NG пока не залочишь сдкарту ее пинкодом. а еще в ней секуре заенаблилось, пришлось подчистить PROD.

Листок-самолет LEAF ZE0 G 2011 перепак CATL 114ач

420

Re: SD карта для Nissan Leaf

LKA, смотрю какую работу вы проделали - не каждый будет  это делать! Кроме ваших подсказок, нужно иметь достаточные навыки в пайке, минимальные знания в электронике и оборудование. Все ищут простое кнопочное решение. Не думаю, что 100 у.е. такая большая сумма, за вариант "нажал кнопку и все!", тем более у вас в России тоже есть аналогичный программатор - но цена его просто космос! Я подсказал свой вариант решения проблемы с картой, для меня самый оптимальный. Самый дешевый вариант был с "батарейкой", но работает очень криво. Кто-то любит ковыряться, кто-то купит программатор, а кто-то просто закажет карту. Поэтому, каждому свое. ab

AZEO S 2014

421

Re: SD карта для Nissan Leaf



блок-схема магнитолы. красным выделена флешка NAND

На данный момент инфы накопалось много, и она начинает забываться, решил сохранить здесь на память. Пока тезисно, как появится возможность поправлю, добавлю линки и скрины. И да, моё здесь только оформление, как оказалось, я раскопщик так себе, а реально на всю глубину лопаты копает народ с 4пда.

В магнитоле использована уже можно сказать "древняя" Windows CE 5.0, которую микрософт давно похоронила и все архивы почищены(

Пара слов о WinCE.
Эта ОС принципиально отличается от десктопной тем, что хранится на носителях и загружается не файлами, а образами оперативной памяти. Грубо говоря, сохраненная на накопителе часть оперативной памяти при включении тупо копируется в оперативу и винда загружена (сразу со всеми предустановленными и даже запущенными программами).

Наша рабочая прошивка мультиксип, состоит из маленького образа оперативы в лоадере и большого на SDкарте. Маленький образ оперативы на SDкарте - это обновлятор, это видно по именам модулей (файлов готовых для работы в оперативе), многие из них содержат *update* в имени. А рабочий маленький образ оперативы лежит на нанде в лоадере (это флешпамять как бы биос на персональном компе).

В большом образе памяти на SDкарте есть файл ReleaseMain.skn, в котором ссылка на внешний скин automotive \SystemSD2\SkinChange\001\Substance.skn
Cсылка на сам ReleaseMain.skn находится в commondll.dll в маленьком образе памяти.

Как добыть образы SDкарты я описал в прошлой записи https://www.drive2.ru/l/667865354017446198/
Добыть образ лоадера из нанды оказалось намного проще, оказывается бакап нанды делает обновлятор ханави https://telegra.ph/Xanavi-restore-firmware-10-01
при первой загрузке, когда создает файл.dat для лицензии. В инструкции написано как зашить бакап обратно, от себя добавлю, что так можно зашить чужой бакап и сменить версию навигации в своей магнитоле. Это поможет воспользоваться чужим образом с другой нави. Я так перешил тестовую магнитолу с нави 186 в нави 214, теперь у меня в тестовой магнитоле и в машине одинаковая версия навигации. Секцию прода с серийником так сменить не получится. Способ найден, но не пригодился. По крайней мере на данный момент. Подробности там же в прошлой записи. Хотя нет, пригодился, теперь SDкарта подходит в обе магнитолы без разлочки и смены пинкода.

И кстати, в этом бакапе можно посмотреть пинкод сдкарты без всяких дебагов из прошлой записи.
А еще, внутри моего бакапа куча номеров телефонов, это моя адресная книга однако, так неожиданно я узнал, что с адреса 0063CBA0 магнитола хранит контакты в нанде.

Самый простой способ добыть образы оперативы (которые nb00-04) из образов лоадера и SDкарты - это вытаскивать их Sorcery2.exe. Сами файлы и модули из NB00-XX можно довольно легко выдергивать BinMody.exe. Вставлять или заменять им же. Это утилиты гуевые виндовые, лежат в Tools
https://drive.google.com/drive/folders/ … drive_link

Заменить отредактированный файл можно в BinMody правой кнопкой мыши в окне на закладке Files. Там есть Replace file (in-place!), то есть "по тому же месту". Это наиболее щадящий режим. Или Add File, тогда он тоже заменит, если есть такой существующий. Попытается найти под него свободное место.

У разных SDкарт, строение практически одинаковое, явные, но не существенные отличия только у европейки. на примере ze0_2011_japan.img
В первых бутовых 100Мб хранится прошивка и еще что-то.
По смещениям:
00200000: образ памяти ECEC c заголовком [200h], первое DWORD - это длина ~26Mb
02000000: копия того же ECEC
03E00000: маленький образ памяти обновлятора ECEC (~7Mb)
04800000: копия маленькой прошивки
05c00000: загрузочная картинка с сигнатурой BASS, кстати кто-нибудь знает что за формат и чем рисовать? не гуглится.
06000000: версии карт навигации

В лоадере самый интересный, как раз рабочий образ оперативы NB04 лежит по смещению 40000. Чексуммы как у маленького.

В заголовке [200h] после сигнатуры SUM4 идет контрольная сумма всего, что после заголовка как простая сумма DWORDов.
первый DWORD по этому адресу это длина части за заголовком, который размером [200h].
Надо выкусить указанные части.
Можно даже не по той длине, что в первом DWORDе, а по полной между адресами.

начало 200000 длинна 19558DC
следующий байт за NKOK имеет смещение 200200
19558DC+200200=1B55ADC - получаем смещение, где лежит уже нулевой байт сразу за байтом с данными

по смещению 04800000 лежат 2C 89 6D 00 получаем значение 6D892C это длинна файла данных
следующий байт за NKOK имеет смещение 4800200
4800200+6D892C=4ED8B2C - получаем смещение, где лежит уже нулевой байт сразу за байтом с данными

Для маленьких контрольная сумма нашлась и в япе и в амере перед ECEC "230" (или @30 если без заголовка)
расположено AB D1 2C 89 6D 00 (для амера: AA 12 A4 18 6E 00 )
2C 89 6D 00 = это длина образа после заголовка = 6D892C.
А вот D1AB - это сумма байтов всего образа после заголовка длиной 6D892C, за исключением самих этих байтов (младший WORD этой суммы).

Если взять маленький образ оперативы с заголовком, например, 04800000.bin из япа.
Её размер лежит в первом DWORD заголовка.
Смотрим на смещение 230.
Видим AB D1 2C 89 6D 00
2C 89 6D 00 то же, что и в первом DWORD заголовка.
Забиваем AB D1 нулями.
Запускаем
sumALL.exe 04800000.bin 200
Видим в первой строчке
BYTE sum =2441D1AB ~DBBE2E54
Убеждаемся, что нижний WORD = D1AB соответствует тому, что было по смещению 230

SUM4XB.exe правильно высчитывает SUM4 и меняет его. После этого обнуляем 2 байта на 30h.
Считаем сумму байтов всего файла и вставляем нижние 2 байта от суммы на 30h ногами вперед.
Всё сошлось. (В других прошивках, для которых написан SUM4XB, сумма байтов бралась после заголовка) SUM4XB посчитает и исправит поле SUM4.
После этого надо обнулить 2 байта на 30h, sumAll выдаст сумму байтов, 2 нижних байта из которой надо запихать по 30h ногами вперед (сначала младший(правый)).
Можно это проверить на оригинальной прошивке, что эти поля остаются теми же.

в NB04.nb0 по смещению 30 сумма байтов (нижний word) B6 81
а дальше SUM4, брутфорсом найдено, что он использует при подсчете SUM4 среди первых 36 dwordов
1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 0 1 1 1 0 1 1 1 0 1 0 0 0 1 0 0 0
Номер и длину на 30h убираем
Номер и длину после SUM4 на 84 убираем.
Сама "SUM4" остаётся.

Если понадобится, реестр лучше править через HVEdit, лежит на диске в Tools.
Там два батника по преобразованию hv в hvm (в юникодный текстовый файл) и обратно.
Проблема mRegEdit и HVEdit без батников в том, что они изменяют последовательность записей в реестре на обратную. Батник возвращает правильную последовательность.
Последовательность записей может быть критичной при загрузке драйверов, поскольку часто производитель не ставит зависимость между ними, и они грузятся последовательно.
Но неудачно. Если бы сам не столкнулся, не настаивал бы на сохранении порядка.
Там же с HVEdit лежит flip.bat, который меняет порядок записей, если он был испорчен другой программой, например, mRegEdit.

Если реестр не влезает в режиме замены, то можно удалить из него мусор
Например все ветки внутри HKEY_LOCAL_MACHINE\Drivers\PCCARD\PCMCIA\PNP\ - вообще не нужны - это внешние модемы.
Они же есть в HKEY_LOCAL_MACHINE\Drivers\PCMCIA : кроме Modem и Serial там можно всё удалить. (Насчет этих двух я не уверен).

В атрибутах файлов есть С - значит он сжатый.
Значит, заменяя, надо тоже сжимать.
!!! wince.nls сжимать нельзя.

Для подмены модуля PRGUpdate.exe нужно BinMody удалить модуль PRGUpdate.exe
В physMap куча Warning'ов (справа), потому что в пустых блоках(<NUL>) - это какой-то мусор.
Можно на них кликнуть и посмотреть.
885F17B8 правой кнопкой Set/Clear warning.
потом обратно в модули, пкм, добавляем свой модуль PRGUpdate.exe
при добавлении ставим галки хидден и систем (как на старом файле)

по адресу 885F17B8 нулевой блок с мусором непосредственно перед куском от PRGUpdate.exe
Когда удаляем модуль PRGUpdate.exe, признак Warning'а переходит на пустой блок.
BinMody не использует блоки с Warning'ами.
Можно у последнего блока по адресу 885F17B8 правой кнопкой Set/Clear warning.
Тогда он станет полноценным нулевым, и туда запишется всё с любыми установками.
Но, что это за мусор внутри - неизвестно. И нужен ли он кому. Всё работает, значит никому не нужен.

Работа с блоком PROD в нанде.
Внутри AppLaunch.dll вызывается CApi_GetModelArea, а результат сравнивается на 10h.
там фраза: Launcher: Get Area info from Env Variable. ниже разбор
10 - не понял, еще признаки проверяются, результат WorldWide или Japan или уход на одну из ниже следующих
20 - USA
30 - Euro
40 - Russia
50 - China

как видно на скрине, блок PROD лежит на A000 размером 2D2
Последние 2 байта = сумма байтов.

при чтении и записи этого блока используется номер 5
получается, это 5*2000h = 0xA000
почему-то функция записи называется WriteProductTestData
сначала она чистит блок функцией FlashBlockErase
запись во флешь (WriteProductTestData) вызывается из функции SecurityCheck.
В ней же сравнивается со строчкой "Clarion95321".

про нумерацию блоков, если 5 - это 5*2000h = 0xA000
то NK1 END MARK пишется в блок 0x38

# NK1 START MARK Error
ошибка возникает при проверке начала на 00090009
байты 09 00 09 00 это стандартное начало Nb0 для SH4 - это два NOPa

блок 5 соответствует A000.
A commondll читает с блока 42h
и проверяет внутри что-то на "VEUP"
A блок с такой сигнатурой лежит на 3B0000.

Аргумент функций стирания/чтения/записи флеша - это номер блока.
Еще есть аргумент длины чтения.
Номер блока PROD = 5, но его адрес A000.
Получается, адресация блоками по 8Кб.
Но для других блоков не подходит такая адресация.

Обратная сборка.
Правленые образы памяти NB00-XX обратно в образ лоадера или SDкарты укладываются утилитой InsertFile.exe, лежит там же в Tools.
Лечь образ должен ровно на то же самое место, длина не должна изменяться.
InsertFile.exe - утилитка, запихивающая кусок по указанному смещению. Но дальше 4Гб она не запихнёт. Пример:

InsertFile.exe 
Usage: InsertFile <orig_file> <offset_hex> <insert_part>

InsertFile.exe test.img 03E00200 NB00_repak.nb0
offset = 3E00200
InsertFile.exe test.img 04800200 NB00_repak.nb0
offset = 4800200

получается test.img в который дважды положен правленый образ памяти NB00_repak.nb0 по адресам 03E00200 и 04800200

Дальше нужно исправить чексуммы как написано в предыдущем пункте и можно заливать в магнитолу.

Скин substance.skn
лежит самостоятельным файлом на отдельном разделе FAT.
раздел можно подмонтировать в линуксе командой

sudo mount -o loop,offset=7654605824 -t vfat $img /mnt/skin

$img может быть именем образа или девайса ридера разблокированной SDкарты /dev/sdХ
после чего подменять скин по указанному пути (/mnt/skin) файловым менеджером от рута или с sudo

substance.skn представляет из себя бинарный XML. разобрать его на картинки и текстовые данные можно тулзой unSKN181.exe
Правленые картинки запихнуть обратно можно ею же (см текстовик в комплекте с тулзой).
Текст править на данный момент можно только в хексредакторе ориентируясь на полученный лог.


не моё, скин после правки на русский

Управление музыкой и тюнерами.
Подкидывать в японку скин от американки или европейки можно, но после этого плохо работает или совсем не работает музыка, подробно описывал в конце прошлой записи. Японцы зачем-то использовали разные микроконтроллеры управления источниками звука, на блок-схеме подписан как AUDIO_CPU. Судя по схеме это уарт-хабик, который позволяет центральному процессору SH77722 одним уартом управлять всеми радио-тюнерами и CD-приводом. В японке это 70F3355, в американке 70F3356, в европейке 70F3357.

При этом у перечисленных микроконтроллеров разный объем флеши и оперативы, и европейку с американкой можно перешить в японку, а вот обратно нельзя. Европейская фирмварь в японский микроконтроллер физически не влазит, потому на данный момент превратить японскую магнитолу в европейку можно только после замены 70F3355 на старший 70F3357 (70F3358/70F3367/70F3368) и перемещения резисторов как указано в сервисмане. И кстати, наши частоты радио 74-108 Мгц задаются этим же процессором и появляются после его перепрошивки.


после прошивки 70F3355 японка научилась ловить радио 74-108 Мгц

Ну вот так как-то.

зы: вдруг найдется человек, который сможет переложить европейскую фирмварь поплотнее, что бы она поместилась в японский микроконтроллер 70F3355, то можно будет заливать евролоадер в нанду и еврообраз SDкарты без переделки и пользоваться. В евронаборе уже есть рабочие евроязыки и часовые пояса.

сбакаплено отсюда https://www.drive2.ru/l/676021531272284166/

Листок-самолет LEAF ZE0 G 2011 перепак CATL 114ач
Спасибо сказали: djbass1

422

Re: SD карта для Nissan Leaf


Очередная скучная и непонятная запись не для всех, но кто осилит, сможет сделать себе местное время в наших японских магнитолах ze0. Скорее всего, в их ближайших родственниках aze0 QY7214 так же, но мне проверить не на чем, так что проверяйте сами и потом расскажете).

Как уже известно всем владельцам японских магнитол, японские разработчики не утруждают себя и пользователей настройкой часового пояса, а тупо хардкодят его в прошивках своих магнитол. Наш случай не исключение. Штош, придется выкопать из глубин, поправить под свои нужды и закопать обратно.

И так, товарищ YDean с форума 4пда по доброте душевной любезно сделал дамп импортов и экспортов всех функций, используемых в винде нашей японской магнитолы и обнаружил, что там проскакивают интересные имена функций, например, OBJ_Time_writeZoneType и OBJ_Time_readZone. Причем последняя что-то мухлюет, а потом куда-то пишет 3240000 (dec).

Далее обнаружено, что в STDDLL.dll есть функция STD_TimeZone_isValid. Оно сличает разные "странные" числа, похожие на вышеупомянутое. Кусочек кода из дизассемблера:

.text:033873BA 2C D2                                mov.l   #2070000, r2    ! Move Immediate Long Data
.text:033873BC 20 34                                cmp/eq  r2, r4          ! Compare: Equal
.text:033873BE BB 89                                bt      loc_3387338     ! Branch if True
.text:033873C0 2B D2                                mov.l   #2160000, r2    ! Move Immediate Long Data
.text:033873C2 20 34                                cmp/eq  r2, r4          ! Compare: Equal
.text:033873C4 B8 89                                bt      loc_3387338     ! Branch if True
.text:033873C6 2B D2                                mov.l   #2340000, r2    ! Move Immediate Long Data
.text:033873C8 20 34                                cmp/eq  r2, r4          ! Compare: Equal
.text:033873CA B5 89                                bt      loc_3387338     ! Branch if True
.text:033873CC 2A D2                                mov.l   #2520000, r2    ! Move Immediate Long Data
.text:033873CE B1 AF                                bra     loc_3387334     ! Branch

В этом маааленьком отрывке из кода видно ранее уже упомянутое число 3240000, а так же еще несколько, например: 2070000, 2160000, 2520000. Кусочек маленький, реально чисел на мнооого больше.

А в OBJDLL.dll функция OBJ_Time_getTotalOffset возвращает 0x317040 безусловно.

Было предположено, что эти числа — не иначе смещения от гринвича в милисекундах, с которыми эта функция проверяет соответствие (валидность) таймзоны, и например дефолтное 3240000 = 9часов х 60минут х 60секунд х 100мс — это ни что иное, как японское GMT+9.

Осталось проверить. Смотрим где еще оно фигурирует.
Пробуем поискать GMT+9, оно же 3240000 (и оно же 0x317040 в хексе) по файлам и заменить на GMT+5=1800000=0x1B7740
находим:
в NaviWelcomeCC.dll — в двух местах;
в Navi.exe в одном месте;
в OBJDLL.dll надо заменить в 4 местах, еще три, что лежат рядом блоком из трёх одинаковых подряд не трогаем.
Итого 7 правок.

Поскольку, они лежат в .text, а он не сжат, то проще пропатчить сразу сам образ памяти без замены модулей на патченые. Получилось следующие смещения в нб0 с байтами 40 70 31 нужно сменить на байты 40 77 1B:
005943a4
00594410
0059462c
00594a18
00b7c5cc
00b7c800
010be904

не нужно править
005F7480
016615A0

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

Готовый правленый бут (загрузочная часть SDкарты без карт навигации и скина) для японской магнитолы с навигацией версии 214 и с местным временем моего региона (GMT+5) я положил туда же.
https://drive.google.com/drive/u/1/fold … _KqTJkP4Ev

Если у вас другой регион, то вам придется заменить значения по указанным ранее смещениям на следующие:
UTC+2=720000=0xAFC80
UTC+3=1080000=0x107AC0
UTC+4=1440000=0x15F900
UTC+6=2160000=0x20F580
UTC+7=2520000=0x2673C0
UTC+8=2880000=0x2BF200

не забудьте поправить чексуммы, иначе не полетит.
Так же следует помнить, что в других версиях нави, эти значения могут лежать в других адресах. Как поправить чексуммы и изменить свою версию нави, я писал в прошлой записи. Удачи.

сбакаплено отсюда https://www.drive2.ru/l/677686466754652762/

Листок-самолет LEAF ZE0 G 2011 перепак CATL 114ач
Спасибо сказали: djbass1