The Bookmark Editor show above is used to both add new and edit existing bookmarks. To edit a bookmark, select the bookmark in the bookmark results window and then either:

  1. Select the Edit bookmark icon from the bookmark toolbar

  2. Right click within the bookmark results window and select "Edit Bookmark" from the popup menu.

  3. Select "Bookmarks" from the "Tools" menu and then select "Edit Bookmark" from the popup menu.

Once the bookmark editor is displayed, specify your desired setting, and press the OK button.

NOTE: If you edit a bookmark, you must Refresh the bookmark results window by pressing the Refresh button in the upper right corner of the bookmark results window.

Bookmark Attributes

Description

Describes this bookmark. This is string identifies the bookmark entry in the bookmark results window.

Location Address

Identifies the starting address (offset) of the bookmark. The value can be entered in hex or decimal as designated by the Location Base drop down choice box. Additionally, there are a number of functions and operators available for use in this field. A list of functions and operators are listed in the section below.

Location Length

Identifies the length of the bookmark (in bytes). The value can be entered in hex or decimal as designated by the Location Base drop down choice box. Additionally, there are a number of functions and operators available for use in this field. A list of functions and operators are listed in the section below.

Location Base

Specifies the base for both the address and length fields. Data can be entered in either decimal or hexadecimal.

Count

Defines the count or repetition for this bookmark. The default value is 1, however, you can define a repetition (or array) of bookmarks. The location address and location length is used for the first bookmark, however, the Count Sequential Address and Count Fixed Length parameters define how addresses and lengths are calculated for subsequent bookmarks.

Count Sequential Address

Determines whether array bookmarks begin immediately after the end of the last array bookmark or if the location address is re-evaluated for each bookmark. The default is checked (or true), however, one may want to change this if the address is based on a calculation.

Count Fixed Length

Determines whether array bookmarks should use the length of the first bookmark or if the length should be recalculated each time. The default is checked (or true), however, one may want to change this if the address is based on a calculation.

Interpret Data As Type

Identifies the data type for this bookmark. The bookmark results window will display the document data rendered as this type. Additionally, within the bookmarks results window, you can edit the bookmark in its native interpretable data type.

Interpret Data As Byte Order

Identifies the byte order for this bookmark. This parameter is only valid if a interpretable data type is selected.

Interpret Data As Structure

Identifies the structure providing the details of a complex data type. You must associate a structure with the bookmark collection before you can choose a structure. Structures are associated with a bookmark collection through the Bookmark Properties dialog. Please see the Structure Viewer for more information on structures.

 

Address / Length Functions and Operators

+

Addition.

-

Subtraction.

*

Multiplication.

/

Division.

%

Modulus Division.

&

Bitwise AND

|

Bitwise OR

^

Bitwise XOR

<<

Bitwise Left Shift

>>

Bitwise Right Shift

UByteAt(OFFSET)

Unsigned 8 bit value at a specified offset.

UShortAt(OFFSET)

Unsigned 16 bit Little Endian value at a specified offset.  Use byteflip16(UShortAt(OFFSET)) to interpret the value as Big Endian

ULongAt(OFFSET)

Unsigned 32 bit Little Endian value at a specified offset.  Use byteflip32(ULongAt(OFFSET)) to interpret the value as Big Endian

UQuadAt(OFFSET)

Unsigned 64 bit Little Endian value at a specified offset.  Use byteflip64(UQuadAt(OFFSET)) to interpret the value as Big Endian

last

Ending position of the last bookmark

start

Position of the caret when the bookmark was originally added.

arrayindex

Array index of the bookmark. This is only useful if a bookmark has a repetition count of greater than 1. Otherwise, this value will always be 0.

filelength

The length of the document file being viewed/editing within Hex Workshop.

byteflip16(VALUE)

Flip bytes assuming 16-bit value

byteflip32(VALUE)

Flip bytes assuming 32-bit value

byteflip64(VALUE)

Flip bytes assuming 64-bit value