Pull to refresh

Comments 31

В своё время (лет 20-ть назад) при выборе б\у иномарки поверил журналу «За рублём» об самых честных аукционах в Японии. Давно уже не читаю подобные «рекламные вестники», но с правого руля так и не слез…

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

по какой-то странной причине максимально возможное для установки значение составляет 4294967 км

Ну если знать, что 2^32 = 4294967296, можно предположить, что пробег может измеряться в метрах, а записываться с шагом в километр. В любом случае число сразу бросается в глаза.
У VW Golf 3/Vento всего 299 000. Поэтому определить точный пробег, даже если он реальный практически невозможно. Можно лишь догадываться о номере круга.
Хм, действительно, в метрах это имеет смысл.

Так оно и есть. У Вас в том самом кусочке новое значение сравнивается с неким r17, делённым на 1000. Откуда берётся r17, на том кусочке не видно.

я так понимаю, что официальных руководств по протоколам и кодам для машин нетю это всегда реверс инжиринг? или все же есть в недрах гитхаба репа где собрана информация по разным командам?
Это отдельный неплохой бизнес — продажа адаптеров и ПО для конфигурации систем автомобиля.
Нет, таких руководств нету.
В UDS и KWP2000 есть некоторая стандартизированная составляющая, например, процедуры чтения VIN или серийного номера ЭБУ, остальное все производители делают по-разному.

Между автопроизводителем и поставщиком ЭБУ обычно применяется некое ТЗ, в котором описана специфика диагностики. Эта же документация используется для разработки марочного диагностического комплекса, который потом можно продавать в автосервисы. Как правило, заводы не заинтересованы в распространении этой документации.

С учётом того что сейчас диагностический комплекс не продаётся а сдаётся в аренду (иногда с онлайн авторизацией) то производителю это точно не выгодно :)

Боюсь такая скрутка будет работать только «на столе», т.к. при установке в автомобиль, пробег в приборке перезаписывается правильным, хранящимся в разных других блоках авто. С таким подходом надо править прошивку чтобы на экран выводился пробег с заданной отрицательной поправкой.
Можно по идее к времени суток привязать, чтобы только в полночь, на одну минуту, на приборке отображался правильный пробег))).

И у вас ошибка на гифке которая иллюстрирует смотку пробега у форда, было 80 тыщ, а стало 123 тыщи =)
пробег в приборке перезаписывается правильным, хранящимся в разных других блоках авто

Да. В разных машинах по-разному, что в общем-то отлично отображено в статье, но у большинства пробег прописывается в нескольких различных блоках. Не знаю, насколько это обстоятельство затрудняет «скручивание» для тех, кто занимается этим за деньги, но если «скручивать» кустарно, то можно легко попасться на разном пробеге в разных блоках.

embeduin, скажите, в Ford'овской приборке вы не находили данные о моточасах?
Нет, данных о моточасах специально не искал и не находил, к сожалению.

Думаю (практически уверен), что данные о моточасах забиваются в ECU двигателя (MCU или Motor Control Unitкак вариант названия).


И до них можно вполне спокойно достучаться через OBD-разъём через UDS-команды.

Forscan показывает и моточасы, и пробег, во всех модулях, в которых они прописаны (в машинах, где этот параметр в принципе поддерживается, он прописывается во все те же модули, в которые прописывается и пробег), но это неспортивно, в смысле в отличие от автора статьи я говорю об использовании готового решения вместо достойно поковыряться самому.
Да, наслышан о такой синхронизации, но поэкспериментировать с этим еще не довелось.
Для этого нужен либо автомобиль целиком, либо макет на столе со всеми необходимыми ЭБУ.

Гифка форда не очень наглядная получилась, там происходит следующее:
Пробег 123456 км -> перезагрузка панели (черный экран) -> пробег 80085 км.
Чисто из практики. Синхронизация происходит не моментально.
А спустя несколько часов / количество запусков.
И бывают такие приколы. Купили фару VAG на разборке, поставили, а через неделю пробег сильно иной…
ЧТо, прям таки фару?

Угу.
Туарег вроде был.
Свежий
Фара с мозгами, ну и…
Сейчас куда только пробег не пишут....

Фары разные бывают, светодиодные с управляемой зоной освещения/затемнения без своего эбу уже не могут.
Последняя приборка из статьи деревянная в плане KWP2000. В ней нет сессии репрограмминга, не реализован SID 0x3D. Митсу приборки для таких экспериментов надо брать от 2010 года. habr.com/ru/post/474718
Спасибо за информацию!
Да, эта приборка оказалась скучноватой.
А насчёт редактирования функционала не думали?
Вывести на панель температуру двигателя в градусах, или напряжение аккумулятора в вольтах.
Например на странице с пробегом за поездку заменить цифру пробега на температуру.
Или даже добавить отдельный пункт меню с бортовым компьютером, на котором бы выводить подобные данные кучей.
Сделать это можно, но стоит ли оно потраченных сотен часов?

Очень интересно, спасибо. Местами, правда, очень напоминает "теперь рисуем оставшуюся часть совы", но в любом случае большое спасибо.


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


Я просто чуть-чуть интересовался работой блоков управления двигателем — там контролька на контрольке, и, вроде как, сверху ещё и подписью прикрыто (на самых последних разработках).

В приборках редко встречается кс, ее сверка идет только после обновления (CRC32 загруженного образа). В ЭБУ моторов проверка кс идет в процессе работы (в некоторых постоянно), ибо узел ответственный, и то, она бывает элементарной, что-то наподобие суммы всех байт.
Спасибо за разбор! Порой возникает ощущение, что качество разработки автоэлектроники отстаёт на 5-10 лет от современного уровня развития IT, а её безопасность в основном держится на проприетарных протоколах, по принципу security through obscurity.
Потому что новую платформу начинают разрабатывать как раз за 5-10 лет до выхода первых моделей. Оттуда и отставание.
Спасибо за интересную статью! Скрипт с каким адаптером использовали, «slcan»?
Использовалось несколько разных адаптеров, и vector и slcan в том числе.
В идеале в скрипте просто меняется строка инициализации интерфейса, но на практике бывают затыки.
Sign up to leave a comment.

Articles