Forum: PC-Programmierung BMP in einem HEX-File finden


von Thomas V. (Gast)


Lesenswert?

Hallo zusammen....

Folgendes Szenario:
Ich habe hier ein 800kB großes HEX-File vorliegen in welchem sich ein 
BMP befinden soll.
Wie kann ich in dem HEX File nach Bilddaten suchen?

Ich habe schon nach dem BMP-Header gesucht (42 4D..) aber nichts 
gefunden.
Scheinbar ist das BMP als reines HEX eingebettet.

Hintergrund:
Es handelt sich dabei um ein Softwareupdate für ein OEM Navigationsgerät 
wo auch das Startlogo hinterlegt ist - das möchte ich ändern.

Brauche Input.... danke!

Gruß
Thomas

von adfix (Gast)


Lesenswert?

kannst Du es mal bereitstellen ?

von Thomas V. (Gast)


Angehängte Dateien:

Lesenswert?

ja klar....

von gggast (Gast)


Lesenswert?

Weißt du zufällig die Auflösung von dem Navi? dann weiß man wenigstens 
ungefähr wieviele bytes man suchen muss.

von Thomas V. (Gast)


Lesenswert?

Das Display hat 320 x 234 Pixel
das Startbild max. 16 Farben

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Wenn man das Ding einfach mit dem TextPad öffnet sieht's ab ca. Zeile 
3760 grafikmässig aus...

Was heisst hex-Formal? Intel-Hex? Bist du sicher, daß die Grafik im 
WIndows-BMP-Format eingebettet ist?

von adfix (Gast)


Angehängte Dateien:

Lesenswert?

ist das ein Teil davon ?

von Thomas V. (Gast)


Angehängte Dateien:

Lesenswert?

zunächst erst einmal herzlichen Dank für Eure Hilfe und Mitarbeit.

@adfix....  nein, leider nicht, aber trotzdem interessant. Wie hast Du 
das gemacht?

ich bin bisher so vorgegangen: habe mir mit MS Paint ein 4 bit Bitmap 
entsprechender Größe gemacht und abgespeichert (schwarzes Feld)
Somit hatte ich schon mal den Header.
Dann "interessante" Bereiche aus dem 800kB File kopiert und an den 
Header angehängt. Leider hatte ich immer Ergebnisse die aussahen wie ein 
nicht synchronisiertes TV Bild - und immer mit vertikalen Streifen in 
regelmäßigen Abständen.

Es ist möglich das in dem File noch mehr "Bilder" oder Frames 
stecken....

Wie das Startbild im Navi tatsächlich aussieht habe ich mal angehängt.
Die Rechte am Bild hat Mercedes Benz!

Eigentlich sollte das ja eine primitive Sache sein, bei dem Bild.
Keine Farbe und überwiegend schwarz.

Ich meine mittlerweile auch rausgefunden zu haben das die Bilddaten im 
File kodiert hinterlegt sind.
Es gibt auch schon Leute die das geknackt haben, rücken aber nicht mit 
Infos raus.

Johann, nein, kein Intel-Hex.....  Das Bild liegt ursprünglich als BMP 
vor, das weiß ich. Ich betrachte mir das .DNL File halt mit einem 
HEX-Editor.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Thomas Vrecar schrieb:
> ich bin bisher so vorgegangen: habe mir mit MS Paint ein 4 bit Bitmap
> entsprechender Größe gemacht und abgespeichert (schwarzes Feld)
> Somit hatte ich schon mal den Header.

Das hat nur dann einen Sinn, wenn ganz sicher ist, daß eine BMP-Datei 
vorhanden ist, und nicht einfach eine Bitmap. Das sind trotz ähnlicher 
Namen nämlich unterschiedliche Dinge.

von Vlad T. (vlad_tepesch)


Lesenswert?

das ist kein Hex, sondern ein binär-File.

von Testfall (Gast)


Lesenswert?

Das ist mal was merkwürdiges. Ich habe mal nach den Farbwerten des 
Bildes gesucht ... die scheinen da nicht so vorzuliegen... vielleicht 
wirklich irgendwie codiert. Wünsche viel Spaß beim Puzzeln!

von Thomas V. (Gast)


Lesenswert?

ja....  wenn es einfach wäre, hätte ich ja keinen Thread gestartet :-)

Fakt ist, das es codiert ist - das weiß ich jetzt zu 100%

von Miu (Gast)


Lesenswert?

Selbst wenn du das Bild filtern kannst, meinst du nicht, dass da noch 
eine Prüfsumme über das das ganze File gelegt wird. Wie willst du die 
finden und passend ändern?

von Thomas V. (Gast)


Lesenswert?

Miu, es haben ja offensichtlich schon einige (wenige) Tüftler 
rausgefunden.... nur leider geben die ihre Erkenntnisse nicht weiter....
es gab auch mal eine Update-CD mit einem geänderten Start-Logo bei 
eBay... so eine suche ich noch, dann wäre man schon eine Ecke weiter

von Frank L. (franklink)


Lesenswert?

Hallo,
schau mal ob Du das Programm NavEdit irgendwo noch findest. Damit kannst 
Du die DNL Datei mit einem neuen Logo versehen. Anschliessend kannst Du 
Dir Änderungen mit DIFF ansehen.

Gruß
Frank

von Thomas V. (Gast)


Lesenswert?

Hallo Frank,
bin ich dran.... nur bekommt man das Programm wohl nicht mehr so leicht.
Ich hatte das vor Jahren mal auf dem Rechner, aber nie benutzt, genauso 
wie das Kolumbia.
Die Frage ist allerdings ob das für das Comand System auch funktioniert 
- primär wurde das ja für VW MFD geschrieben, was ich damals auch hatte.
Sind immerhin beides Geräte von BOSCH/Blaupunkt

Einer der Autoren bietet ja an das Logo zu ändern. Früher hat er dazu 
einfach diese hier gezeigte .DNL geändert und zurückgeschickt. Heute 
macht er das nur wenn man ihm das Gerät zuschickt.
Ist ja auch nicht das Problem.... nur würde ich gerne mal ein paar Logos 
probieren und sonst noch schaun was so in dem Navi steckt.

von Thomas V. (Gast)


Lesenswert?

hab Naviedit in den Tiefen des Internets gefunden...
Es geht leider nicht mit dem Comand, nur mit VW MFD DNL's.....
Dennoch kann man einiges davon für andere Dinge nutzen (Texte editieren, 
Flash File erzeugen....)

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Thomas Vrecar schrieb:
> Eigentlich sollte das ja eine primitive Sache sein, bei dem Bild.
> Keine Farbe und überwiegend schwarz.
Naja... da kann man sich eine ganze Menge Sachen ausdenken je nachdem 
was die Navi HW für "Power" hat.
Der "einfache" Teil wäre noch das das Ding intern einfach eine feste 
Farbtabelle hat (z.B. mit 4 bit) und dann immer nur halbbytes verwendet. 
Es könnte aber auch (weil speicher ja nix kostet) 4 bit in einem Byte 
codieren.
Dann könnte das Bild horizontal/vertikal abgelegt sein, oder je nach 
Displaycontroller auch in Blöcken.
Das Bild könnte zudem komprimiert sein, z.B. mit RLE, oder wenn das Ding 
wirklich Power hat sogar als PNG/LZW/ZIP o.Ä.

Wenn du meinst das das Bild wirklichunkodiert vorliegt könntest du dir 
ein Programm schreiben was die Binärdaten als Bild interpretiert mit 
bestimmten Einstellungen (Auflösung/bits per Pixel/byteorder) und dann 
das File "durchscrollen"

von U.R. Schmitt (Gast)


Lesenswert?

Wenn man sich überlegt, daß es ein Navisystem schafft auf 1 GByte die 
Straßen von ganz Europa abzulegen und noch die Audiodaten für 3 versch. 
Stimmen für die Naviführung, dann glaube ich nicht, daß ein primitives 
Logo daß zumindest Flash Speicher frisst unkomprimiert abgelegt ist.
Meine Meinung :-)

von Thomas V. (Gast)


Lesenswert?

U.R.
tja..mag sein, oder auch nicht!

Ich habe ja mal weitergeforscht.....

Erst noch ein paar Eckdaten zum verwendeten Navi:
Es handelt sich dabei um ein Mercedes Benz Comand System im Doppel-DIN 
Vormat mit eingebautem CD-ROM Laufwerk und TFT Display.
Es werkelt im inneren ein BOSCH Custom Prozessor von AXIS - ein ETRAX 
100 MCM (LX) mit 16MB RAM und 4 MB Flash onboard(!)
Auf dem Teil läuft ein Linux Betriebssystem.
Die Firmware im Prozessor (Headunit) hat etwa 1,7 MB Volumen.
Dann gibt es noch die SH Grafik Unit mit einem 1MB Flash wo das 800KB 
File hier aus dem Thread drin steckt.

Die Kartendaten werden jeweils während der Laufzeit von CD geladen und 
im RAM abgelegt - keine CD drin - kein Navi...

Das alles ist immerhin 10 Jahre alt.

Das Startlogo ist nicht komprimiert, jedoch anders codiert als das 
urspüngliche BMP.
Ich habe jetzt zufällig eine Update CD bekommen wo ein modifiziertes 
.dnl File drauf ist mit einem anderen Schriftzug unter dem "Stern".
Mit dem HEX-Editor konnte ich bereits gewisse Bereiche erkennen.
Ich arbeite dran.

Als nächstes werde ich den 1MB Flash (Intel 28F800) auslöten (SO44) und 
im Galep V mal auslesen.
Bin gespannt was ich dort vorfinde.
Ich hoffe hier nähere Information über das Startlogo vorzufinden.

Werde natürlich berichten!

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Auf jedenfall muss man beachten das ab Adresse 0x23 alle 60 Byte eine 8 
(0x38) steht, darum kann es schon kein reines Bitmap sein...

von Thomas V. (Gast)


Lesenswert?

ja Tim... ein 1:1 Bitmap habe ich schon verworfen.

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Und die 3 Byte vor den Achten, zählen anscheinend die Speicheradressen 
aufwärts.

Schau doch mal was passiert wenn du diese n*4 Byte aus dem Dump 
entfernst.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.