Я пытаюсь выяснить, как заблокировать и разблокировать двери Toyota RAV4 2010 года, используя шину CAN через порт OBD-II. У меня есть микроконтроллер, подключенный через контроллер CAN и приемник CAN, и я написал несколько прошивок для захвата и воспроизведения сообщений.
Если я открываю двери либо через брелок, либо через кнопку двери, я получаю поток сообщений на остальной тихой шине (ключ отсутствует). Однако их воспроизведение ничего не делает. Я подозревал, что это может быть какая-то проблема с аутентификацией, поэтому я попробовал что-то менее чувствительное - фары. Интересно, что когда я повторяю сообщения о включении фар, индикатор фар в комбинации приборов кратковременно горит, но реальные фары ничего не делают.
Я думаю, у меня есть несколько вопросов:
1) Должно ли это быть возможным по шине CAN, выставленной на порту OBD-II? Я видел источники, которые говорили, что двери управляются другой, более медленной шиной, но я также видел рекламируемые устройства, которые запирают двери, когда вы достигаете определенной скорости.
2) Другие автобусы выставлены как-нибудь?
3) Можно ли как-то узнать смысл записанных мною сообщений, не заплатив огромные суммы денег Toyota?
Ответы:
То, что вы хотите сделать, возможно. У меня был подобный опыт и желание для моей Camry 2010 года. Судя по моему опыту, чтение сообщений из порта OBD-II никуда меня не привело. Как будто сообщения CAN были всего лишь ответом на ручное манипулирование машиной.
Я получил бы ответное сообщение от запирания или отпирания дверей ключом FOB, но отправка того же самого сообщения ничего не делала.
Что вам нужно сделать, так это получить сплиттер OBD-II и копию Toyota Techstream с «мини-кабелем VCI». Это позволит вам прочитать сообщения, которые программа Techstream отправляет через порт OBD-II.
Ты должен быть способен:
1- Блокировка и разблокировка водителя / всех дверей
2- Поп ствол
3- Включите ближний и дальний свет и мигалки
4- гудок рог
5 - закатывать и опускать окна
6- и т. Д.
... или, по крайней мере, у меня все получилось !!
YMMV и удачи! : D
(Я не несу ответственности за ущерб себе или машине.)
источник
Обычно шина OBD CAN «соединяется» с другими шинами CAN автомобиля, чтобы облегчить диагностику ЭБУ других шин. Тем не менее, мост может передавать только диагностические сообщения и далее :( Это отличается на каждой платформе.
С точки зрения протокола - это классическая проблема обратного инжиниринга. Вам нужно захватить несколько следов активности CAN, когда вы нажимаете кнопку разблокировки и выясните, каков формат сообщений. Ваш пример с фарами может указывать на наличие нескольких шин, и у вас есть доступ только к одной из них (которая в данном случае идет к блоку приборной панели, а не к фарам)
С дверными замками - вполне возможно, что есть еще какой-то ответ на вызов, который останавливает вашу простую «повторную атаку».
источник
Если бы я был парнем, который разработал электронику, я бы сделал это через CAN-Bus просто потому, что у вас есть адаптеры Bluetooth для OBD2, с которыми кто-то, стоящий снаружи автомобиля, мог бы соединиться, и отправил инструкцию по разблокировке.
Это угроза безопасности, поэтому я бы ее не поддержал.
источник
Даже если вы подключаетесь к правильной шине и транслируете правильное сообщение CAN, вы все еще сталкиваетесь с проблемой передачи сообщения CAN, которое уже передается другим ЭБУ.
Как работает CAN, каждое сообщение может иметь арбитражный идентификатор, также называемый идентификатором сообщения. При нормальной работе ни один ECU никогда не будет транслировать сообщение с одинаковым идентификатором на одну и ту же шину. Когда ты это сделаешь. Теоретически, вы должны иметь возможность заблокировать или отпереть дверь, заполняя шину желаемым сообщением, но я не буду использовать это в продукте, так как неправильное использование шины будет мешать обмену информацией в ECU. на шине, которая вещает с более низким приоритетом.
Опять же, если сообщение CAN для блокировки и разблокировки двери полностью зависит от события и не передается периодически, то, что вы пытаетесь сделать, полностью осуществимо.
Кроме того, сообщения, которые вы нюхаете, которые изменяются, когда вы блокируете или открываете дверь, могут не представлять интереса. Сообщения о состоянии часто передаются на другие шины, вам придется транслировать правильное сообщение на шину, с которой оно исходит.
Подсказка: найдите в Интернете контактный разъем для разъема OBD в вашем автомобиле.
Да, это может быть возможно, но вам нужно знать, какой вывод OBDII в вашем автомобиле, который, вероятно, не является общедоступной информацией, но вы можете выяснить, какие из них представляют интерес, удалив стандартные контакты OBDII.
Как ответили выше, я думаю, что есть хороший шанс, исключить стандартные контакты OBD, и оставшиеся пары будут представлять интерес. Каждый канал данных может иметь высокий уровень данных и низкий уровень данных.
Вам нужен инструмент CAN, чтобы просматривать данные на подозрительных выводах, хорошая новость заключается в том, что вы сможете ловить сообщения банок только при подключении к правильным выводам. В противном случае инструмент выдаст ошибки. и вам может понадобиться инструмент, который может автоматически определять скорость передачи данных, или вы можете догадаться.
Это займет немало времени и взлома.
источник