Hex Workshop supports data operations within hex editor. This allow users to perform arithmetic and logical operations on their data while interpreting their data as decimal values.

 

You can invoke a operation by selecting it on the Data Operation Toolbar or by selection the operation under the Tools-Operations menu. The following operations are available:

 

image\ebx_-1449726014.gif

Byte Flip

Flip the order of bytes.

image\ebx_339492022.gif

Inverse Bits

Inverse the bits.

image\ebx_1637977033.gif

Shift Left

Shift bits to the left by 1 bit.

image\ebx_-1127086185.gif

Shift Right

Shift bits to the right by 1 bit.

image\ebx_-1201504544.gif

Rotate Left

Rotate bits to the left by 1 bit.

image\ebx_292090101.gif

Rotate Right

Rotate bits to the right by 1 bit.

image\ebx_-2068320587.gif

Block Shift Left

Block shift bits to the left by 1 bit (bits are carried for entire block).

image\ebx_907306843.gif

Block Shift Right

Block shift bits to the right by 1 bit (bits are carried for entire block).

image\ebx_-645966315.gif

XOR

Perform XOR (Exclusive OR) on data. Requires additional parameter.

image\ebx_-1453076914.gif

OR

Perform bitwise OR on data. Requires additional parameter.

image\ebx_1119963813.gif

AND

Perform bitwise AND on data. Requires additional parameter.

image\ebx_1455173497.gif

Change Sign

Change sign from negative to positive or from positive to negative.

image\ebx_1018245553.gif

Add

Add value to data. Requires additional parameter.

image\ebx_-1924146677.gif

Subtract

Subtract value from data. Requires additional parameter.

image\ebx_800487088.gif

Multiply

Multiply data by a value. Requires additional parameter.

image\ebx_1890545452.gif

Divide

Divide data by a value. Requires additional parameter.

image\ebx_-62749331.gif

Modulo Division

Perform modulo division on data. Requires additional parameter.

image\ebx_789370590.gif

Set Floor Value

Sets the minimum/floor value. If any values are lower than the specified value, then the value is replaced with another value. Requires additional parameters.

image\ebx_993954346.gif

Set Ceiling Value

Sets the maximum/ceiling value. If any values are greater than the specified value, then the value is replaced with another value. Requires additional parameters.

image\ebx_-1809050827.gif

Upper Case

Convert ASCII characters to upper case. Non-alphabetic characters are not changed.

image\ebx_1756837455.gif

Lower Case

Convert ASCII characters to lower case. Non-alphabetic characters are not changed.

image\ebx_-674069168.gif

Swap Case

Swaps the case of ASCII characters: lower case becomes upper case, uppercase becomes lower case, non-alphabetic does not change.

 

Hex Workshop will prompt you when additional parameters are required, if not using environmental settings (see Preferences: General), or if invoked from the Tools-Operations menu. A sample dialog is shown below:

 

image\xor_operation.gif

 

Treat Data As:

 

Hex Workshop needs to interpret the data as a decimal value for most data operations. For example, rotating 4 individual bytes will yield different results than rotating a single long which is 4 bytes in length. Signed vs Unsigned status is only used for arithmetic operations.

 

Byte Ordering:

 

Hex Workshop allows you to interpret data in either Little Endian (e.g. Intel) or Big Endian (e.g. Motorola) byte ordering. Please see Understanding Byte Ordering for more information on byte ordering in general.

 

Value:

 

Users can enter a decimal or hexadecimal operand for operations. You can toggle between hexadecimal and decimal by selecting the appropriate "Decimal" or "Hex" radio button.

 

Apply On:

 

Hex Workshop can apply the operation on either a selection or your entire document. The "Selection" radio button will be disabled if the dialog is invoked without a selection.