Heute knacken wir ein Autoradio

Im Wohnmobil steht hinten eine 12V-Stereoanlage. Ganz nett eigentlich zur Beschallung der hinteren Plätze. Aber auch nur eigentlich. Denn leider ist der Radioempfang recht mau, der CD-Spieler verhaspelt sich bei jeder kleinsten Erschütterung und zudem beansprucht das Ding ein ganzes Schrankfach für sich. Im Grunde sind das Luxusprobleme und es gibt gewiss wichtigere Baustellen am Wohnmobil als diese. Aber kürzlich kam ich irgendwann des Nachts auf eBay an einem netten kleinen Autoradio vorbei und habe kurzerhand mitgesteigert. Ein Clarion ADZ628R. Und da wohl sonst niemand bereit war mehr als 5,- dafür hinzulegen ging das Teil letzten Endes an mich. Wenn man sich allerdings zu später Stunde zu Spontankäufen hinreißen lässt kann es schon mal passieren, dass man das ein oder andere Detail übersieht - zum Beispiel dass kein Handbuch und nix weiter beim Radio dabei ist. Und auch kein Code zum Entsperren nach dem Wiederanschließen an die Batterie.
Code
Nur Kummer ohne Nummer 😕
Das ist dann schon etwas doof so. Alle möglichen Kombinationen durchspielen macht ja auch keinen Spaß. Aber zumindest aufschrauben kann man das Ding trotzdem mal. Im Zweifelsfall hat man für 5,- zumindest ein paar Motoren, Taster und Elektronik zum anderweitig verbasteln. Das wäre ein annehmbarer Trostpreis. Und siehe da - auf der Platine sitzt ein kleiner 8-beiniger Chip, der schwer nach EEPROM aussieht. "AT93C46" - Google bestätigt: dies ist ein EEPROM mit sage und schreibe 128 Bytes (Datenblatt hier). Und vermutlich wird hier wohl der Entsperr-Code gespeichert sein. Hoffentlich unverschlüsselt. - Auch dies bestätigt Google: ich bin wohl nicht der erste mit diesem Problem. Ich liebe das Internet! Also flugs mit der Entlötstation den kleinen Käfer ausgebaut. Da ist er auch schon: AT93C46 Und da kommt er her: Board Um den Speicher auszulesen, braucht es ein entsprechendes Programmiergerät. Hab ich aber leider nicht. Kann ja auch nicht alles haben. Aber mit etwas Aufwand kann man sich einen simplen Programmer für den LPT-Port zusammenlöten. Schaltplan und Software hier. Ach, das diese kleinen Nebenprojekte immer so ausarten müssen! So langsam beansprucht dieses verflixte Radio doch ein gewisses Maß krimineller Energie. Zu meiner Verteidigung möchte ich an dieser Stelle anmerken, dass dieses Radio aus dem letzten Jahrtausend stammt und auch damals nicht gerade ein hochpreisiges Gerät war - ich verweise dezent auf den KIA-Schriftzug am rechten Drehknopf. Also wohl eher kein Fall von "geklautes Autoradio über schattige Kanäle gekauft". Reichlich kriminell sieht hingegen mein gebastelter Programmer aus:
Programmer
Ein Elektronikeralptraum. Aber funktional. Außerdem eh nur für kurze Zeit benötigt.
Moderne Rechner haben, wenn überhaupt, keinen richtigen LPT-Port mehr. Also kommt zu meiner höchsten Freude mal meine Retro-Computersammlung ins Spiel. Auf einem Pentium I mit Windows 98 habe ich sodann auch keine Probleme das Programm zu starten, den LPT-Port anzusprechen und das EEPROM auszulesen. Der Entsperr-Code steht in den 3. und 4. Bytes. Die ersten beiden sind 0xAAAA (vielleicht als ein Prüfmuster zur Unterscheidung von gelöschtem Speicher?) und das 5. und 6. Byte enthalten wahrscheinlich einen Zählerstand für falsche Codeeingaben. Der Rest ist 0xFFFF. Da ich aber nicht weiß in welcher Byte-Reihenfolge die Daten gespeichert werden, lösche ich den Speicher kurzerhand und beschreibe ihn neu mit AAAA 4444 0000 FFFF FF.. Der Code ist dann in jedem Fall 4444. Nur leider bekomme ich beim Rücklesen nur Datenmüll. 😦 Lösche ich das ganze EEPROM, bekomme ich beim Rücklesen korrekt 0xFFFF in jeder Zelle. Beschreibe ich es überall mit 0x0000, bekomme ich beim Rücklesen in jeder Zelle 0x0001. Da hängt offensichtlich ein Bit. Außerdem stelle ich fest, dass das Schreiben der ersten Zelle auch die Werte der Nachbarzelle beeinflusst. Ebenfalls ein typischer Speicherfehler! Tja, unser kleiner Käfer hat wohl einen kleinen Dachschaden bekommen und tickt jetzt nicht mehr richtig. Beim Hacken gibt es eben auch mal Rückschläge. Da ich beruflich oft mit Risikoanalysen für die Medizintechnik zu tun habe, wo es zuweilen auch um genau solche Probleme geht, ist es schön solche Speicherfehler mal ive und in Farbe zu erleben. Die üblichen Einwände der Software-Entwickler á la "Beim Speichern passiert doch eh nieeeee was!" werde ich folglich weiterhin nicht gelten lassen ... Für das Radio hilft mir das allerdings nicht weiter - ein neuer AT93C46 muss her. eBay also wieder mal... Ein paar Tage später dann, hängt ein neuer Speicher am Druckerport meines Pentiums, wird von mir erfolgreich beschrieben und auf die Radio-Platine gelötet. Und das Ergebnis:
Clarion ADZ628R unlocked
TADAAAA!
Ich finde, jetzt habe ich mir eine Pizza verdient.