Dateien extrahieren

Mittlerweile glaube ich, das Schema verstanden zu haben. Eine Datei besteht aus einer Kopf-Sektion, einer Datensektion und einer Fuß-Sektion. Nur die ersten 2028 Byte einer Sektion enthalten auch Daten. Jeder Datei folgt eine identische Kopie mit dem Anhang "cp" im Dateinamen sowie einer "param"- und "paramcp"-Datei.

Stellenmarkt
  1. SAP PP Berater (m/w/x)
    über duerenhoff GmbH, Raum Göttingen
  2. SAP Basis Berater (m/w/x)
    über duerenhoff GmbH, Raum Berlin
Detailsuche

Als fauler Programmierer schreibe ich mir natürlich ein Werkzeug, um die Extraktion zu automatisieren.

Ein Python-Programm durchläuft das Abbild und extrahiert alle Dateien, die es finden kann. Es parst die Kopf-Sektion und kopiert die Nutzdaten heraus, bis es auf eine Fuß-Sektion trifft. Zum Schluss prüft das Programm, ob die Angaben der Dateigröße im Fuß mit den extrahierten Daten übereinstimmen und dass die Daten danach alle Null sind. Die Nutzdaten werden schließlich in eine Datei geschrieben. Existiert bereits eine Datei mit diesem Namen, wird eine Zahl angehängt.

Nachdem ich das Programm ausgeführt habe, liegen einige Dateien in meinem Testverzeichnis. Das Unix-Programm "file" kann Dateien analysieren und das Dateiformat ermitteln. Ich lasse es über die Dateien laufen:

fp:        AIX core file fulldump 32-bit 64-bit
fpcp:      AIX core file fulldump 32-bit 64-bit
param:     data
paramcp:   data

tx:        ISO-8859 text, with CRLF line terminators
txcp:      ISO-8859 text, with CRLF line terminators
param.0:   data
paramcp.0: data

bmp:       PC bitmap, Windows 3.x format, 800 x 600 x 8
bmpcp:     PC bitmap, Windows 3.x format, 800 x 600 x 8
param.1:   data
paramcp.1: data

hz:        data
hzcp:      data
param.2:   data
paramcp.2: data

os:        data
oscp:      data
param.3:   data
paramcp.3: data

me:        Little-endian UTF-16 Unicode text, with CRLF line terminators
mecp:      Little-endian UTF-16 Unicode text, with CRLF line terminators
param.4:   data
paramcp.4: data

hlp:       Little-endian UTF-16 Unicode text, with CRLF line terminators
hlpcp:     Little-endian UTF-16 Unicode text, with CRLF line terminators
param.5:   data
paramcp.5: data
Golem Akademie
  1. C++ Programmierung Grundlagen (keine Vorkenntnisse benötigt): virtueller Drei-Tage-Workshop
    01.-03.08.2022, virtuell
  2. ITIL 4® Foundation: virtueller Zwei-Tage-Workshop
    27./28.06.2022, virtuell
Weitere IT-Trainings

Dass es sich um die "fp"-Datei um einen FPGA-Bitstrom handelt, weiß ich, deshalb irritiert mich die "AIX core"-Aussage nicht sehr. "bmp" soll ein Bild im Windows-Bitmap-Format sein. Schauen wir es uns an:

  • Diasembler-Ausgabe (Bild: Christer Weinigel)
  • Diasembler-Ausgabe  (Bild: Christer Weinigel)
  • Diasembler-Ausgabe (Bild: Christer Weinigel)
  • FPGA-Quellcode (Bild: Christer Weinigel)
  • Owon-Bootscreen (Bild: Christer Weinigel)
Owon-Bootscreen (Bild: Christer Weinigel)

Das Boot-Logo. Schön! Und da ich das Bild laden konnte und es keine sichtbaren Störungen aufweist, kann ich sicher sein, dass mein Dateiextraktor funktioniert.

Die Datei "hz" enthält jede Menge binärer Daten. Sie ist ungefähr 3 MByte groß, vielleicht ist sie wichtig. Aber ich habe keine Idee, was sie tut.

Eine andere 3 MByte große Datei heißt "os" und enthält wahrscheinlich ARM-Maschinencode. Ausgehend vom Namen handelt es sich wohl um das Betriebssystem des Oszilloskops.

Die "me"- und "hlp"-Dateien enthalten Unicode-Text, darin befinden sich wohl die Menü-Einträge und Hilfetexte.

Danach liefert der Extraktor nur noch Unsinn. Es stehen weitere Daten im Speicherabbild, aber die "param"-Datei danach hat keine Fuß-Sektion. Nachdem ich die Kopfsektion mit der vorherigen verglichen habe, fällt mir auf, dass am Index 0x124 die Dateigröße steht und nicht mehr Nullen wie vorher. Wenn die Dateigröße im Kopf steht, dann ist der Fuß wohl nicht notwendig. Ich überarbeite mein Programm und mache weiter.

Allerdings wird es schlimmer. Die nächste Sektion ist einfach Müll. Danach gibt es weitere Kopfsektionen für Dateien namens "savewave" und mehrere Kopien von Dateien namens "table1", "tale" und "table3". Ich verändere mein Programm, um solche merkwürdigen Sektionen zu ignorieren und nach der nächsten Kopfsektion Ausschau zu halten.

Ich bin mir nicht sicher, ob der "Müll" nicht irgendetwas Wichtiges enthält. Ich hoffe, ich muss mir darum keine Gedanken machen.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Die Param-DateiDer Inhalt der Param-Datei 
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. 7
  9. 8
  10.  


mifish 24. Nov 2016

+1 interessanter artikel

muhviehstah 23. Nov 2016

wäre binwalk hierbei nicht hilfreich gewesen?

muhviehstah 23. Nov 2016

kt

Elchinator 22. Nov 2016

Das wesentlichste Teil - die Hardware - scheint ja ab Werk durchaus brauchbar zu sein...



Aktuell auf der Startseite von Golem.de
Halbleiter & SMIC
Chip-Nachfrage für Smartphones und PC fällt "wie ein Stein"

Chinesische Kunden von SMIC haben volle Lager und ordern weniger Chips. Andere Halbleiter sollen den Einbruch auffangen.

Halbleiter & SMIC: Chip-Nachfrage für Smartphones und PC fällt wie ein Stein
Artikel
  1. Google: Russland will Youtube aus Selbstschutz nicht blockieren
    Google
    Russland will Youtube aus Selbstschutz nicht blockieren

    Die zahlreichen Drohungen der russischen Zensurbehörde zur Blockade von Youtube werden wohl nicht umgesetzt. Die Auswirkungen wären zu stark.

  2. Arclight Rumble: Wegen Warcraft Mobile sollte sich Blizzard selbst verklagen!
    Arclight Rumble
    Wegen Warcraft Mobile sollte sich Blizzard selbst verklagen!

    Golem.de hat es gespielt: Arclight Rumble entpuppt sich als gelungenes Mobile Game - aber wie ein echtes Warcraft fühlt es sich nicht an.
    Von Peter Steinlechner

  3. Biontech: Mainz kann 365-Euro-ÖPNV-Ticket dank Corona einführen
    Biontech
    Mainz kann 365-Euro-ÖPNV-Ticket dank Corona einführen

    In Mainz ist Biontech beheimatet, was die Steuereinnahmen explodieren lässt. Mit dem Geld wird nun ein 365-Euro-Jahresticket für Schüler und Azubis finanziert.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • PS5 jetzt bestellbar • Cyber Week: Bis zu 900€ Rabatt auf E-Bikes • MindStar (u. a. Intel Core i9 529€, MSI RTX 3060 Ti 609€) • Gigabyte Waterforce Mainboard günstig wie nie: 480,95€ • Razer Ornata V2 Gaming-Tastatur günstig wie nie: 54,99€ • AOC G3 Gaming-Monitor 34" 165 Hz günstig wie nie: 404€ [Werbung]
    •  /