'binäre Nachrichten Format' eines C struct

Hi Leute,

ich habe Daten in einem (für mich) sehr kryptischen Format vorliegen:

\001\001\313\271\000…

Durch recherchieren im Internet hab ich nun wenigstens inzwischen rausgefunden, dass das (höchstwahrscheinlich) das ‚binäre Nachrichten Format‘ eines C struct ist.
( http://www.sis.nl/python/xstruct/xstruct.html )

Welche Möglichkeiten bestehen nun, die Daten etwas aufzuschlüsseln? Ist das überhaupt möglich ohne Kenntnis der Struktur? Wär super, wenn mir jemand mehr Informationen geben kann.

Danke
Christian

Hallo Christian

ich habe Daten in einem (für mich) sehr kryptischen Format
vorliegen:

\001\001\313\271\000…

Das einzige was ich zu dieser Zahlenfolge sagen kann ist, dass es sich im Octal-Werte Handelt. In Hex lautet die Reihe:
0x01 0x01 0xCB 0xB9 0x00

und dezimal:
1 1 303 185 0

Lottozahlen sind es sicher nicht, aber mehr lässt sich dazu nicht sagen.

MfG Peter(TOO)

Hallo Peter,

danke für deine Antwort. Nein, Lottozahlen sind es gewiss nicht :wink:.

Was ich noch mehr an Informationen beisteuern kann, ist, dass es sich um ein C/S Austausch-Protokoll handelt, sprich: es gibt einen Header und Nutzdaten.

Interessant ist nun für mich, wie ich Header und Nutzdaten entschlüsseln kann (wobei…die Infos aus dem Header würden mir schon genügen).

Hilft das irgendwie weiter?

Gruss
Christian

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Christian

Was ich noch mehr an Informationen beisteuern kann, ist, dass
es sich um ein C/S Austausch-Protokoll handelt, sprich: es
gibt einen Header und Nutzdaten.

Interessant ist nun für mich, wie ich Header und Nutzdaten
entschlüsseln kann (wobei…die Infos aus dem Header würden
mir schon genügen).

Hilft das irgendwie weiter?

Eigentlich nicht !
Es ist einfach eine Zahlenreihe und wenn man dazu den Schlüssel nicht hat …
Jedes Bit dieser Zahlenreihe hat eine Bedeutung, aber man kann erst etwas damit Anfangen wenn man weiss was sie bedeuten.
Wie findest du heraus, dass 0x41 den Buchstaben „A“ darstellt, sofern es sich um ASCII-Text handelt ???

Wenn in ein paar hundert Jahren, mal einer eine gut erhaltene CD-ROM ausbuddelt, wird man sehr schnell herausfinden, dass da binär codierte Werte drauf sind. Aber herauszufinden ob es sich dabei um einen Text, ein Programm oder ein Bild handelt kann dann Jahrzehnte in anspruch nehmen, wenn überhaupt.

MfG Peter(TOO)

Eigentlich nicht !
Es ist einfach eine Zahlenreihe und wenn man dazu den
Schlüssel nicht hat …

Eigentlich hast Du schon Recht, man braucht eine Beschreibung des Datenformats.

Jedes Bit dieser Zahlenreihe hat eine Bedeutung, aber man kann
erst etwas damit Anfangen wenn man weiss was sie bedeuten.
Wie findest du heraus, dass 0x41 den Buchstaben „A“ darstellt,
sofern es sich um ASCII-Text handelt ???

Dein Beispiel ist insofern unglücklich gewählt, als daß man Texte durchaus erkennen kann (z.B. im Hexeditor).

Wenn in ein paar hundert Jahren, mal einer eine gut erhaltene
CD-ROM ausbuddelt, wird man sehr schnell herausfinden, dass da
binär codierte Werte drauf sind. Aber herauszufinden ob es
sich dabei um einen Text, ein Programm oder ein Bild handelt
kann dann Jahrzehnte in anspruch nehmen, wenn überhaupt.

Das glaube ich auch nicht. Bei bestimmten Datenformaten erkennt man die Bedeutung aus dem Kontext, z.B. ob es sich um komprimierte Daten handelt, verschlüsselte (da gelingen sogar Vermutungen über das Verschlüsselungsverfahren), usw.

Festzuhalten gilt: prinzipiell hast Du Recht, aber praxisrelevant ist das nicht. Ich behaupte *weitausfensterlehn*, bei Vorlage einer kleine Menge dieser Protokolldaten ließe sich einiges herauslesen, wenn nicht das ganze Protokoll.

Gruß

J.

Hallo J(osé)

Jedes Bit dieser Zahlenreihe hat eine Bedeutung, aber man kann
erst etwas damit Anfangen wenn man weiss was sie bedeuten.
Wie findest du heraus, dass 0x41 den Buchstaben „A“ darstellt,
sofern es sich um ASCII-Text handelt ???

Dein Beispiel ist insofern unglücklich gewählt, als daß man
Texte durchaus erkennen kann (z.B. im Hexeditor).

Ist genau das was ich behauptet habe, nur ist die Codetabelle (ASCII) in deinem Fall unsichtbar im (Hex)-Editor eingebaut, aber kann deine ach EBCDIC ???

Wenn in ein paar hundert Jahren, mal einer eine gut erhaltene
CD-ROM ausbuddelt, wird man sehr schnell herausfinden, dass da
binär codierte Werte drauf sind. Aber herauszufinden ob es
sich dabei um einen Text, ein Programm oder ein Bild handelt
kann dann Jahrzehnte in anspruch nehmen, wenn überhaupt.

Das glaube ich auch nicht. Bei bestimmten Datenformaten
erkennt man die Bedeutung aus dem Kontext, z.B. ob es sich um
komprimierte Daten handelt, verschlüsselte (da gelingen sogar
Vermutungen über das Verschlüsselungsverfahren), usw.

Wenn ich heute sehe und höhre was alles über die Computertechnik und Geschichte von 1980 geschrieben wird, kann ich nicht glauben, dass in ein paar hundert Jahren noch Wissen über ASCII, ZIP, etc vorhanden sein wird !! Wenn ich mir nur schon die Fragen zu DOS ansehe, sehe ich was man alles nicht mehr weiss.

Festzuhalten gilt: prinzipiell hast Du Recht, aber
praxisrelevant ist das nicht. Ich behaupte
*weitausfensterlehn*, bei Vorlage einer kleine Menge dieser
Protokolldaten ließe sich einiges herauslesen, wenn nicht das
ganze Protokoll.

Wenn du genau weisst, was die Daten darstellen und wenn möglich aus das Programm vorhanden ist mit welchem sie erstellt werden, dann hast du eine Chance. Ich habe das schon zur Genüge gemacht.
Aber wenn ich sehe, dass der Fragesteller nicht einmal erkennt, dass „seine“ Zahlenfolge Octalwerte sind, wird er es nicht schaffen.

MfG Peter(TOO)