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?
Odpowiedzi:
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).
źródło
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”.
źródło
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.
źródło
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.
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.
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.
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.
źródło