IronShaft
Новичок
Немного поднаторел в теме, сэкономлю время для тех, кто столкнется с подобным вопросом.
1. Вариантное кодирование доступно только по CAN/UDS. Нужен уровень 0x0b, активируется просто через, например, Монако. Но все параметры будут только для чтения, замена проходит без ошибок, но ничего не сохраняется, потому как хранятся в файловой системе, а она в режиме только для чтения.
2. Остальные опции доступны по DoIP/UDS. Режим прошивки активируется, программирование 0x02, уровень 0x11. Нужен ключ, seed калькулятор в помощь. DLL нету, ключ в jar smr-d. Смысла особого в нем нет, поскольку нет прошивок. Режим активируется, проверено.
3. Для разблокировки режима только для чтения файловой системы нужен уровень 0x61, сервис 0x03. Для генерации ключа (сигнатуры) на seed используется ed25519ph алгоритм. 32 байта приватный ключ, 32 байта публичный ключ и 64 байта сигнатура. Для разблокировки уровня используется seed также в 32 байта. Как сказал ранее, приватные ключи для уровней 0x0b и 0x11 находятся в jar после распаковки smr-d. Приватного ключа для 0x61 там нет, равно как используется базовый код для этого уровня и функция smr-d не ожидает seed размером в 32 байта и выдает ошибку.
4. Глубоко не копал, но теоретически возможно изменение вариантного кодирования через flash программирование, но не нашел никаких smr-f под эту железку, поэтому не копал.
5. Возможен доступ через скрипт (script.sh) на usb ключе, но для запуска скрипта нужна подпись (script.sig) - та же самая сигнатура в 64 байта на базе приватного ключа ed25519ph, а его нет (где искать - вообще непонятно, видимо в Garmin)
Итог: по состоянию дел на сегодняшний день поменять ничего не получится. Возможно после появления прошивки можно будет поковырять ее, но она должна быть подписана, так что скорее всего и тут затык.
Остается разборка и прямой доступ к прошивке. Кто будет ковырять - обратите внимание на Fast Boot и U-Boot. Надеюсь кому-то время сэкономил.
1. Вариантное кодирование доступно только по CAN/UDS. Нужен уровень 0x0b, активируется просто через, например, Монако. Но все параметры будут только для чтения, замена проходит без ошибок, но ничего не сохраняется, потому как хранятся в файловой системе, а она в режиме только для чтения.
2. Остальные опции доступны по DoIP/UDS. Режим прошивки активируется, программирование 0x02, уровень 0x11. Нужен ключ, seed калькулятор в помощь. DLL нету, ключ в jar smr-d. Смысла особого в нем нет, поскольку нет прошивок. Режим активируется, проверено.
3. Для разблокировки режима только для чтения файловой системы нужен уровень 0x61, сервис 0x03. Для генерации ключа (сигнатуры) на seed используется ed25519ph алгоритм. 32 байта приватный ключ, 32 байта публичный ключ и 64 байта сигнатура. Для разблокировки уровня используется seed также в 32 байта. Как сказал ранее, приватные ключи для уровней 0x0b и 0x11 находятся в jar после распаковки smr-d. Приватного ключа для 0x61 там нет, равно как используется базовый код для этого уровня и функция smr-d не ожидает seed размером в 32 байта и выдает ошибку.
4. Глубоко не копал, но теоретически возможно изменение вариантного кодирования через flash программирование, но не нашел никаких smr-f под эту железку, поэтому не копал.
5. Возможен доступ через скрипт (script.sh) на usb ключе, но для запуска скрипта нужна подпись (script.sig) - та же самая сигнатура в 64 байта на базе приватного ключа ed25519ph, а его нет (где искать - вообще непонятно, видимо в Garmin)
Итог: по состоянию дел на сегодняшний день поменять ничего не получится. Возможно после появления прошивки можно будет поковырять ее, но она должна быть подписана, так что скорее всего и тут затык.
Остается разборка и прямой доступ к прошивке. Кто будет ковырять - обратите внимание на Fast Boot и U-Boot. Надеюсь кому-то время сэкономил.