Управление дверными замками по шине CAN

9

Я пытаюсь выяснить, как заблокировать и разблокировать двери Toyota RAV4 2010 года, используя шину CAN через порт OBD-II. У меня есть микроконтроллер, подключенный через контроллер CAN и приемник CAN, и я написал несколько прошивок для захвата и воспроизведения сообщений.

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

Я думаю, у меня есть несколько вопросов:

1) Должно ли это быть возможным по шине CAN, выставленной на порту OBD-II? Я видел источники, которые говорили, что двери управляются другой, более медленной шиной, но я также видел рекламируемые устройства, которые запирают двери, когда вы достигаете определенной скорости.

2) Другие автобусы выставлены как-нибудь?

3) Можно ли как-то узнать смысл записанных мною сообщений, не заплатив огромные суммы денег Toyota?

Ишвара
источник
Где вы смогли запустить это через OBD-II или вам пришлось идти другим путем?
Суард

Ответы:

5

То, что вы хотите сделать, возможно. У меня был подобный опыт и желание для моей Camry 2010 года. Судя по моему опыту, чтение сообщений из порта OBD-II никуда меня не привело. Как будто сообщения CAN были всего лишь ответом на ручное манипулирование машиной.

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

Что вам нужно сделать, так это получить сплиттер OBD-II и копию Toyota Techstream с «мини-кабелем VCI». Это позволит вам прочитать сообщения, которые программа Techstream отправляет через порт OBD-II.

Ты должен быть способен:

1- Блокировка и разблокировка водителя / всех дверей

2- Поп ствол

3- Включите ближний и дальний свет и мигалки

4- гудок рог

5 - закатывать и опускать окна

6- и т. Д.

... или, по крайней мере, у меня все получилось !!

YMMV и удачи! : D

(Я не несу ответственности за ущерб себе или машине.)

Макка
источник
1
Маккой, я пытаюсь сделать именно то, что вы опубликовали. Я установил Techstream и подключил кабель USB-адаптера к моей Corolla 2012 года, но, похоже, он не требует настройки. Не могли бы вы дать мне знать, как вы смогли достичь этой цели? Спасибо
4

Обычно шина OBD CAN «соединяется» с другими шинами CAN автомобиля, чтобы облегчить диагностику ЭБУ других шин. Тем не менее, мост может передавать только диагностические сообщения и далее :( Это отличается на каждой платформе.

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

С дверными замками - вполне возможно, что есть еще какой-то ответ на вызов, который останавливает вашу простую «повторную атаку».

Мартин Томпсон
источник
Вполне возможно, что сами фары даже не на шине CAN, а полагаются на выделенную проводку и реле; пока индикатор фар находится на шине CAN с остальной частью комбинации приборов.
Mac
@Mac - действительно так
Мартин Томпсон
3

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

Это угроза безопасности, поэтому я бы ее не поддержал.

Капитан кенпачи
источник
2
Адаптеры Bluetooth ничего не делают, если у вас уже нет доступа к машине для подключения приемника Bluetooth. Во всяком случае, оказывается, что это возможно.
Ишвара
Это страшная мысль. К вашему сведению: у вас есть адаптеры Wi-Fi OBD-II, и их диапазон является значительным.
Капитан Кенпачи
3

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

Как работает CAN, каждое сообщение может иметь арбитражный идентификатор, также называемый идентификатором сообщения. При нормальной работе ни один ECU никогда не будет транслировать сообщение с одинаковым идентификатором на одну и ту же шину. Когда ты это сделаешь. Теоретически, вы должны иметь возможность заблокировать или отпереть дверь, заполняя шину желаемым сообщением, но я не буду использовать это в продукте, так как неправильное использование шины будет мешать обмену информацией в ECU. на шине, которая вещает с более низким приоритетом.

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

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

Подсказка: найдите в Интернете контактный разъем для разъема OBD в вашем автомобиле.

1) Должно ли это быть возможным по шине CAN, выставленной на порту OBD-II? Я видел источники, которые говорили, что двери управляются другой, более медленной шиной, но я также видел рекламируемые устройства, которые запирают двери, когда вы достигаете определенной скорости.

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

2) Другие автобусы выставлены как-нибудь?

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

3) Можно ли как-то узнать смысл записанных мною сообщений, не заплатив огромные суммы денег Toyota?

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

Это займет немало времени и взлома.

am6sigma
источник
1
Передача и столкновения не проблема. Контроллер CAN позаботится обо всем этом - вот для чего он нужен. У меня есть схема электропроводки для машины, и там только один автобус. У меня есть ключ, который блокирует двери с заданной скоростью (около 5 миль в час), и это передает сообщение «дверь закрыто» один раз. Похоже, это должно быть довольно легко скопировать.
Ишвара
Вы, вероятно, правы, но на практике несколько ECU не передают один и тот же идентификатор сообщения в одно и то же время на одной и той же шине. Но если ваша простая репликация, ключ, это вопрос копирования сообщений, приходящих от него, и просмотра того, какие биты переворачиваются, или когда сообщение отправляется, если оно основано на событиях.
am6sigma