CAN 버스를 통한 도어락 제어


9

OBD-II 포트를 통해 CAN 버스를 사용하여 2010 Toyota RAV4 도어를 잠 그거나 잠금 해제하는 방법을 알아 내려고 노력 중입니다. CAN 컨트롤러와 CAN 수신기를 통해 마이크로 컨트롤러가 연결되어 있으며 메시지를 캡처하고 재생하기 위해 펌웨어를 작성했습니다.

키 포브 또는 도어 버튼을 통해 도어를 잠금 해제하면 자동 버스에 키가 튀어 나옵니다. 그러나 이들을 재생해도 아무런 효과가 없습니다. 나는 그것이 일종의 인증 문제 일지 모른다고 생각했기 때문에 헤드 라이트와 같이 덜 민감한 것을 시도했습니다. 흥미롭게도, 전조등을 켜서 메시지를 재생할 때 계기판의 전조등 표시등이 잠깐 켜집니다. 그러나 실제 전조등은 아무 것도하지 않습니다.

몇 가지 질문이 있습니다.

1) OBD-II 포트에 노출 된 CAN 버스를 통해 가능합니까? 나는 문이 다른 느린 버스에 의해 제어된다고 말하는 소식을 보았지만 특정 속도에 도달하면 문을 잠글 수있는 광고 장치도 보았습니다.

2) 다른 버스는 어떤 식 으로든 노출됩니까?

3) Toyota에 막대한 금액을 지불하지 않고 캡처 한 메시지의 의미를 알 수있는 방법이 있습니까?


OBD-II를 통해 이것을 실행할 수 있습니까? 아니면 다른 경로로 가야 했습니까?
스워드

답변:


5

당신이 원하는 것은 가능합니다. 나는 2010 캠리와 비슷한 경험과 욕구를 가지고 있습니다. 내 경험상, OBD-II 포트에서 메시지를 읽는 것이 아무데도 도움이되지 못했습니다. 그것은 CAN 메시지가 수동으로 차를 조작하는 것에 대한 응답 일뿐이었습니다.

FOB 키를 사용하여 도어를 잠 그거나 잠금 해제하면 메시지 응답을받을 수 있지만 동일한 메시지를 보내면 아무런 효과가 없습니다.

OBD-II 스플리터 케이블과 "mini VCI 케이블"이 포함 된 Toyota Techstream 사본을 얻으십시오. 그러면 Techstream 소프트웨어가 OBD-II 포트를 통해 보내는 메시지를 읽을 수 있습니다.

당신은 할 수 있어야합니다 :

1- 드라이버 / 모든 도어 잠금 및 잠금 해제

2- 팝 트렁크

3- 로우 및 하이 빔 및 플래셔를 켭니다

4- 호른 혼

5- 롤업 및 다운 창

6- 기타

또는 적어도 그것은 모두 나를 위해 일했다!!

YMMV와 행운을 빕니다! :디

(자기 또는 자동차의 손해에 대해 책임을지지 않습니다.)


1
맥코이, 나는 당신이 게시 한 것을 정확히하려고합니다. Techstream을 설치하고 USB 어댑터 케이블을 2012 Corolla에 연결했지만 사용자 정의를 추진하지 않는 것 같습니다. 어떻게이 목표를 달성 할 수 있었는지 알려주시겠습니까? 감사합니다

4

일반적으로 OBD CAN 버스는 다른 버스의 ECU 진단을 용이하게하기 위해 차량의 다른 CAN 버스로 '브리지'됩니다. 그러나 브리지는 진단 메시지 만 전달할 수 있습니다. (플랫폼마다 다릅니다.

프로토콜 측면에서 보면 고전적인 리버스 엔지니어링 문제입니다. 잠금 해제 버튼을 누르고 메시지의 형식이 무엇인지 파악할 때 CAN 활동의 흔적을 캡처해야합니다. 전조등 예제는 버스가 여러 개 있고 버스 중 하나에 만 액세스 할 수 있음을 나타낼 수 있습니다 (이 경우 전조등이 아닌 대시 보드 장치로 이동).

도어락을 사용하면 간단한 "재생 공격"을 막는 일종의 도전 응답이있을 수 있습니다.


전조등 자체가 CAN 버스에 있지 않고 전용 배선 및 릴레이에 의존하는 것이 가능합니다. 헤드 라이트 인디케이터가 나머지 계측기 클러스터와 함께 CAN 버스에있는 동안.

@mac-정말 그렇습니다
Martin Thompson

3

내가 전자 제품을 디자인 한 사람이라면, 차 밖에 서있는 누군가가 페어링하여 잠금 해제 명령을 보낼 수있는 OBD2 용 블루투스 어댑터를 얻기 때문에 CAN-Bus를 통해이 작업을 수행 할 수 없게됩니다.

안전상 위험하므로 지원하지 않습니다.


2
Bluetooth 어댑터를 연결하기 위해 차량에 이미 액세스 할 수 없다면 Bluetooth 어댑터는 아무것도하지 않습니다. 어쨌든 가능하다는 것이 밝혀졌습니다.
Isvara

무서워. 참고 : Wi-Fi OBD-ii 어댑터도 제공되며 그 범위는 상당합니다.
캡틴 켄 파치

3

올바른 버스에 연결하고 올바른 CAN 메시지를 브로드 캐스트하더라도 다른 ECU에서 이미 전송중인 CAN 메시지를 전송하는 문제가 계속 발생합니다.

CAN 작동 방식, 모든 캔 메시지에는 메시지 ID라고도하는 중재 ID가 있습니다. 정상적인 작동 상태에서는 어떤 ECU도 같은 버스에서 같은 ID의 메시지를 브로드 캐스트하지 않습니다. 당신이 할 때. 이론적으로 버스에 원하는 메시지를 범람하여 도어를 잠 그거나 잠금을 해제 할 수 있어야하지만 버스를 잘못 사용하면 ECU의 통신에 영향을 미치므로 제품 내부에서 사용하는 것이 아닙니다. 우선 순위가 낮은 버스에서.

이제 도어 잠금 및 잠금 해제에 대한 CAN 메시지가 완전히 이벤트 중심이고 주기적으로 브로드 캐스트되지 않는 경우 사용자의 시도가 완전히 실현 가능한 것입니다.

또한 문을 잠 그거나 잠금을 해제 할 때 변경되는 스니핑 메시지는 관심 대상이 아닐 수 있습니다. 상태 메시지는 종종 다른 버스로 게이트웨이로 연결되므로 원래 버스에서 올바른 메시지를 브로드 캐스트해야합니다.

힌트 : 차량에서 OBD 커넥터의 핀아웃을 온라인으로 검색하십시오.

1) OBD-II 포트에 노출 된 CAN 버스를 통해 가능합니까? 나는 문이 다른 느린 버스에 의해 제어된다고 말하는 소식을 보았지만 특정 속도에 도달하면 문을 잠글 수있는 광고 장치도 보았습니다.

예, 가능할 수도 있지만, 공개 정보가 아닌 자동차의 OBDII에 대한 핀아웃을 알아야하지만 표준 OBDII 핀을 제거하여 관심있는 핀을 파악할 수 있습니다.

2) 다른 버스는 어떤 식 으로든 노출됩니까?

위에서 대답했듯이, 좋은 기회가 있다고 생각하고 표준 OBD 핀을 제거하면 나머지 쌍이 관심의 대상이 될 것입니다. 각 캔 데이터 채널에는 데이터 높음 및 데이터 낮음이 있습니다.

3) Toyota에 막대한 금액을 지불하지 않고 캡처 한 메시지의 의미를 알 수있는 방법이 있습니까?

의심스러운 핀의 데이터를 보려면 CAN 도구가 필요합니다. 올바른 핀에 연결된 경우에만 캔 메시지를 잡을 수 있습니다. 그렇지 않으면 도구가 오류를 발생시킵니다. 전송 속도를 자동으로 감지하거나 추측 할 수있는 도구가 필요할 수 있습니다.

좋은 시간과 해킹이 필요합니다.


1
전송 및 충돌은 문제가되지 않습니다. CAN 컨트롤러는이 모든 것을 처리합니다. 나는 차에 대한 배선도를 가지고 있으며 전체에 단 하나의 버스가 있습니다. 설정된 속도 (약 5mph)로 문을 잠그는 동글이 있는데, 이것은 '잠금 문'메시지를 한 번만 방송합니다. 복제하기 매우 쉬운 것 같습니다.
Isvara

아마도 맞지만 실제로는 여러 ECU가 동일한 버스에서 같은 메시지 ID를 동시에 전송하지 않습니다. 그러나 간단한 복제, 동글, 그로부터 오는 메시지를 처리하고 어떤 비트가 뒤집히는 지 또는 이벤트 기반의 경우 메시지가 전송되는 시점을 보는 문제입니다.
am6sigma
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.