
In diesem Repository dreht sich alles um ältere Volkswagen -Autos von Reverse Engineering, wie das oben gezeigte Premium 5 -Radio. Die hier untersuchten Funkgeräte sind über fünfzehn Jahre alt und die einzelnen Din-Größe. Trotz ihres Alters sind sie intelligent und unterstützen die Diagnostik an Bord (mit dem KWP1281-Protokoll von VW auf der K-Linie). Sie finden hier Notizen zu Protokollen und Hardware sowie teilweise Firmware, aber keine originalen Binärdateien von Firmware oder Eepromen.
VW -Radios aus dieser Zeit erfordern einen vierstelligen Sicherheitscode, der häufig als "sicherer Code" bezeichnet wird. Die Funkgeräte speichern den sicheren Code normalerweise in einem seriellen EEPROM wie einem 93c46 oder einem 24c04. Der sichere Code ist zu finden, indem das Radio geöffnet, das EEPROM entleert, gelesen und dann das EEPROM wieder eingelötet wird. Ich wollte wissen, ob es einen einfacheren Weg gab.
Ich habe die Firmware für diese Funkgeräte zerlegt: Premium 4 (Clarion), Premium 5 (Delco), Gamma 5 (Technisat) und Rhapsody (Technisat). Ich stellte fest, dass alle Hintertüren über den sicheren Code per On-Board-Diagnostik gelesen werden. Das Lesen des Codes auf diese Weise bedeutet, dass das Radio nicht geöffnet werden muss und möglicherweise nicht einmal aus dem Auto entfernt werden muss. Da diese Informationen nirgendwo veröffentlicht werden und ich kein Tool finden konnte, das dies tun konnte, habe ich mein eigenes Tool erstellt.
kwp1281_tool : Diagnostik -Protokoll -Tool (Volkswagen KWP1281). Es kann beliebige Befehle an ein Radio oder ein anderes Modul unter Verwendung des KWP1281 -Protokolls senden. Es kann auch Befehle über ein proprietäres Protokoll senden, das in Technisat -Radios gefunden wurde. Schließlich kann der sichere Code automatisch für einen der oben aufgeführten Funkgeräte abrufen.
faceplate_emulator : faceplatemulator (nec µpd16432b). Es steckt anstelle des Faceplate in das Premium 4 -Radio und ermöglicht es, dass das Radio über die Serie gesteuert wird. Es kann auch gleichzeitig eine echte Frontplatte steuern.
tape_emulator : Kassettenbandemulator (Philips TDA3612). Es steckt anstelle der SCA4.4/TDA3612 -Kassetten -Klebebandbaugruppe an das Premium 4 -Radio und täuscht das Radio dazu, zu denken, dass ein Band abgespielt wird.
volume_monitor : Volumenmonitor (Mitsubishi M62419FP). Es wird parallel mit dem im Premium 4 -Radio verwendeten M62419FP -Soundcontroller verbunden und sendet Updates über Serien, wenn die Tonregister geändert werden.
reverse_engineering : Notizen zu den Funkgeräten aus Reverse Engineering, einschließlich kommentierter Demontage -Auflistungen von Radiofirmware. Dieses Repository enthält keine originalen Firmware- oder EEPROM -Binärdateien.
Hier sind einige der interessanteren Entdeckungen, die ich über die Funkgeräte gemacht habe:
Alle untersuchten Funkgeräte unterstützen einen gemeinsamen Satz von KWP1281 -Diagnostikfunktionen in der normalen Funkadresse von 0x56. Einige Funkgeräte (nicht alle) haben auch KWP1281 -Befehle an derselben Adresse geschützt. Die verfügbaren geschützten Befehle variieren je nach Modell, beinhalten jedoch die Möglichkeit, das ROM oder RAM des Mikrocontrollers zu lesen und serielle EEPROM (s) zu lesen/zu schreiben. Durch den Zugriff auf die geschützten Befehle muss ein Anmeldeblock basierend auf dem sicheren Code gesendet und auch eine Gruppenlesung einer versteckten Gruppe durchgeführt werden.
VW Premium 4 (Clarion) hat einen ungeschützten KWP1281 -Befehl 0xf0, der den sicheren Code zurückgibt. Es enthält auch einen versteckten Modus, in dem der sichere Code über das Facplate geändert werden kann. Wenn Sie diesen Modus eingeben, müssen Sie Tasten drücken, die auf der Faceplate nicht vorhanden sind. Ich nehme an, es gab eine spezielle Fertigungsfaceplate, die von der Fabrik verwendet wurde.
VW Premium 5 (DELCO) und Seat Liceo (DELCO) reagieren auf einen anderen Satz KWP1281 -Befehle unter der Adresse 0x7c. Diese Befehle erfordern eine Authentifizierung mit einem hartcodierten Anmeldeblock. Nach der Authentifizierung stehen Befehle zum Lesen und Schreiben des EEPROM zur Verfügung, mit dem der sichere Code abgerufen werden kann.
VW Gamma 5 (Technisat) und Rhapsody (Technisat) haben ein proprietäres Nicht-KWP-Protokoll an der Adresse 0x7c. Es ist anders als alles, was ich dokumentiert habe und wurde wahrscheinlich von Technisat nur für die Herstellung des Radios hergestellt. Es verfügt über Befehle zum Lesen und Schreiben des EEPROM, mit dem der sichere Code abgerufen werden kann. Der sichere Codebereich des EEPROM wird normalerweise von diesen Befehlen gefiltert, aber ein anderer Befehl deaktiviert die Filterung.
Ich habe auch mehrere andere Projekte als Nebeneffekt dieser Arbeit entwickelt:
F2MC8dump: Ausnutzen, um das interne ROM von Fujitsu F2MC-8L-Mikrocontrollern mit externen Busfunktionen zu entsorgen
F2MC8DASM: Fujitsu F2MC-8-Disassembler, der mit dem ASF2MC8-Assembler kompatibel ist
K0DASM: NEC 78K0 Disassembler, der mit dem AS78K0 -Assember kompatibel ist
K0EMU: NEC 78K0 -Emulator, mit dem große Teile der VW Premium 5 Firmware ausgeführt werden können
M740DASM: Mitsubishi 740 Disassembler, der mit dem AS740 -Assember kompatibel ist
Mike Naberezny