# Herangehensweise zum "entschlüsseln" eines Dateifo



## zero-2-one (15. Feb 2009)

Hallo allerseits,

ich versuche zur Zeit ein Dateiformat zu "entschlüsseln". Naja, es geht um Dateien, die in einem Experiment von einem Verstärker der Firma HEKA an die entsprechende Software geschickt und aufgezeichnet werden. Es handelt sich also um viele Zahlenwerte (Ströme und Spannungen abhängig von der Zeit) und wahrscheinlich noch um einige Angaben über das verwendete Protokoll, des Experiments.
Die Herstellersoftware bietet zwar die Funktion eines Exportes in eine ASCI-Datei an, allerdings möchte ich diesen Schritt übergehen und mit einem kleinen Programm die Rohdaten selbst auslesen können (zumal die originalsoftware nur teile der Rohdaten exportiert und ich das für jedes Protokoll wiederholen müsste).

Ich habe mir jetzt mal zwei der Dateien (die Endung ist .dat) mit einem Hexeditor angesehen und auch einige Sachen gefunden, denen ich spezielle Protokollnamen, Softwareversion und noch ein paar kleinigkeiten zuordnen kann. Außerdem gibt es riesige Blöcke voller Sonderzeichen bei denen ich vermute, dass dort die gemessenen Ströme und Spannungen und Zeitangaben codiert sind. Allerdings habe ich keine Ahnung wie. Da ich die Dateien als ASCI-File exportieren kann, hätte ich ja die Möglichkeit zumindest zu prüfen welche Werte da stehen müssten, allerdings bräuchte ich einen Ansatz wie ich die HEX-Daten angehen könnte um auf Zahlenwerte zu kommen.

Wäre super wenn jemand von euch eine Möglichkeit wüsste, wie da rangehen kann. Oder jemand hat schon erfahrungen mit ähnlichen Dateien gemacht und kann mir tipps geben


Ich sag schonmal danke an alle die sich ihre Köpfe zerbrechen...

Alex


Hier übrigens mal ein Auszug von HEX-Werten bei denen ich auf Zahlenwerte tippen würde. Auffällig ist für mich, das jedes zweite paar ein "02" ist - in anderen Blöcken sind es andere werte aber dort ist dann auch jeder zweite Wert identisch.

3C 02 3D 02 3C 02 44 02 45 02 40 02 3F 02 3D 02 3C 02 3E 02 40 02 3D 02 3F 02 3F 02 40 02 40 02 3E 02 3C 02 3F 02 3F 02 3E 02 3A 02 38 02 3A 02 39 02 3B 02 39 02 37 02 3A 02 3E 02 3E 02 3E 02 3C 02 3E 02 42 02 45 02 3E 02 3B 02 3B 02 3A 02 3B 02 3B 02 3D 02 3F 02 3F 02 3C 02 3F 02 40 02 3D 02 3E 02 3E 02 3D 02 3F 02 45 02 4B 02 4A 02 44 02 3B 02 3A 02 3B 02 43 02 44 02 3E 02 35 02 36 02 3C 02 42 02 40 02 42 02 44 02 42 02 45 02 3F 02 3E 02 42 02 47 02 48 02 48 02 3D 02 33 02 33 02 3C 02 3D 02 3D 02 45 02 49 02 47 02 45 02 45 02 48 02 48 02 47 02 45 02 46 02 45 02 40 02 46 02 4A 02 44 02 42 02 3B 02 3E 02 3F 02 44 02 43 02 40 02 3D 02 3E 02 3E 02 43 02 44 02 3F 02 3A 02 3C 02 3F 02 43 02 45 02 3F 02 3C 02 3A 02 3C 02 3D 02 40 02 3F 02 3C 02 3C 02 3D 02 3E 02 44 02 49 02 48 02 3F 02 3A 02 3B 02 3D 02 47 02 46 02 3C 02 3D 02 3E 02 40 02 3E 02 3F 02 44 02 44 02 47 02 49 02 44 02 3D 02 3B 02 40 02 43 02 40 02 44 02 47 02 48 02 3F 02 3C 02 44 02 48 02 45 02 40 02 44 02 46 02 47 02 47 02 42 02 42 02 44 02 49 02 48 02 42 02 3C 02 3F 02 48 02 4D 02 4A 02 46 02 44 02 45 02 48 02 4A 02 40 02 3E 02 40 02 44 02 3D 02 3E 02 47 02 49 02 4B 02 45 02 3F 02 42 02 40 02 42 02 3C 02 40 02 49 02 49 02 47 02 43 02 3E 02 40 02 45 02 47 02 49 02 45 02 44 02 45 02 49 02 45 02 42 02 46 02 49 02 49 02 45 02 44 02 46 02 46 02 45 02 3F 02 3D 02 44 02 4A 02 4E 02 4B 02 44 02 3F 02 3E 02 40 02 46 02 4E 02 47 02 40 02 42 02 3F 02 46 02 47 02 44 02 48 02 4A 02 45 02 40 02 43 02 48 02 44 02 3F 02 40 02 40 02 3E 02 3D 02 3E 02 45 02 49 02 44 02 3B 02 3D 02 49 02 4B 02 46 02 44 02 3F 02 45 02 4A 02 4E 02 4A 02 44 02 3E 02 3E 02 3E 02 40 02 42 02 43 02 45 02 46 02 44 02 3E 02 3E 02 45 02 46 02 3E 02 3F 02 40 02 44 02 47 02 45 02 45 02 44 02 40 02 45 02 45 02 42 02 43 02 44 02 44 02 46 02 40 02 3B 02 38 02 3C 02 3E 02 42 02 42 02 3E 02 3D 02 3F 02 42 02 44 02 48 02 49 02 48 02 44 02 3E 02 40 02 42 02 3F 02 40 02 3F 02 3E 02 3D 02 3F 02 3F 02 3F 02 3E 02 3C 02 38 02 32 02 3B 02 42 02 3E 02 3E 02 3F 02 3B 02 36 02 37 02 3A 02 3C 02 3C 02 3F 02 3E 02 44 02 44 02 40 02 47 02 48 02 44 02 3F 02 3D 02 40 02 42 02 44 02 42 02 3C 02 3D 02 42 02 3F 02 3C 02 3E 02 45 02 45 02 3E 02 3A 02 3B 02 3D 02 3E 02 3A 02 3D 02 42 02 40 02 40 02 3F 02 3C 02 42 02 40 02 3E 02 3D 02 3D 02 3D 02 3E 02 40 02 43 02 44 02 3D 02 3A 02 3C 02 38 02 3A 02 39 02 39 02 3A 02 3D 02 46 02 44 02 44 02 40 02 43 02 3D 02 38 02 3A 02 3B 02 3B 02 3F 02 40 02 3D 02 40 02 3D 02 3B 02 3C 02 3F 02 3C 02 3B 02 3D 02 3D 02 3D 02 3D 02 39 02 38 02 37 02 3A 02 3E 02 42 02 3E 02 3C 02 3D 02 3D 02 3B 02 3A 02 38 02 3A 02 3B 02 3B 02 3F 02 3F 02 40 02 3C 02 3B 02 3C 02 44 02 44 02 44 02 44 02 42 02 3D 02 37 02 39 02 40 02 46 02 45 02 44 02 3F 02 40 02 44 02 40 02 3C 02 37 02 3A 02 3E 02 40 02 3D 02 3E 02 3D 02 39 02 3A 02 3F 02 45 02 46 02 43 02 42 02 43 02 3C 02 3A 02 40 02 48 02 49 02 44 02 47 02 45 02 40 02 43 02 44 02 4A 02 4B 02 47 02 44 02 40 02 42 02 45 02 46 02 44 02 43 02 3F 02 40 02 47 02 4C 02 48 02 43 02 3E 02 3F 02 45 02 3E 02 40 02 3F 02 40 02 3F 02 45 02 47 02 40 02 40 02 3E 02 3D 02 44 02 47 02 4A 02 48 02 44 02 3E 02 3E 02 3A 02 3E 02 3F 02 3E 02 42 02 3E 02 3E 02 3D 02 3E 02 3D 02 3F 02 3F 02 42 02 43 02 45 02 45 02 40 02 3D 02 40 02 3F 02 44 02 44 02 44 02 45 02 3D 02 3C 02 3A 02 3C 02 3E 02 42 02 43 02 42 02 3F 02 46 02 42 02 40 02 3E 02 3F 02 44 02 42 02 44 02 40 02 40 02 44 02 47 02 46 02 44 02 3E 02 3D 02 49 02 49 02 42 02 3C 02 3B 02 3D 02 3C 02 3B 02 3B 02 3C 02 3A 02 3B 02 3F 02 42 02 3F 02 44 02 48 02 46 02 40 02 3B 02 3E 02 46 02 4A 02 44 02 3B 02 3C 02 3E 02 3F 02 3C 02 46 02 48 02 44 02 45 02 46 02 49 02 48 02 47 02 45 02 42 02 46 02 48 02 49 02 4C 02 45 02 43 02 40 02 44 02 44 02 44 02 42 02 46 02 4B 02 4B 02 40 02 3C 02 3E 02 44 02 40 02 3D 02 3C 02 40 02 46 02 48 02 44 02 42 02 46 02 46 02 43 02 3F 02 42 02 44 02 3F 02 3D 02 39 02 3B 02 3F 02 3C 02 3E 02 3E 02 42 02 44 02 42 02 3D 02 3C 02 3B 02 43 02 44 02 46 02 40 02 3C 02 43 02 40 02 44 02 3F 02 3C 02 3C 02 39 02 3C 02 3F 02 3D 02 3D 02 3E 02 40 02 3F 02 3F 02 3F 02 3C 02 40 02 3F 02 3E 02 3B 02 3D 02 43 02 3E 02 3C 02 3E 02 3E 02 39 02 39 02 45 02 49 02 48 02 42 02 3C 02 3E 02 3E 02 3E 02 3C 02 42 02 46 02 48 02 45 02 46 02 3F 02 49 02 43 02 3E 02 39 02 39 02 43 02 45 02 45 02 40 02 3B 02 3B 02 3B 02 3A 02 3A 02 3C 02 3C 02 3B 02 40 02 40 02 3D 02 3D 02 3B 02 3D 02 3E 02 39 02 39 02 34 02 37 02 3B 02 3A 02 43 02 44 02 46 02 40 02 3D 02 3E 02 42 02 3B 02 38 02 38 02 3F 02 3F 02 40 02 45 02 43 02 40 02 3C 02 3C 02 3C 02 3D 02 3D 02 3E 02 3C 02 3E 02 46 02 44 02 3E 02 37 02 3C 02 3D 02 40 02 44 02 3F 02 3D 02 3E 02 3E 02 3E 02 39 02 3A 02 3B 02 3D 02 3E 02 3E 02 44 02 43 02 3E 02 39 02 38 02 3A 02 3C 02 3B 02 3A 02 3B 02 3C 02 3A 02 37 02 39 02 3E 02 43 02 42 02 3A 02 36 02 38 02 3B 02 3C 02 3C 02 3B 02 3A 02 3C 02 3B 02 3C 02 40 02 43 02 42 02 3F 02 3A 02 39 02 3B 02 3B 02 3D 02 38 02 3A 02 3C 02 3B 02 3B 02 3A 02 3C 02 3B 02 3D 02 3D 02 3C 02 3D 02 37 02 38 02 3C 02 38 02 37 02 35 02 39 02 3A 02 38 02 39 02 39 02 38 02 3C 02 38 02 3B 02 38 02 36 02 34 02 36 02 3B 02 3C 02 34 02 36 02 37 02 3E 02 3C 02 3D 02 44 02 3F 02 3B 02 3A 02 39 02 3D 02 3D 02 3A 02 3E 02 42 02 3C 02 3B 02 3D 02 3D 02 3D 02 3D 02 3B 02 3C 02 3F 02 3E 02 46 02 46 02 3E 02 3B 02 3B 02 3A 02 3A 02 3D 02 3F 02 3D 02 3B 02 3A 02 3B 02 3F 02 40 02 40 02 3C 02 3A 02 3B 02 3E 02 42 02 40 02 3E 02 40 02 42 02 40 02 3D 02 3E 02 42 02 44 02 3F 02 3D 02 40 02 45 02 3F 02 3E 02 39 02 3D 02 43 02 42 02 3E 02 3B 02 3B 02 39 02 3B 02 40 02 3C 02 3B 02 3D 02 3F 02 40 02 44 02 3D 02 38 02 35 02 38 02 3C 02 40 02 3F 02 40 02 42 02 3F 02 3B 02 36 02 3C 02 45 02 44 02 3F 02 42 02 44 02 3E 02 3B 02 3E 02 40 02 43 02 3E 02 3F 02 40 02 3F 02 3E 02 42 02 46 02 46 02 40 02 43 02 49 02 4A 02 40 02 3C 02 3C 02 42 02 44 02 44 02 45 02 4B 02 49 02 43 02 3F 02 3E 02 3F 02 3C 02 3B 02 3D 02 40 02 43 02 44 02 48 02 4A 02 45 02 42 02 3F 02 3F 02 43 02 42 02 43 02 42 02 3E 02 3E 02 3C 02 3D 02 44 02 45 02 43 02 46 02 45 02 45 02 40 02 44 02 46 02 48 02 46 02 45 02 44 02 42 02 46 02 46 02 46 02 46 02 44 02 44 02 3F 02 40 02 43 02 43 02 3E 02 3E 02 40 02 47 02 47 02 44 02 42 02 42 02 44 02 46 02 45 02 45 02 46 02 45 02 43 02 3F 02 43 02 46 02 40 02 42 02 43 02 43 02 3C 02 3A 02 3F 02 46 02 46 02 46 02 48 02 47 02 45 02 42 02 3C 02 3B 02 3D 02 3E 02 40 02 43 02 45 02 44 02 3D 02 3C 02 44 02 44 02 43 02 3F 02 40 02 44 02 43 02 3D 02 38 02 37 02 3A 02 3E 02 42 02 3D 02 3E 02 3E 02 42 02 40 02 3B 02 37 02 3C 02 3D 02 3E 02 3D 02 40 02 3E 02 3C 02 3F 02 3F 02 3D 02 39 02 3E 02 45 02 45 02 3F 02 3E 02 3E 02 3D 02 3E 02 3C 02 39 02 39 02 3A 02 39 02 3C 02 3C 02 44 02 44 02 40 02 3F 02 40 02 42 02 43 02 3F 02 40 02 3C 02 3D 02 43 02 42 02 3E 02 38 02 3B 02 3C 02 3C 02 3E 02 3D 02 3D 02 3A 02 36 02 31 02 33 02 30 02 35 02 35 02 37 02 38 02 38 02 39 02 3A 02 3F 02 3F 02 3D 02 3E 02 3D 02 3D 02 3D 02 3D 02 3C 02 38 02 3B 02 40 02 3D 02 3C 02 3F 02 3F 02 40 02 3E 02 3D 02 3A 02 3B 02 39 02 3B 02 3E 02 3E 02 3E 02 47 02 43 02 3F 02 3B 02 3E 02 42 02 3F 02 3F 02 3F 02 3F 02 3C 02 3F 02 3E 02 3D 02 3D 02 39 02 35 02 35 02 37 02 38 02 3C 02 42 02 3E 02 37 02 3A 02 3E 02 3B 02 3B 02 39 02 3E 02 3F 02 40 02 40 02 42 02 42 02 3D 02 39 02 39 02 3E 02 3F 02 39 02 33 02 35 02 39 02 3C 02 44 02 3E 02 3B 02 39 02 3C 02 3F 02 3A 02 3A 02 38 02 39 02 3B 02 3A 02 39 02 3D 02 3E 02 3C 02 38 02 34 02 37 02 3D 02 3C 02 39 02 37 02 37 02 39 02 38 02 37 02 3D 02 3E 02 3C 02 3E 02 3B 02 3B 02 38 02 3A 02 3F 02 3B 02 3A 02 3A 02 3D 02 42 02 42 02 3B 02 39 02 3A 02 3B 02 3A 02 3D 02 3D 02 38 02 3C 02 44 02 47 02 40 02 3E 02 3C 02 3B 02 36 02 3A 02 42 02 45 02 45 02 3E 02 44 02 3D 02 37 02 35 02 3B 02 3C 02 40 02 43 02 45 02 40 02 3E 02 3E 02 3B 02 3C 02 3C 02 40 02 44 02 44 02 44 02 3E 02 40 02 45 02 42 02 42 02 3E 02 3B 02 3C 02 3E 02 3F 02 3D 02 3D 02 3D 02 3D 02 3D 02 42 02 40 02 44 02 44 02 3A 02 3A 02 3D 02 39 02 37 02 3A 02 39 02 3D 02 3C 02 3F 02 3A 02 39 02 3A 02 3F 02 3E 02 3C 02 3D 02 3C 02 3E 02 3B 02 37 02 35 02 35 02 38 02 39 02 3E 02 45 02 3F 02 3D 02 3C 02 44 02 40 02 42 02 44 02 44 02 40 02 3E 02 3C 02 3C 02 3D 02 40 02 3C 02 3A 02 3D 02 3E 02 45 02 44 02 42 02 44 02 42 02 44 02 3B 02 3E 02 43 02 40 02 3C 02 3C 02 3A 02 3C 02 3B 02 3B 02 3C 02 3F 02 44 02 46 02 47 02 40 02 40 02 47 02 46 02 43 02 44 02 45 02 46 02 44 02 43 02 3F 02 3D 02 40 02 45 02 44 02 40 02 45 02 46 02 45 02 42 02 3D 02 3F 02 45 02 44 02 46 02 47 02 47 02 4E 02 50 02 4C 02 49 02 4A 02 4B 02 4E 02 50 02 4C 02 4E 02 4F 02 4D 02 4B 02 45 02 43 02 48 02 49 02 4D 02 4D 02 4B 02 51 02 52 02 50 02 49 02 4A 02 4D 02 45 02 46 02 48 02 4A 02 4E 02 4D 02 48 02 45 02 45 02 47 02 48 02 4C 02 4F 02 4C 02 48 02 47 02 42 02 3E 02 42 02 44 02 4A 02 49 02 49 02 49 02 4A 02 49 02 4C 02 49 02 46 02 4B 02 4C 02 4B 02 47 02 47 02 47 02 45 02 44 02 48 02 46 02 49 02 4C 02 4C 02 49 02 48 02 49 02 4F 02 4E 02 4B 02 4B 02 48 02 47 02 4B 02 4A 02 4B 02 4B 02 4D 02 49 02 46 02 49 02 4C 02 4C 02 48 02 48 02 46 02 49 02 49 02 4B 02 49 02 4A 02 4C 02 47 02 49 02 4C 02 51 02 4E 02 4A 02 47 02 49 02 48 02 4C 02 4B 02 4A 02 4C 02 4A 02 49 02 45 02 48 02 4B 02 47 02 47 02 48 02 46 02 48 02 48 02 4B 02 4C 02 48 02 44 02 42 02 45 02 49 02 49 02 4A 02 47 02 44 02 46 02 49 02 4B 02 49 02 46 02 45 02 45 02 47 02 49 02 46 02 44 02 44 02 48 02 49 02 45 02 44 02 46 02 4A 02 4B 02 4A 02 4B 02 46 02 46 02 47 02 45 02 45 02 46 02 48 02 4E 02 50 02 4E 02 4F 02 4B 02 48 02 4A 02 4E 02 4A 02 4D 02 4D 02 4D 02 4D 02 4B 02 44 02 45 02 45 02 44 02 44 02 47 02 4F 02 50 02 4E 02 4C 02 4C 02 49 02 48 02 47 02 44 02 49 02 4A 02 4D 02 4B 02 4B 02 49 02 4A 02 4A 02 4A 02 4E 02 4E 02 4D 02 4F 02 88 02 93 04 DB 05 8F 05 D5 04 3C 04 E9 03 B9 03 A2 03 8F 03 86 03 7B 03 75 03 6F 03 6B 03 65 03 66 03 67 03 64 03 5C 03 58 03 51 03 50 03 56 03 59 03 57 03 59 03 5A 03 56 03 55 03 4D 03 4C 03 4D 03 4D 03 47 03 43 03 47 03 46 03 43 03 44 03 40 03 41 03 43 03 45 03 42 03 41 03 41 03 41 03 41 03 3C 03 39 03 3B 03 39 03 39 03 3B 03 42 03 3D 03 36 03 35 03 34 03 36 03 36 03 35 03 37 03 35 03 34 03 36 03 36 03 31 03 32 03 30 03 34 03 32 03 31 03 31 03 2D 03 2D 03 2E 03 30 03 31 03 29 03 22 03 24 03 26 03 23 03 20 03 26 03 29 03 2D 03 2D 03 23 03 24 03 2B 03 2D 03 26 03 22 03 2B 03 2B 03 29 03 26 03 23 03 24 03 25 03 25 03 22 03 22 03 24 03 29 03 29 03 25 03 23 03 24 03 1F 03 20 03 21 03 21 03 21 03 21 03 1C 03 20 03 20 03 1E 03 1F 03 1F 03 20 03 20 03 21 03 21


Die folgenden Werte gehören zwar nicht zu dieser Datei, sollen aber als Beispiel dienen welches Format die Zahlen nach dem Exportieren ins ASCI-Format haben (Im Laufe der nächten Woche könnte ich auch passende Beispiel zeigen). Die erste Spalte repräsentiert die Zeit in Sekunden und in der zweiten stehen in diesem Fall Stromwerte (in anderen Dateien können hier auch Spannungswerte stehen)

0.000000000E+000, -4.450757254E-013
5.000000000E-005, -7.575757513E-013
1.000000000E-004,  1.799242179E-013
1.500000000E-004,  8.049242696E-013
2.000000000E-004,  1.117424295E-012
2.500000000E-004,  1.117424295E-012
3.000000000E-004,  1.742424239E-012
3.500000000E-004,  2.367424182E-012
4.000000000E-004,  1.117424295E-012
4.500000000E-004, -4.450757254E-013


----------



## Gast2 (15. Feb 2009)

Moin,



> Wäre super wenn jemand von euch eine Möglichkeit wüsste, wie da rangehen kann.


lass das mit dem orakeln sein ... jeder Wert kann eine völlig andere Bedeutung haben ... setzte Dich mit dem Hersteller auseinander - der weis wie das Format aufgebaut ist

hand, mogel


----------



## Wildcard (15. Feb 2009)

Verändere zB immer nur einen Parameter auf einmal und dann erstelle einen Binären Diff von Referenz und veränderten Daten. Je nachdem was sich verändert, bekommst du eine Vorstellung davon, welcher Teil für deinen veränderten Parameter steht. Mach dich auf einen Haufen Arbeit gefast, bis du das Format verstehst kann eine Weile vergehen.


----------

