การควบคุมการล็อคประตูผ่าน CAN บัส


9

ฉันพยายามหาวิธีล็อคและปลดล็อคประตูของ Toyota RAV4 ปี 2010 โดยใช้ CAN บัสผ่านพอร์ต OBD-II ฉันมีไมโครคอนโทรลเลอร์ติดอยู่ผ่านตัวควบคุม CAN และตัวรับสัญญาณ CAN และฉันได้เขียนเฟิร์มแวร์บางตัวเพื่อจับภาพและเล่นซ้ำข้อความ

ถ้าฉันปลดล็อกประตูไม่ว่าจะผ่านทางปุ่มกดหรือปุ่มประตูฉันจะได้รับข้อความจำนวนมากบนรถบัสที่เงียบเป็นอย่างอื่น (กุญแจหมด) อย่างไรก็ตามการเล่นซ้ำพวกเขาไม่ได้ทำอะไรเลย ฉันสงสัยว่าอาจเป็นปัญหาการรับรองความถูกต้องบางอย่างดังนั้นฉันจึงลองทำบางสิ่งที่มีความอ่อนไหวน้อยกว่า - ไฟหน้า ที่น่าสนใจเมื่อฉันเล่นซ้ำข้อความจากการเปิดไฟหน้าไฟแสดงสถานะไฟหน้าในแผงหน้าปัดไฟสั้น ๆ แต่ไฟหน้าจริงไม่ทำอะไรเลย

ฉันเดาว่าฉันมีคำถามหลายข้อ:

1) สิ่งนี้ควรเป็นไปได้มากกว่า CAN บัสที่แสดงบนพอร์ต OBD-II หรือไม่ ฉันเคยเห็นแหล่งที่มาที่บอกว่าประตูถูกควบคุมโดยรถบัสที่ช้าลงต่าง ๆ แต่ฉันก็เคยเห็นอุปกรณ์โฆษณาที่จะล็อคประตูเมื่อคุณถึงความเร็วที่กำหนด

2) รถโดยสารคันอื่น ๆ มีการเปิดเผยหรือไม่?

3) มีวิธีใดบ้างที่ฉันสามารถค้นหาความหมายของข้อความที่ฉันจับได้โดยไม่ต้องจ่ายเงินมหาศาลให้กับโตโยต้า?


ที่ที่คุณสามารถเปิดและใช้งาน 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
Mccoy ฉันพยายามทำสิ่งที่คุณโพสต์ ฉันติดตั้ง Techstream และมีสายเคเบิลอะแดปเตอร์ usb ติดอยู่กับ 2012 Corolla ของฉันแล้ว แต่ดูเหมือนจะไม่ได้ทำการปรับแต่งใด ๆ เลย คุณช่วยบอกฉันทีว่าคุณบรรลุเป้าหมายนี้ได้อย่างไร ขอบคุณ

4

โดยปกติแล้ว OBD CAN บัสจะ 'เชื่อมต่อ' เข้ากับ CAN CAN ของยานพาหนะคันอื่นเพื่ออำนวยความสะดวกในการวินิจฉัย ECU ของรถบัสคันอื่น ๆ อย่างไรก็ตามบริดจ์อาจส่งต่อข้อความวินิจฉัยเท่านั้น :( มันแตกต่างกันในทุกแพลตฟอร์ม

ในแง่ของโปรโตคอล - มันเป็นปัญหาวิศวกรรมย้อนกลับแบบคลาสสิก คุณต้องจับร่องรอยของกิจกรรม CAN เมื่อคุณกดปุ่มปลดล็อคและหาว่ารูปแบบของข้อความคืออะไร ตัวอย่างไฟหน้าของคุณอาจบ่งบอกว่ามีรถเมล์หลายคันและคุณสามารถเข้าถึงหนึ่งในนั้นเท่านั้น (ซึ่งไปที่หน่วยแดชบอร์ดและไม่ใช่ไฟหน้าในกรณีนี้)

ด้วยการล็อคประตู - เป็นไปได้มากที่จะมีการตอบสนองต่อความท้าทายที่หยุดการ "เล่นซ้ำการโจมตี" ที่เรียบง่าย


ค่อนข้างเป็นไปได้ว่าไฟหน้าตัวเองไม่ได้อยู่บน CAN บัสเลยแทนที่จะใช้สายไฟและรีเลย์โดยเฉพาะ ในขณะที่ไฟแสดงสถานะอยู่บน CAN บัสพร้อมกับส่วนที่เหลือของแผงหน้าปัด
Mac

@mac - แน่นอนดังนั้น
Martin Thompson

3

ถ้าฉันเป็นคนที่ออกแบบอุปกรณ์อิเล็กทรอนิกส์ฉันจะทำให้มันเป็นไปไม่ได้ที่จะทำสิ่งนี้ผ่าน CAN-Bus เพียงเพราะคุณได้รับอะแดปเตอร์บลูทู ธ สำหรับ OBD2 ที่มีคนยืนอยู่ด้านนอกรถสามารถจับคู่และส่งคำสั่งปลดล็อคได้

มันเป็นอันตรายด้านความปลอดภัยดังนั้นฉันจะไม่สนับสนุน


2
อะแดปเตอร์บลูทู ธ ไม่ได้ทำอะไรนอกจากคุณจะสามารถเข้าถึงรถยนต์เพื่อเชื่อมต่อกับตัวรับสัญญาณบลูทู ธ อย่างไรก็ตามมันกลับกลายเป็นไปได้
Isvara

นั่นเป็นความคิดที่น่ากลัว FYI: คุณได้รับ wifi OBD-ii ด้วยเช่นกัน
กัปตัน Kenpachi

3

แม้ว่าคุณจะเชื่อมต่อกับบัสที่ถูกต้องและออกอากาศข้อความ CAN ที่ถูกต้องที่คุณยังคงพบเจอกับปัญหาของการส่งข้อความ CAN ที่กำลังถูกส่งโดย ECU อื่นแล้ว

วิธีที่สามารถใช้งานได้ทุกข้อความสามารถมี Arbitration ID หรือที่เรียกว่า id ของข้อความ ภายใต้การทำงานปกติ ECU จะไม่เผยแพร่ข้อความที่มี ID เดียวกันบนบัสเดียวกัน เมื่อคุณทำสิ่งนี้ ในทางทฤษฎีแล้วคุณควรจะสามารถล็อคหรือปลดล็อคประตูด้วยน้ำท่วมรถบัสด้วยข้อความที่ต้องการ แต่มันจะไม่เป็นสิ่งที่ฉันจะใช้ภายในผลิตภัณฑ์เนื่องจากการละเมิดของรถบัสจะรบกวนการสื่อสารของ ECU บนรถบัสที่ออกอากาศในลำดับความสำคัญต่ำกว่า

ตอนนี้อีกครั้งถ้าข้อความ CAN สำหรับล็อคและปลดล็อคประตูนั้นเป็นเหตุการณ์ที่สมบูรณ์และไม่ได้ออกอากาศเป็นระยะดังนั้นคุณต้องพยายามทำอะไรให้เป็นไปได้อย่างสมบูรณ์

นอกจากนี้ข้อความที่คุณกำลังดมกลิ่นซึ่งเปลี่ยนไปเมื่อคุณล็อกหรือปลดล็อกประตูอาจไม่ใช่ข้อความที่คุณสนใจ ข้อความสถานะมักจะถูกส่งไปยังรถโดยสารอื่น ๆ คุณจะต้องถ่ายทอดข้อความที่ถูกต้องบนรถบัสที่มีต้นกำเนิดมาจาก

คำแนะนำ: ค้นหาพินออกออนไลน์สำหรับตัวเชื่อมต่อ OBD ในรถยนต์ของคุณ

1) สิ่งนี้ควรเป็นไปได้มากกว่า CAN บัสที่แสดงบนพอร์ต OBD-II หรือไม่ ฉันเคยเห็นแหล่งที่มาที่บอกว่าประตูถูกควบคุมโดยรถบัสที่ช้าลงต่าง ๆ แต่ฉันก็เคยเห็นอุปกรณ์โฆษณาที่จะล็อคประตูเมื่อคุณถึงความเร็วที่กำหนด

ใช่มันอาจเป็นไปได้ แต่คุณจำเป็นต้องรู้ขาออกสำหรับ OBDII ในรถของคุณซึ่งอาจไม่ใช่ข้อมูลสาธารณะ แต่คุณสามารถรู้ได้ว่าคนไหนที่มีความสนใจโดยการกำจัดหมุด OBDII มาตรฐาน

2) รถโดยสารคันอื่น ๆ มีการเปิดเผยหรือไม่?

ดังที่ได้กล่าวไว้ข้างต้นฉันคิดว่ามีโอกาสที่ดีกำจัดหมุดมาตรฐาน OBD และคู่ที่เหลือจะเป็นของที่น่าสนใจ แต่ละช่องข้อมูลสามารถมี Data สูงและ Data low

3) มีวิธีใดบ้างที่ฉันสามารถค้นหาความหมายของข้อความที่ฉันจับได้โดยไม่ต้องจ่ายเงินมหาศาลให้กับโตโยต้า?

คุณต้องใช้เครื่องมือ CAN เพื่อดูข้อมูลเกี่ยวกับพินสงสัยว่าข่าวดีก็คือคุณจะสามารถจับข้อความได้เมื่อเชื่อมต่อกับหมุดที่ถูกต้องเท่านั้น มิฉะนั้นเครื่องมือจะทำให้เกิดข้อผิดพลาด และคุณอาจต้องใช้เครื่องมือที่สามารถตรวจจับอัตราการรับส่งข้อมูลโดยอัตโนมัติหรือคุณสามารถเดาได้

มันจะต้องใช้เวลาสักหน่อยและการแฮ็ค


1
การส่งและการชนไม่ใช่ปัญหา ตัวควบคุม CAN จะดูแลทุกอย่างนั่นคือสิ่งที่มันทำไว้ ฉันมีแผนภาพการเดินสายไฟสำหรับรถยนต์และมีรถบัสเพียงคันเดียวตลอด ฉันมีดองเกิลที่ล็อคประตูด้วยความเร็วที่กำหนด (ประมาณ 5 ไมล์ต่อชั่วโมง) และการออกอากาศข้อความ 'ล็อคประตู' ในครั้งเดียว ดูเหมือนว่าสิ่งนี้ควรจะง่ายต่อการทำซ้ำ
Isvara

คุณอาจจะถูก แต่ในทางปฏิบัติ ECU จำนวนมากไม่ได้ส่งรหัสข้อความเดียวกันในเวลาเดียวกันบนรถบัสเดียวกัน แต่ถ้าการลอกแบบง่ายดองเกิลเป็นเรื่องของการจัดการกับข้อความที่มาจากมันและดูว่าบิตไหนที่พลิกหรือเมื่อข้อความถูกส่งถ้ามันเป็นไปตามเหตุการณ์
am6sigma
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.