mikrocontroller.net

Forum: Fahrzeugelektronik PIN-Code Algorithmus von Blaupunkt Radio


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Olli Z. (z80freak)
Datum:
Angehängte Dateien:

Bewertung
2 lesenswert
nicht lesenswert
Habe mal wieder was zum tüfteln (vielleicht ließt Dieter ja wieder mit! 
:-)
Und zwar beschäftige ich mich schon länger mit den Blaupunkt 
Navigationssystemen und habe doch so einiges darüber in Erfahrung 
gebracht. U.a. weiss ich wie man das Mainboard-Flash (ein Spansion 
S29GL256 mit 32MB) via JTAG ausliest und programmiert.

Der Pin-Algo des Gerätes ist mir aber noch ein Rätsel. Durch Experimente 
habe ich herausgefunden das sich in Sektor #251 ab Adresse 0x1F60000 
Daten befinden die zur Berechnung verwendet werden. Dabei ist der Sektor 
nur am Anfang mit 0x5C9 Bytes gefüllt, der Rest ist 0xFF:

Hier mal exemplarisch der Bindump von "FX_PIN_8367.bin":
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
01F60000  F0 F0 F0 F0 18 00 02 00 00 00 00 00 00 00 02 00  ðððð............
01F60010  F0 FF 01 00 D1 59 75 E8 A3 3D 55 C5 14 05 12 00  ðÿ..ÑYuè£=UÅ....
01F60020  00 00 FF FF C7 C1 F9 00 2B 01 FF FF 5D 0E EB E0  ..ÿÿÇÁù.+.ÿÿ].ëà
01F60030  15 05 2C 00 00 00 FF FF 70 46 00 00 F9 FF FF FF  ..,...ÿÿpF..ùÿÿÿ
01F60040  CB C9 FF FF FB FF FF FF E2 CA FF FF FC FF FF FF  ËÉÿÿûÿÿÿâÊÿÿüÿÿÿ
01F60050  04 DC 16 0A FA FF FF FF 15 0E 6B F5 00 00 0D 00  .Ü..úÿÿÿ..kõ....
01F60060  00 00 FF FF 01 FF FF FF 3B 21 E4 40 A1 01 0E 00  ..ÿÿ.ÿÿÿ;!ä@¡...
01F60070  00 00 FF FF 0F 00 FF FF 39 D3 2D 65 24 05 24 00  ..ÿÿ..ÿÿ9Ó-e$.$.
01F60080  00 00 FF FF E8 0A 00 00 55 0D 00 00 9A 01 00 00  ..ÿÿè...U...š...
01F60090  6C 0A 00 00 0A 01 00 00 C6 09 00 00 FE 25 41 9A  l.......Æ...þ%Aš
01F600A0  14 01 34 00 00 00 FF FF 5B 71 E6 26 6F 6D 5F 28  ..4...ÿÿ[qæ&om_(
01F600B0  49 ED 89 6A F1 14 7B DD B7 08 0C 28 A5 28 9A 1F  Ií‰jñ.{Ý·..(¥(š.
01F600C0  B2 DA ED 9B 8D 76 AF E7 85 B2 6D D3 FB E3 93 92  ²Úí›.v¯ç…²mÓûã“’
01F600D0  DD E9 5E 4E 15 01 1C 00 00 00 FF FF D6 97 31 AC  Ýé^N......ÿÿÖ—1¬
01F600E0  41 B4 39 77 3D FD ED 11 2B BE 66 02 83 3E 6C 82  A´9w=ýí.+¾f.ƒ>l‚
01F600F0  A0 01 0D 00 00 00 FF FF 00 FF FF FF B3 57 40 D0   .....ÿÿ.ÿÿÿ³W@Ð
01F60100  04 01 14 00 00 00 FF FF C1 2A 9E 96 ED 5F B3 E8  ......ÿÿÁ*ž–í_³è
01F60110  2A 23 8E 9F D2 01 24 00 00 00 FF FF 33 30 37 37  *#ŽŸÒ.$...ÿÿ3077
01F60120  32 36 39 32 20 42 42 00 00 00 00 00 00 00 00 00  2692 BB.........
01F60130  00 00 00 00 BF C9 B8 A2 D1 01 24 00 00 00 FF FF  ....¿É¸¢Ñ.$...ÿÿ
01F60140  38 53 37 54 2D 31 38 4B 39 33 31 2D 41 44 00 00  8S7T-18K931-AD..
01F60150  00 00 00 00 00 00 00 00 42 9B E3 74 D0 01 24 00  ........B›ãtÐ.$.
01F60160  00 00 FF FF 38 53 37 54 2D 31 34 43 32 36 30 2D  ..ÿÿ8S7T-14C260-
01F60170  41 43 00 00 00 00 00 00 00 00 00 00 84 CD B4 D0  AC..........„Í´Ð
01F60180  B1 01 0D 00 00 00 FF FF 06 FF FF FF 46 A5 CC 01  ±.....ÿÿ.ÿÿÿF¥Ì.
01F60190  05 01 16 00 00 00 FF FF 37 36 31 32 33 30 30 35  ......ÿÿ76123005
01F601A0  32 34 FF FF F9 5B FD 43 06 01 13 00 00 00 FF FF  24ÿÿù[ýC......ÿÿ
01F601B0  39 30 33 32 31 34 35 FF C8 72 82 07 07 01 12 00  9032145ÿÈr‚.....
01F601C0  00 00 FF FF 30 35 30 32 30 39 FF FF 5C A2 26 FD  ..ÿÿ050209ÿÿ\¢&ý
01F601D0  00 00 3D 00 00 00 FF FF 05 02 01 01 30 02 01 FF  ..=...ÿÿ....0..ÿ
01F601E0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
01F601F0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
01F60200  FF FF FF FF FF FF FF FF FF FF FF FF 49 20 B2 CB  ÿÿÿÿÿÿÿÿÿÿÿÿI ²Ë
01F60210  00 00 3D 00 00 00 FF FF 05 02 01 01 30 02 01 FF  ..=...ÿÿ....0..ÿ
01F60220  FF FF FF FF FF FF FF FF FF FF FF FF FF 02 05 01  ÿÿÿÿÿÿÿÿÿÿÿÿÿ...
01F60230  01 01 01 01 FF FF FF FF FF FF FF FF FF FF FF FF  ....ÿÿÿÿÿÿÿÿÿÿÿÿ
01F60240  FF FF FF FF FF FF FF FF FF FF FF FF 01 F1 90 E1  ÿÿÿÿÿÿÿÿÿÿÿÿ.ñ.á
01F60250  00 00 3D 00 00 00 FF FF 05 02 01 01 30 02 01 03  ..=...ÿÿ....0...
01F60260  01 01 03 00 14 20 FF FF FF FF FF FF FF 02 05 01  ..... ÿÿÿÿÿÿÿ...
01F60270  01 01 01 01 FF FF FF FF FF FF FF FF FF FF FF FF  ....ÿÿÿÿÿÿÿÿÿÿÿÿ
01F60280  FF FF FF FF FF FF FF FF FF FF FF FF 40 39 33 22  ÿÿÿÿÿÿÿÿÿÿÿÿ@93"
01F60290  00 00 3D 00 00 00 FF FF 05 02 01 01 30 02 01 03  ..=...ÿÿ....0...
01F602A0  01 01 03 00 14 20 25 00 03 01 02 01 01 02 05 01  ..... %.........
01F602B0  01 01 01 01 FF FF FF FF FF FF FF FF FF FF FF FF  ....ÿÿÿÿÿÿÿÿÿÿÿÿ
01F602C0  FF FF FF FF FF FF FF FF FF FF FF FF EF 4F 4C FD  ÿÿÿÿÿÿÿÿÿÿÿÿïOLý
01F602D0  00 00 3D 00 00 00 FF FF 05 02 01 01 30 02 01 03  ..=...ÿÿ....0...
01F602E0  01 01 03 00 14 20 25 00 03 01 02 01 01 02 05 01  ..... %.........
01F602F0  01 01 01 01 02 01 01 00 01 00 01 FF FF FF FF FF  ...........ÿÿÿÿÿ
01F60300  FF FF FF FF FF FF FF FF FF FF FF FF 67 FE 6B 2F  ÿÿÿÿÿÿÿÿÿÿÿÿgþk/
01F60310  00 00 3D 00 00 00 FF FF 05 02 01 01 30 02 01 03  ..=...ÿÿ....0...
01F60320  01 01 03 00 14 20 25 00 03 01 02 01 01 02 05 01  ..... %.........
01F60330  01 01 01 01 02 01 01 00 01 00 01 00 01 01 00 01  ................
01F60340  01 01 FF FF FF FF FF FF FF FF FF FF B3 1D 64 84  ..ÿÿÿÿÿÿÿÿÿÿ³.d„
01F60350  00 00 3D 00 00 00 FF FF 05 02 01 01 30 02 01 03  ..=...ÿÿ....0...
01F60360  01 01 03 00 14 20 25 00 03 01 02 01 01 02 05 01  ..... %.........
01F60370  01 01 01 01 02 01 01 00 01 00 01 00 01 01 00 01  ................
01F60380  01 01 00 00 05 00 01 00 00 FF FF FF 7F 84 D0 4E  .........ÿÿÿ.„ÐN
01F60390  00 00 3D 00 00 00 FF FF 05 02 01 01 30 02 01 00  ..=...ÿÿ....0...
01F603A0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
01F603B0  00 00 00 00 02 01 01 00 01 00 01 00 01 01 00 01  ................
01F603C0  01 01 00 00 05 00 01 00 00 FF FF FF EA D9 BF F7  .........ÿÿÿêÙ¿÷
01F603D0  00 00 3D 00 00 00 FF FF 05 02 01 01 30 02 01 03  ..=...ÿÿ....0...
01F603E0  01 01 03 00 14 20 00 00 00 00 00 00 00 00 00 00  ..... ..........
01F603F0  00 00 00 00 02 01 01 00 01 00 01 00 01 01 00 01  ................
01F60400  01 01 00 00 05 00 01 00 00 FF FF FF 27 4A 2A C7  .........ÿÿÿ'J*Ç
01F60410  00 00 3D 00 00 00 FF FF 05 02 01 01 30 02 01 03  ..=...ÿÿ....0...
01F60420  01 01 03 00 14 20 25 00 03 01 02 01 01 00 00 00  ..... %.........
01F60430  00 00 00 00 02 01 01 00 01 00 01 00 01 01 00 01  ................
01F60440  01 01 00 00 05 00 01 00 00 FF FF FF B3 1D 64 84  .........ÿÿÿ³.d„
01F60450  00 00 3D 00 00 00 FF FF 05 02 01 01 30 02 01 03  ..=...ÿÿ....0...
01F60460  01 01 03 00 14 20 25 00 03 01 02 01 01 02 05 01  ..... %.........
01F60470  01 01 01 01 02 01 01 00 01 00 01 00 01 01 00 01  ................
01F60480  01 01 00 00 05 00 01 00 00 FF FF FF 9E 5C 5A FF  .........ÿÿÿž\Zÿ
01F60490  00 00 3D 00 00 00 FF FF 00 00 00 00 00 00 00 03  ..=...ÿÿ........
01F604A0  01 01 03 00 14 20 25 00 03 01 02 01 01 00 00 00  ..... %.........
01F604B0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
01F604C0  00 00 00 00 00 00 00 00 00 FF FF FF 0A 0B 14 BC  .........ÿÿÿ...¼
01F604D0  00 00 3D 00 00 00 FF FF 00 00 00 00 00 00 00 03  ..=...ÿÿ........
01F604E0  01 01 03 00 14 20 25 00 03 01 02 01 01 02 05 01  ..... %.........
01F604F0  01 01 01 01 00 00 00 00 00 00 00 00 00 00 00 00  ................
01F60500  00 00 00 00 00 00 00 00 00 FF FF FF C2 A1 08 D4  .........ÿÿÿ¡.Ô
01F60510  00 00 3D 00 00 00 FF FF 00 00 00 00 00 00 00 03  ..=...ÿÿ........
01F60520  01 01 03 00 14 20 25 00 03 01 02 01 01 02 05 01  ..... %.........
01F60530  01 01 01 01 02 01 01 00 01 00 01 00 00 00 00 00  ................
01F60540  00 00 00 00 00 00 00 00 00 FF FF FF 8C AE 0A 6F  .........ÿÿÿŒ®.o
01F60550  00 00 3D 00 00 00 FF FF 00 00 00 00 00 00 00 03  ..=...ÿÿ........
01F60560  01 01 03 00 14 20 25 00 03 01 02 01 01 02 05 01  ..... %.........
01F60570  01 01 01 01 02 01 01 00 01 00 01 00 01 01 00 01  ................
01F60580  01 01 00 00 05 00 01 00 00 FF FF FF B3 1D 64 84  .........ÿÿÿ³.d„
01F60590  CA 01 3D 00 00 00 FF FF 05 02 01 01 30 02 01 03  Ê.=...ÿÿ....0...
01F605A0  01 01 03 00 14 20 25 00 03 01 02 01 01 02 05 01  ..... %.........
01F605B0  01 01 01 01 02 01 01 00 01 00 01 00 01 01 00 01  ................
01F605C0  01 01 00 00 05 00 01 00 00 FF FF FF FF FF FF FF  .........ÿÿÿÿÿÿÿ
01F605D0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
...

Ich kann einem Gerät einen Sektor eines anderen übertragen und somit die 
PIN "vererben".

In dem Sektor stecken lesbare Infos wie:
die Ford-Nummer des Gerätes: "8S7T-18K931-AD"
die Ford-Nummer der Firmware: "8S7T-14C260-AC"
die BOSCH-Teilenummer: "7612300524"
die Seriennummer "9032145"

Der Algo könnte(!) in dem beigefügten Firmware-Dump liegen, es könnte 
aber auch sein das dieser in der Firmware des Display-Boards steckt.
Auf dem Mainboard werkelt ein OMAP5948, welcher im Grunde ein 
ARM9-Prozessor mit DSP auf einem Chip ist und eine Sonderanfertigung des 
OMAP5912 darstellt.

Autor: Olli Z. (z80freak)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Habe noch vergessen zu erwähnen das sich der PIN-Code wohl über die 
Typen/Seriennummer des Gerätes berechnen lässt. In der Typennummer 
steckt ein Verweis auf dem Algorithmus, es gibt wohl mind. 3 
verschiedene:

https://mk4-wiki.denkdose.de/_media/artikel/audio_navigation/algo_a05_fx_side.jpg
https://mk4-wiki.denkdose.de/_media/artikel/audio_navigation/algo_f07_mca_side.jpg
https://mk4-wiki.denkdose.de/_media/artikel/audio_navigation/algo_f09_mca_side.jpg

Aber das ist mehr "Hörensagen" muss ich gestehen.
Die im o.g. Sektor befindliche Seriennummer kann ich ändern wie ich 
will, das hat erstmal keinen Einfluß auf PIN-Code. Vermutlich wird nicht 
die als ASCII kodierte Nummer zur Codevalidierung genutzt, sondern 
andere Bytes des Sektors. Ich werde mal versuchen mich da ran zu tasten 
um wenigstens die Speicherstellen zu identifizieren. Dann kann man ggf. 
mittels Disassemblierung eine Referenz darauf finden.

Was ich nicht 100% weiss ist, ob die Software aus dem Flash ausgeführt 
wird, oder ob diese beim Systemstart ins ebenfalls am OMAP 
angeschlossene SDRAM (128MB) kopiert wird und dort läuft. Das könnte 
natürlich dann Einfluß auf die Adressen haben.

Autor: Olli Z. (z80freak)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wer eine IDA zuhause hat, kann die Firmware als ARM Little Endian laden 
und in den Processor-options ARMv5TEJ als Befehlsebene einstellen. Die 
erste Instruction in (C)ode wandeln und schon baut sich der gesamte Baum 
auf.

Autor: Dieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast Du eventuell auch einen vollständigen Flash-Dump von einem Ford 
MCA, der würde mich als Vergleich interessieren?

Autor: Olli Z. (z80freak)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hey Dieter mein Freund! Na klar hab ich den, hängt anbei und ums Rund zu 
machen einer von nem NX gleich mit :-)

Ich habe es inzwischen auch endlich mal geschafft einen QEMU an IDA zu 
kopplen, sodass ich Code ausführen kann... aber ich lerne noch. Obwohl 
ARM(Thumb) relativ wenige Befehle hat ist es halt nicht so einfach 
daraus schlau zu werden. Selbst aus dem Decompilat von IDA in C nicht.

Autor: Olli Z. (z80freak)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Mir ist es heute gelungen das interne Boot-ROM des OMAP5948 via JTAG 
auszulesen. Ich habe ein Dump beigefügt.

Dafür habe ich die Stromversorgung des Flash-Speichers unterbrochen 
(hier war dankenswerter Weise ein 0 Ohm Widerstand auf dem Board 
vorgesehen) und mit J-Flash die Bytes ab Adresse 0x0000 ausgelesen. 
Eigentlich ganz einfach :-)

Evtl. nutzt das ja im weiteren Verlauf der Analyse etwas...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.