Header-Analyse undokumentierter Archiv-Dateien

  • Hat von euch jemand großes Talent, sich Hex-Dumps von Dateiheadern anzuschauen und daraus zu schlussfolgern, wie man daraus nützliche Informationen gewinnen kann?

    Es geht konkret um AOP-Dateien für den MediaChance Dynamic Auto Painter. In diesen Dateien sind wahrscheinlich normalerweise zwei JPEG-Dateien enthalten, welche die Pinselformen und -farben repräsentieren. Ich habe schon eine ganze Menge herausgefunden:

    • Am Anfang kommen 5 "magic bytes" ("AOP10", "AOP20", AOP21" ...)
    • Danach kommt die Dateigröße als 32-bit-Wert
    • An einem bestimmten Offset gibt es eine Art "Inhaltsverzeichnis":

      • Der Dateioffset mit dem Beginn der ersten Grafik als 32-bit-Wert
      • Der Dateioffset mit dem Beginn der zweiten Grafik als 32-bit-Wert
      • Ein ASCIIZ-String mit dem Titel
      • Die erste Grafik (wahrscheinlich vom ersten Offset bis zum zweiten Offset)
      • Die zweite Grafik (wahrscheinlich vom zweiten Offset bis zum Dateiende)

    Mein Hauptproblem hier ist nun, die Position des Inhaltsverzeichnisses zuverlässig zu bestimmen. Manchmal ist es an Offset 0x064F, aber nicht immer. Manchmal ist es an der Position, die sich aus dem 10. Byte berechnen lässt (Wert*16+15), aber nicht immer. Daraus ergibt sich, dass das 10. Byte meist den Wert 64 hat. Aber manchmal ist eben das Inhaltsverzeichnis trotzdem an Offset 0x064F, obwohl dieses Byte einen anderen Wert hat. Aber wenn es nicht an Position 0x064F ist, dann scheint die Berechnung über das 10. Byte zu klappen.

    Ich kann gerne eine Sammlung regulärer und abweichender AOP-Dateien anbieten, wenn jemand Zeit und Lust hat, auch die Suche zu gehen. Bis dahin versuche ich mich an einer Heuristik...

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!