Kapitel 2. Verwendung

Inhaltsverzeichnis

2.1. Arbeiten mit der Datenhierarchie

Das Öffnen einer Datei mit diesem FileHandler wird ein Fenster mit drei Bereichen anzeigen wie unten dargestellt:

Der obere Bereich enthält eine hierarchische Darstellung der dekodierten Daten in seinem „Daten“-Tab und eine Ereignisausgabe des Dekodierprozesses in seinem „Trace“-Tab. Beide Tabs stellen die gleiche Information zur Verfügung, wobei ersterer benutzerfreundlicher ist, während letzterer besser für z.B. Textvergleiche geeignet ist.

Der linke untere Bereich enthält einen HEX-Dump zusammen mit der zugehörigen ASCII-Interpretation der kompletten geladenen Daten. Die Auswahl eines Eintrags im oberen Bereich hebt die zugehörigen Oktette (Bytes) im linken Teil dieses Bereichs hervor. Der hervorgehobene Bereich umfasst den kompletten Eintrag, also sein Tag und all seine Daten.

Der rechte untere Bereich zeigt eine Textdarstellung des im oberen Bereich ausgewählten Eintrags im Hierarchiebaum an. Es ist leer, falls momentan kein Eintrag ausgewählt ist. Im Falle eines Dekodierfehlers steht hier die komplette Fehlermeldung des ersten aufgetretenen Fehlers (oft gibt es Nachfolgefehler) und wird nie etwas anderes darstellen.

2.1. Arbeiten mit der Datenhierarchie

Die Spalten der Hierarchietabelle haben folgende Bedeutung:

Typ Zeigt den Typ des Eintrags, soweit er bestimmt werden konnte. Im Falle von Daten mit standardisierten Tagnummern steht hier der Name des gefundenen Typs wie z.B. INTEGER oder BOOLEAN. Im Falle anderer Tags (CONTEXT SPECIFIC, APPLICATION oder PRIVATE) wird der Typ als UNKNOWN STRUCTURE oder UNKNOWN VALUE angegeben, je nachdem ob es ein strukturierter oder primitiver Wert ist.
Status Dies ist im Normalfall leer und stellt bloss im Falle eines Dekodierfehlers dieses Eintrags ein Fehlersymbol dar.
Tag Klasse Zeigt die Klasse des Tags an, welches diesen Eintrag bestimmt. Dies kann UNIVERSAL, CONTEXT SPECIFIC, APPLICATION oder PRIVATE sein.
Tag # Die Tagnummer des Eintrags. Im Falle eines UNIVERSAL (standardisierten) Tags, erlaubt dies den Rückschluss auf den exakten Typ des Eintrags. Andernfalls kann der Typ nicht bestimmt werden ohne die zugehörige ASN.1 Syntaxdefinition (noch nicht unterstützt) und muss deshalb vom Benutzer herausgefunden werden.
Encoding Zeigt an, ob der Eintrag in primitiver (kompakter) oder der ausführlicheren konstruierten Weise kodiert vorliegt. Bestimmte Typen erlauben bloss eine der beiden Arten, während andere beides unterstützen.
Offset Der Null-basierende Offset vom Beginn der Datei, wo das erste Oktett (Byte) des Eintrags steht. Dies wird also Null sein für den ersten Eintrag auf oberster Ebene (das erste PDU der Datei).
Länge Die Länge des Eintrags ohne dessen Tag, also die Länge des Werts für primitive Typen oder die kombinierte Länge aller enthaltenen Untereinträge für konstruierte Typen. Falls das Tag mit undefinierter Länge kodiert wurde, so steht hier EOC (für End-Of-Content, also eine Inhaltsendemarkierung).
Name Der Name des Eintrags. Dies ist [PDU] für Einträge auf der obersten Ebene (welche also keine übergeordneten Einträge in der Hierarchie aufweisen) und der Index innerhalb des übergeordneten Eintrags für alle untergeordneten Einträge (also nicht-PDUs) in eckigen Klammern.
Wert Eine Textrepräsentation des Werts des Eintrags. Der exakte Inhalt dieses Texts hängt vom Typ des Eintrags ab. Für String-basierende Typen wird dies zum Beispiel der enthaltene Text sein, für nummerische Typen deren Zahlenwert, usw. Falls der Eintragstyp nicht bekannt ist, kann z.B. auch ein HEX-Dump der enthaltenen Daten angezeigt werden. Strukturtypen wie SEQUENCE und SET zeigen einfach die Anzahl enthaltener Einträge an.

Doppelklick auf den Wert eines Eintrags (in der Wert-Spalte der Hierarchietabelle) wird diesen Wert in einem neuen Dialog dekodieren, wie wenn er als Datei für sich alleine geladen worden wäre. Der erscheinende Dialog stellt die gleichen Möglichkeiten dar wie das FileHandler-Fenster selbst und kann rekursiv weitere Dialoge öffnen. Er muss jedoch geschlossen werden, um zum übergeordneten Fenster zurückzukehren (es ist ein modaler Dialog).

Doppelklick auf den Typ eines Eintrags (in der Typ-Spalte der Hierarchietabelle) öffnet oder schliesst den Baumknoten falls es sich um einen strukturierten Eintrag handelt, wobei dessen untergeordnete Einträge angezeigt/versteckt werden. Es hat keinen Effekt auf primitiven Einträgen.

Rechtsklick auf den Typ eines Eintrags (in der Typ-Spalte der Hierarchietabelle) zeigt ein Kontexmenu an, um diesen Eintrag als von einem anderen Typ neu zu interpretieren. Dies erlaubt gezielte Analyseversuche auf Werte von unbekannten Typen oder von Werten die als OCTET oder BIT STRINGs kodiert sind, aber bekannterweise weitere ASN.1-Daten enthalten.