Basic Editing:
- Cut, Copy, Paste, Insert, Fill and Delete Hex
- ASCII, DOS, EBCDIC, Macintosh, Window, Unicode or custom character set filters
- Multilevel Undo and Redo
- Drag and Drop files onto Hex Workshop for quick editing
- Highlight hex and text sequences using Color Maps
- View modified bytes in user defined colors
- Select by offset/length or Select All
- Paste Special (any format on the clipboard)
- Insert File a file or replace selection with the contexts of a file
- Save a selection as a new file
- Select "Hex Edit" from Windows Right-Click Context Menu to view and edit files
- Context sensitive help
- View character distributions of a document or selection
- Copy document or selection as: C Source Array, Java Source Array, Hex String, HTML, RTF, Text, Base64 or UUEncoding
- View offsets and lengths in hex or decimal
- Integration with 3rd party applications
- User customizable keyboard shortcut key sequences for common operations
Sector Editing:
- Sector edit partitions or physical disks
- Copy sectors between disks and partitions
- Save Sector range to a file
- Restore Sector range from a file
Highly Customizable User Interface:
- Hex values can be grouped by 1, 2, 4, 8 or 16 bytes
- Specify the bytes per line (1-128) or let Hex Workshop fit to window size
- User-definable font and character mapping
- Specify significant digits for floating point/double presentation
- Enable/Disable warnings and notification messages
- Workbook mode allows ability to switch between open documents quickly
- User-definable colors for the offset area, odd hex columns, even hex column, separators and text area
- Integrated color and border rectangle tagging for integration tools: Structure Viewer, Bookmarks, Data Inspector, Compare Results, Find Results and Color Maps
Find
- Search using Hex Strings (including wildcards)
- Search using Text Strings (ASCII, Unicode or either; match or ignore case)
- Search using Bitmasks
- Search using 8 bit, 16 bit, 32 bit or 64 bit signed/unsigned values (Big Endian,Little Endian or either)
- Search using floating point values (Big Endian, Little Endian or either)
- Search using double precision floating point values (Big Endian, Little Endian oreither)
- Find All instances or instance by instance
- Search from top down or bottom up
- Find all strings within a document (ASCII, Uncode or Either)
- Find next or previous matching selection
- Find next or previous not matching selection
- Find across entire document, selection, or manually entered range
- Apply bookmarks or structures based on Find Results
Replace:
- Find and replace by Hex Strings, Text, Strings or values
- Pad text strings with nulls if the replacement string is shorter than the originalstring
- Replace All instances or instance by instance
- Replace from top down or bottom up
- Replace across entire document, selection, or manually entered range
Goto:
- Jump to specified address
- Jump to address relative to start of document
- Jump to address relative from end of document
- Jump to selected address
- Jump to current offset + selected address
- Jump to current offset - selected address
- Jump to last goto + selected address
- Jump to last goto - selected address
- Repeat last jump (relative from current offset)
- Jump backwards (relative from current offset)
Printing:
- Print and Print Preview
- Header and footer are highly customizable
- Page Setup allows configuration of: font, header, footer, margins and bytes per line
Bookmarks:
- View and edit data rendered as natural data type (byte, word, half float, double,string, Unicode string, time_t, time64_t, structure reference, etc.)
- Integrated with Structure Viewer
- Array support (add multiple bookmarks with single definition)
- Calculations supported for address, length, and count (array) definitions: +, -,*, /, %, &, |, ^, <<, >>
- Functions supported for address, length, and count (array) definitions: UByteAt(),UShortAt(), ULongAt(), UQuadAt, byteflip16(), byteflip32(), and byteflip64()
- Constants supported for address, length, and count (array) definitions: last (bookmark),start (first bookmark), arrayindex, filelength
Structure Viewer:
- View and edit data in its natural structure and form
- File format resembles C/C++ style structure definition
- Embedded, nested and reference other structures in your definitions
- Many atomic data types supported: char, wchar, byte, ubyte, word, uword, long, ulong,longlong, half float, float, double, OLE Date/Time, DOSTIME, DOSDATE, FILETIME, time_t,and time64_t
- Conditional structure elements (if and switch)
- Big Endian or Little Endian rendering
- Add floating structures that re-renders on caret position changes
- Add locked structures which stick to a document and offset
- Verify expected byte sequences in a document against the structure definition's expectedvalues
- Integrated Functions enable automatic file format parsing and data manipulation
Compare:
- Use either a Simple or Resynchronizing binary compare
- Resynchronizing Compare color codes the differences
- Ability to specify Resync Window (how far to look for insert/delete) and match bytes(how many bytes must match) for resynchronizing compares
- Set starting comparison offset independently for source and target files
- Set comparison length independently for source and target files
Checksum Generation:
- Checksum either entire document or a selection
- 8-bit, 16-bit, 32-bit, and 64-bit checksums (sum)
- CRC-16
- CRC-16/CCITT
- CRC-32
- Custom CRC-16
- Custom CRC-32
- MD2, MD4, MD5
- SHA1, SHA-224, SHA-256, SHA-384, SHA-512
- RIPEMD-128, RIPEMD-160, RIPEMD-256, RIPEMD-320
- Tiger
- Whirlpool
- View checksums and CRCs as 1s or 2s Complement
Data Visualizer
- Includes 3 palettes and the ability to use user-defined palettes (Microsoft .PAL file format)
- Zoom visualizer width and height independently
- Automatic scaling to match editor view
- Displays editor selection
- Allows selection of data within the editor
Data Operations:
- Modify your data in-place using embedded operations
- Operations can be applied to a selection or an entire document
- Operations include: set floor value, set ceiling value, lower case, upper case, swap case, byte flip, block shift, ~, <<, >>, ~, |, &, +/-, +, -, *, /, %
Data Inspector:
- Interpret data at current caret position and edit that data as a more user-friendlysensible data type
- Big Endian or Little Endian byte ordering
- View and edit 8 bit signed/unsigned values
- View and edit 16 bit signed/unsigned values
- View and edit 32 bit signed/unsigned values
- View and edit 64 bit signed/unsigned values
- View and edit half float (16 bit), floats (32 bit) and double precision floats (64bit)
- View and edit DATE, DOS Date, DOS Time, FILETIME, time_t, and time64_t values
- View and edit binary representations
Expression Calc
- Arithmetic operations: +, -, *, /, %, ()
- Logical operations: ==, !=, ||, &&, <, <=, >, >=
- Bitwise operations: &, |, ^, <<, >>, ~
- Arithmetic functions: min, max, byteflip16, byteflip32, byteflip64
- Document functions: get/set caret position and selection, add structure, get documentsize, getValueAt, setValueAt, insertValueAt
- Conditional statements: if, switch
- Looping constructs: for, while
- Creation and manipulation of integer variables (signed/unsigned 8, 16, 32, and 64bit variations)
- Big Endian or Little Endian byte ordering
- Option to automatically place results on clipboard
Base Converter
- Convert 8 bit, 16 bit, and 32 bit values between hex, decimal and binary
Hex Calculator:
- Hex/Decimal calculator supporting: +,-,*,/,|,&,^,<<,>>, ~
Import/Export:
- Import and Export 8, 16 or 32 bit Intel Hex Code
- Import and Export Motorola S19, S28 or S37 records
- Export as HTML
- Export as RTF
- Export as C source
- Export as Java source
- Export as Text
- Export as a Hex string
- Export as UUEncoding
- Export as Base64
- Export Structure Views, Compare Results, Find Results, Bookmark Views, Checksum Results, and Character Distributions as Tabbed Text, CSV, RTF, XML, and HTML.
Plug-in API
- C/C++ Plug-in API
- Allow data manipulation of active document
- Create new documents
- Generate checksums and digests
- Create and manipulate smart bookmarks
- Manipulate caret position and selection
- Progress and user-cancel support
- Integration with output window for logging
- Ability to auto-exec plug-ins on document open