Сегодня я расскажу как добыть пароль 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ач