ASN1VE 1.7.x Help |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ASN1VE is a graphical user interface (GUI) tool that can be used to:
ASN1VE will display an encoded message in two different views:
ASN2XML (ASN.1 to XML translator) is a command line tool for converting BER-encoded ASN.1 data into XML form.. Documentation for this tool is available in the asn2xmlManual.html file in the doc subdirectory of this installation |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The various operations of ASN1VE are described below:
Help on various dialogs: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Creating a Binary Message From Hex Data | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
A new message can be created by using text from a hexadecimal dump file or entering hex byte codes directly. To do this, use the File/New Message command. From the menu bar, select the File option. A submenu will be displayed as follows:
This dialog will accept all characters, but only hex characters [A-Za-z0-9] will be converted to binary data. Whitespace will be ignored. Non-hex characters will be shown in red. An attempt to convert data containing non-hex characters will result in an error. In order to create a binary message, only valid hex characters and whitespace may be present in the display. Non-hex characters must be deleted. By pressing the OK button, ASN1VE will attempt to convert the hex data to a binary message. It is assumed that this binary message contains valid BER/DER encoded data. ASN1VE will try to decode the binary message and, if successful, the data will be shown using the standard ASN.1 views (tree view in the left pane and tabbed Hex, XML, or Text views in the center pane). If the entered data cannot be generically decoded, an error popup will be displayed. If an ASN.1 schema is currently active, the message will be decoded using it. If the message cannot be decoded using the schema, an error popup will be displayed By pressing the Cancel button, ASN1VE will discard the data entered using the hex editor. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Creating a Binary Message From PEM/Base64 Data | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
A new message can be created by using text from a Privacy Enhanced Mail (PEM) base64-encoded file. Alternatively, the base64 text can be entered directly (although it it is usually copied and pasted). To do this, use the File/New Message command. From the menu bar, select the File option. A submenu will be displayed as follows:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Creating a New Binary Message Using an ASN.1 Schema | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
A new, empty message can be created by using an ASN.1 schema
file as the template. To do this, use the File/New Message
command. From the menu bar, select the File option. A
submenu will be displayed as follows:
This will cause the following Create Empty Message dialog box to be displayed allowing you to create a binary message: This dialog allows the user to select ASN.1 files and the ASN.1 version. The ASN.1 version options are as follows:
The Add ASN.1 file option will allow the user to add the ASN.1 files required to create a new message. Note: The Select PDU Type or Create Message buttons will only be enabled after adding ASN.1 files to the project. If there is only a single possible PDU type for the message, the Create Message button will be displayed in addition to Select PDU Type. Users may use this button to bypass the PDU selection step and directly create a new message. On pressing Select PDU Type button, ASN1VE will validate the ASN.1 file. If the ASN.1 files has syntax errors, then the following dialog will be displayed. A syntax error or missing definition error will be printed in the output window. The user can cancel the operation or correct the ASN.1 files and try again by pressing the back button. If the validation is successful, then the following dialog will be displayed allowing the user to select the PDU type for the message. This window will display the list of module names in the selected ASN.1 specifications. Each module will contain a list of all of the type names in that module. The PDU type display options are as follows:
The Create Message button will be enabled after selecting the PDU type. On pressing this button, ASN1VE will create a new message using the selected PDU type with all data values set to empty (zero). The message view will be switched to element view. The user can then begin normal editing on the message to populate the fields with data.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Opening a Binary, Hex Text, or Base64 Message | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
To select a pre-existing BER/DER message file for viewing, use the File/Open Message command. From the menu bar, select the File option. A submenu will be displayed as follows:
The converted file must contain well-formed BER or DER encoded ASN.1 data. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Saving a Message as Binary, Text, or XML | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
To save an edited BER/DER message file, one of the various File -> Save Message options can be used. The following diagram shows the different options:
The Save Message option will only be enabled if the existing ASN.1 file that was modified. This command saves the file back to the file that was opened. The original format of this file is preserved. For example, if a base64 encoded file was opened, it is saved back as base64. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Assigning an ASN.1 file to a Message | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
To decode a message using an ASN.1 schema, use the
ASN.1/Assign ASN.1 command. From the menu bar, select the
ASN.1 option. A submenu will be displayed as
follows:
ASN1VE will attempt to compile the selected ASN.1 files. If the files contain syntax or other errors, then an error message dialog will be displayed. The user should correct the errors in the ASN.1 files and try again. If the ASN.1 files are compiled successfully, then ASN1VE will create a list of PDU (Protocol Data Unit) types. After successful compilation of the ASN.1 file(s),
NOTE: If the ASN.1 files are of the older1990 version, then the "Assign ASN.1 Wizard" command must be used instead of this command. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Assigning ASN.1 file to Message with Wizard | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
An alternative to assignment of an ASN.1 schema to a message
using "Assign ASN.1" is to use the ASN.1/Assign ASN.1 Wizard
command. This provides additional options that may be specified to
adjust the ASN.1 schema to match the given message. From the menu
bar, select the ASN.1 option. A submenu will be displayed as
follows:
The first page of this wizard will display information about
this wizard. This page can be disabled for the next operation by
selecting "Don't display this page next time" option.
The Add ASN.1 file option will allow the user to add the ASN.1
files required to decode the message. Note: The Next button will
only be enabled after adding ASN.1 files to the project. The PDU type display options are as follows:
The Finish button will be enabled after selecting the PDU type.
On pressing the Finish button, ASN1VE will try to decode the
message using the selected PDU type. If successful, the message
view will be switched to element view. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Selecting PDU Type | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
To change or select a PDU type, use the ASN.1/Select PDU
Type command, from the menu bar, select the ASN.1
option. A submenu will be displayed as follows:
This option will only be enabled after assigning an ASN.1
file. Options related to the displayed types are as follows:
On pressing the OK button, ASN1VE will try to decode the current message using the selected PDU type. If successful, the view will be switched to element view. The Cancel button is used to cancel the operation. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Open Type Decoding | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
An ASN.1-encoded message may contain fields that contain 'open type' data. These are fields whose type is typically determined by the value of another field at run-time. ASN1VE will try to find the ASN.1 type definition from the assigned ASN.1 file for each open type field. If successful, ASN1VE will decode the open type field using the appropriate ASN.1 type definition.
Note: The right click menu option, "Decode As" will be available for failed to decode open type node only. Refer to the configuration option to disable this automatic open type decoding operation. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Closing ASN.1 File | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Once an ASN.1 file or set of ASN.1 files have been opened to work with a given message, they will remain open until explicitly closed. Other binary messages that are created or opened within this time will attempt to be decoded using the loaded schema. To close the ASN.1 file or assign another ASN.1 file, use the ASN.1/Close ASN.1 command. From the menu bar, select the ASN.1 option. A submenu will be displayed as follows:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Editing an ASN.1 Message | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
After editing the value, the update/refresh button will be enabled. The refresh/update button can be used to update the binary message with the changes. Other views (XML or Text) are also updated. To save the changes to current message, select the Save option from the File menu. To save the changes to different message file, use the SaveAs option from the File menu.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Deleting Elements | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1. In tree-view, an element can be right-clicked to display a
pop-up menu of relevant options. If deletion of the element is
valid in terms of the assigned schema (i.e. if the element is
optional or part of a repeating collection), then 'Delete' will be
enabled in the pop-up menu. If this is selected, the element is
deleted. 2. If no ASN.1 schema is assigned, any element in the message can be deleted by right-clicking the element in tree-view and selecting the 'Delete' option. 3. If a SEQUENCE or SET containing optional elements is edited, checkboxes will appear next to each of the elements in the edit window: Elements can be removed from the message by unchecking the boxes. 4. The number of elements in a SEQUENCE OF item may be edited via a counter box: Selecting a smaller number of elements than what currently exists will cause elements to be truncated from the message. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Configuration Options | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
To change the ASN1VE decoding options, use the Edit/Configure command. From the menu bar, select the Edit option. A submenu will be displayed as follows:
This will cause the following configuration option dialog box to be displayed which will allow the selection of decoding and editing options for ASN1VE: Decode Options: The various options are described as follows:
Fixed Size Block Options: These options are related to the fixed size blocks in messages. Several known Call Detail Record (CDR) formats use this type of storage. All of these options are available only when one of the fixed size block decoding options described above is selected.
Changing padding byte value: By selecting this option, the user will be able to define additional padding byte values which usually appear between messages or at the end of a message. Padding bytes can be written in hex value and only one padding byte can be defined at any given time (for example, FF). The default padding byte value is 00. Disable BCD (Binary Coded Decimal) conversion: This option is used for the following assignments:
The assignments can have constraints. By default, ASN1VE will decode this type as BCD. The result will have the HEX, ASCII and BCD value for this type. By selecting this option, ASN1VE will disable the BCD type conversion which will cause the result to be displayed in HEX and ASCII values for the type. Reverse packed BCD digits in decoded octets: This option is related to the BCD option. It indicates whether digits encoded into each nibble in a BCD-encoded octet should be reversed upon decoding. BCD implementations exist that have the digits both ways (standard or reversed). Disable automatic Open Type decoding: This option is used to disable the decoding of the open type data in the message. By default, ASN1VE will try to decode the open type with the appropriate ASN.1 type (searched by ASN1VE). Check UTCTime and GeneralizedTime value format: This option is used to enable the strict format checking of the value entered for a time string. By default, ASN1VE will only check for valid characters without checking the overall format. This option is used to change the toolbar buttons in ASN1VE. The Available Tools option show the buttons that can be displayed on the toolbar. The Display Tools option shows the buttons that will be set on the toolbar.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Find | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
To find a specific data item in a message file, use the Edit/Find command. From the menu bar, select the Edit option. A submenu will be displayed as follows:
If multiple options are defined, then ASN1VE will find the node in the tree window that includes all of the selected options (i.e. a logical AND of the options is done). If the node is selected in the left tree window, then the Find command will search for data in the selected node and it's child nodes. If a node is not selected in the left tree window, then the Find command will search the data in the entire tree window (all nodes). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
View Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ASN1VE allows two different views of the loaded message: tag view or element view. ASN1VE will allow the view to be toggled between tag and element view. This can be done using either the pulldown menu entries under View or the two right-most toolbar buttons. The following sections describe what is shown in the various
windows for each of these views. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tag View | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Tag view is the default view and is shown when no ASN.1 schema is loaded. It shows the built-in tags, lengths, and values in the message. A value is only decoded when it can be interpreted based on a UNIVERSAL tag (for example, if an item is tagged with the UNIVERSAL INTEGER tag, then its contents can be decoded as an integer). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The left window will show the internal structure of the BER/DER message by showing all of the tagged value containers.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The top right window will show BER/DER binary message data as a hex dump or XML message or Text data. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hex Tab: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This will display the detail of the selected node related binary data with color-coding as follows:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The data highlighted in the hex view corresponds to the tagged
element selected in the tree window.
The offset of the data in the message can be determined by the "Offset" or "Address" column. Clicking on the "Address"/"Offset" button will cause the display to toggle between hex (Address) and decimal (Offset) display modes. Each byte's offset value will be displayed in tooltip. Individual octet values within the message can be edited by double-clicking on the value or entering the new hex code on the selected octet. Note that data cannot be inserted or deleted; only individual byte values can be changed. The File/Save Message or File/Save Message As command can be used to save the altered file. This will cause the data to be decoded again and redisplayed. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
XML Tab: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This will display the decoded message as an XML message. The XML message will be created with the following two parameters:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Text Tab: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This will display the decoded message as an ASN.1 value message. Element name will be the tag name. The value for the element would be the hex data / actual decoded value of the tag as above. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The bottom right window provides additional information on the
item selected tag in the tree window. The following information is
shown:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Element View | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Element view associates each of the tagged elements in the message with it's corresponding name from the ASN.1 schema. This view is displayed after a schema is loaded that contains a PDU type that matches the message. A name is associated with each item in the message. Also, type information in the schema makes it possible to decode the contents of all of the data fields. The decoded contents of each field are displayed in the data window in the lower right section of the display. The element view will be blank if an ASN.1 schema is not assigned or a PDU type is not selected. By switching to this view, ASN1VE will decode the message using the assigned ASN.1 schema. If the message does not match a PDU type within the schema or if decoding fails, an error message will be displayed. The left window will show the internal structure of the BER/DER message with the associated ASN.1 data type as follows:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The top right window will show BER/DER binary message data as hex dump or XML message or Text data. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hex Tab: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The top right window will show BER/DER binary message data as hex dump. It will also display the detail of selected nodes related binary data with color-coding as follows:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The data highlighted in the hex dump window corresponds to the
element name selected in the left tree window. Element view will
display the binary data related with the element instead of
displaying detail of tag, length and value.
The offset of the data in the message can be determined by the "Offset" or "Address" column. Clicking on the "Address"/"Offset" button will cause the display to toggle between hex (Address) and decimal (Offset) display modes. Each byte's offset value will be displayed in tooltip. Individual octet values within the message can be edited by double-clicking on the value and entering the new hex code. Note that data cannot be inserted or deleted; only individual byte values can be changed. The File/Save Message or File/Save Message AS command can be used to save the altered file. This will cause the data to be decoded again and redisplayed. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
XML Tab: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This will display the decoded message as an XML message. ASN.1 elements will be created as XML elements and values of the elements will be created using the names from the schema as XML tags. Values will be displayed in decoded form inside the XML tags. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Text Tab: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This will display the decoded message as an ASN.1 value message. The ASN.1 element will be written as an element name and the value of this ASN.1 element will be written after the '=' sign. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
The bottom right window will provide detailed information on
the selected element in the left tree window. The following
information is shown:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Objective Systems Inc | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
http://www.obj-sys.com | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Phone: +1 (484) 875-9841 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Report any problems or issues to us at support@obj-sys.com | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Copyright © 2004-2009 Objective Systems, Inc. All Rights Reserved. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|