Sterowanie zamkami drzwi za pośrednictwem magistrali CAN

9

Próbuję wymyślić, jak zablokować i odblokować drzwi 2010 Toyota RAV4 za pomocą magistrali CAN przez port OBD-II. Mam mikrokontroler podłączony przez kontroler CAN i odbiornik CAN i napisałem trochę oprogramowania układowego do przechwytywania i odtwarzania wiadomości.

Jeśli otworzę drzwi albo za pomocą pilota, albo przycisku drzwi, dostanę lawinę wiadomości na skądinąd cichej magistrali (klucz jest wyjęty). Jednak odtworzenie ich nic nie robi. Podejrzewałem, że może to być jakiś problem z uwierzytelnieniem, więc spróbowałem czegoś mniej wrażliwego - reflektorów. Co ciekawe, kiedy odtwarzam komunikaty po włączeniu reflektorów, wskaźnik reflektorów w zestawie wskaźników zapala się na krótko, ale rzeczywiste reflektory nic nie robią.

Chyba mam kilka pytań:

1) Czy powinno to być możliwe w przypadku magistrali CAN odsłoniętej na porcie OBD-II? Widziałem źródła mówiące, że drzwi są kontrolowane przez inną, wolniejszą magistralę, ale widziałem także reklamowane urządzenia, które będą blokować drzwi, gdy osiągniesz określoną prędkość.

2) Czy inne autobusy są w jakikolwiek sposób narażone?

3) Czy jest jakiś sposób, aby dowiedzieć się, co oznaczają wiadomości, które przechwyciłem, bez płacenia dużej ilości pieniędzy Toyota?

Isvara
źródło
Gdzie mogłeś to uruchomić i uruchomić przez OBD-II, czy musiałeś wybrać inną trasę?
SWard

Odpowiedzi:

5

To, co chcesz zrobić, jest możliwe. Mam podobne doświadczenie i chęć do mojego Camry 2010. Z mojego doświadczenia, czytanie wiadomości z portu OBD-II nigdzie mnie nie doprowadziło. To było tak, jakby komunikaty CAN były tylko odpowiedzią na moje ręczne manipulowanie samochodem.

Otrzymałem odpowiedź na wiadomość po zamknięciu lub odblokowaniu drzwi za pomocą FOB-a, ale wysłanie tej samej wiadomości nic nie zrobiło.

Co powinieneś zrobić, to otrzymać kabel rozdzielający OBD-II i kopię Toyota Techstream z „kablem mini VCI”. Umożliwi to odczytanie komunikatów, do których oprogramowanie Techstream wysyła przez port OBD-II.

Powinieneś być w stanie:

1- Zablokuj i odblokuj sterownik / wszystkie drzwi

2- Pop pnia

3- Włącz światła mijania i drogowe oraz światła mijania

4 - Uderz w róg

5- Zwijaj i rozwijaj okna

6- itd.

..a przynajmniej to wszystko działało dla mnie !!

YMMV i powodzenia! :RE

(Nie jestem odpowiedzialny za szkody na sobie lub samochodzie).

Mccoy
źródło
1
Mccoy, staram się robić dokładnie to, co napisałeś. Zainstalowałem Techstream i podłączyłem kabel adaptera USB do mojej Corolli z 2012 roku, ale wydaje się, że nie przesuwa on żadnych dostosowań. Czy mógłbyś mi powiedzieć, jak udało ci się osiągnąć ten cel? Dzięki
4

Zwykle magistrala CAN OBD jest „zmostkowana” z innymi magistralami CAN pojazdu, aby ułatwić diagnostykę ECU w innych autobusach. Most może jednak przekazywać komunikaty diagnostyczne dalej :( Na każdej platformie jest inaczej.

Pod względem protokołu - jest to klasyczny problem inżynierii odwrotnej. Musisz nacisnąć kilka śladów aktywności CAN po naciśnięciu przycisku odblokowania i ustaleniu formatu wiadomości. Twój przykład reflektorów może wskazywać, że istnieje wiele autobusów i masz dostęp tylko do jednej z nich (która idzie do deski rozdzielczej, a nie do reflektorów w tym przypadku)

W przypadku zamków do drzwi - całkiem możliwe, że istnieje także rodzaj odpowiedzi na wyzwanie, która zatrzymuje twój prosty „atak powtórkowy”.

Martin Thompson
źródło
Całkiem możliwe, że same reflektory nie są nawet na szynie CAN, zamiast tego polegają na dedykowanym okablowaniu i przekaźnikach; gdy wskaźnik reflektorów znajduje się na szynie CAN wraz z resztą zestawu wskaźników.
Mac
@mac - rzeczywiście tak
Martin Thompson,
3

Gdybym był facetem, który zaprojektował elektronikę, uniemożliwiłbym to przez CAN-Bus tylko dlatego, że dostajesz adaptery Bluetooth do OBD2, z którymi ktoś stojący poza samochodem mógłby się sparować i wysłać instrukcje odblokowania.

Jest to zagrożenie bezpieczeństwa, więc nie poparłbym tego.

Kapitanie Kenpachi
źródło
2
Adaptery Bluetooth nic nie robią, chyba że masz już dostęp do samochodu, aby podłączyć odbiornik Bluetooth. W każdym razie okazuje się, że jest to możliwe.
Isvara,
To przerażająca myśl. Do Twojej wiadomości: masz również adaptery OBD-ii Wi-Fi, a ich zasięg jest znaczny.
Kapitan Kenpachi,
3

Nawet jeśli podłączysz się do właściwej magistrali i wyślesz prawidłowy komunikat CAN, nadal napotykasz problem, o przesłaniu komunikatu CAN, który jest już przesyłany przez inny ECU.

Jak działa CAN, każda wiadomość może mieć identyfikator Arbitrażu, zwany także identyfikatorem wiadomości. Podczas normalnej pracy żadne ECU nigdy nie wyemituje komunikatu o tym samym identyfikatorze na tej samej magistrali. Kiedy to zrobisz. Teoretycznie powinieneś być w stanie zablokować lub odblokować drzwi, zalewając autobus pożądanym komunikatem, ale nie będzie to coś, czego chciałbym użyć w produkcie, ponieważ twoje nadużycie autobusu będzie zakłócać komunikację ECU w autobusie, który nadaje niższy priorytet.

Znowu, jeśli komunikat CAN dotyczący blokowania i odblokowywania drzwi jest całkowicie sterowany zdarzeniami, a nie jest okresowo nadawany, to to, co próbujesz zrobić, jest całkowicie wykonalne.

Również wiadomości, które wąchasz, które zmieniają się po zablokowaniu lub odblokowaniu drzwi, mogą nie być interesujące. Komunikaty o stanie są często wczytywane do innych magistrali, trzeba by nadawać poprawny komunikat w autobusie, z którego pochodzi.

Wskazówka: wyszukaj w Internecie wyprowadzenie złącza OBD w pojeździe.

1) Czy powinno to być możliwe w przypadku magistrali CAN odsłoniętej na porcie OBD-II? Widziałem źródła mówiące, że drzwi są kontrolowane przez inną, wolniejszą magistralę, ale widziałem także reklamowane urządzenia, które będą blokować drzwi, gdy osiągniesz określoną prędkość.

Tak, może być to możliwe, ale musisz znać pin dla OBDII w samochodzie, co prawdopodobnie nie jest publiczną informacją, ale możesz dowiedzieć się, które są interesujące, eliminując standardowe piny OBDII.

2) Czy inne autobusy są w jakikolwiek sposób narażone?

Jak odpowiedziałem powyżej, myślę, że jest spora szansa, wyeliminuj standardowe piny OBD, a pozostałe pary będą interesujące. Każdy kanał danych ma wysoki poziom danych i niski poziom danych.

3) Czy jest jakiś sposób, aby dowiedzieć się, co oznaczają wiadomości, które przechwyciłem, bez płacenia dużej ilości pieniędzy Toyota?

Potrzebujesz narzędzia CAN, aby oglądać dane na podejrzanych pinach, dobrą wiadomością jest to, że wychwytujesz wiadomości z puszki tylko po podłączeniu do odpowiednich pinów. W przeciwnym razie narzędzie wyrzuci błędy. i możesz potrzebować narzędzia, które może automatycznie wykrywać prędkości transmisji, lub możesz zgadnąć.

Będzie to wymagało sporo czasu i hakowania.

am6sigma
źródło
1
Transmisja i kolizje nie stanowią problemu. Sterownik CAN dba o to wszystko - po to jest. Mam schemat okablowania samochodu, a w całym autobusie jest tylko jeden autobus. Mam klucz sprzętowy, który blokuje drzwi z ustaloną prędkością (około 5 mil na godzinę), co powoduje jednorazowe przesłanie komunikatu „zamknij drzwi”. Wygląda na to, że powinno to być dość łatwe do odtworzenia.
Isvara,
Prawdopodobnie masz rację, ale w praktyce wiele ECU nie przesyła tego samego identyfikatora wiadomości w tym samym czasie na tej samej magistrali. Ale jeśli twoja prosta replikacja, klucz sprzętowy, polega na skopiowaniu wiadomości z niego pochodzących i sprawdzeniu, które bity się odwracają, lub kiedy wiadomość jest wysyłana, jeśli jest oparta na zdarzeniu.
am6sigma