HxD is a carefully designed and fast hex editor which, additionally to raw disk editing and modifying of main memory (RAM), handles files of any size.
The easy to use interface offers features such as searching and replacing, exporting, checksums/digests, insertion of byte patterns, a file shredder, concatenation or splitting of files, statistics and much more.
Editing works like in a text editor with a focus on a simple and task-oriented operation, as such functions were streamlined to hide differences that are purely technical.
For example, drives and memory are presented similar to a file and are shown as a whole, in contrast to a sector/region-limited view that cuts off data which potentially belongs together. Drives and memory can be edited the same way as a regular file including support for undo. In addition memory-sections define a foldable region and inaccessible sections are hidden by default.
Furthermore a lot of effort was put into making operations fast and efficient, instead of forcing you to use specialized functions for technical reasons or arbitrarily limiting file sizes. This includes a responsive interface and progress indicators for lengthy operations.
Features
- Available as a portable and installable edition
-
RAM-Editor
- To edit the main memory
- Memory sections are tagged with data-folds
-
Disk-Editor (Hard disks, floppy disks, ZIP-disks, USB flash drives, CDs, ...)
- RAW reading and writing of disks and drives
- for Win9x, WinNT and higher
-
Instant opening regardless of file-size
- Up to 8EB; opening and editing is very fast
- Liberal but safe file sharing with other programs
-
Flexible and fast searching/replacing for several data types
- Data types: text (including Unicode), hex-values, integers and floats
- Search direction: Forward, Backwards, All (starting from the beginning)
- File compare (simple)
- View data in Ansi, DOS, EBCDIC and Macintosh character sets
- Checksum-Generator: Checksum, CRCs, Custom CRC, SHA-1, SHA-512, MD5, ...
-
Exporting of data to several formats
- Source code (Pascal, C, Java, C#, VB.NET)
- Formatted output (plain text, HTML, Richtext, TeX)
- Hex files (Intel HEX, Motorola S-record)
- Insertion of byte patterns
-
File tools
- File shredder for safe file deletion
- Splitting or concatenating of files
-
Basic data analysis (statistics)
- Graphical representation of the byte/character distribution
- Helps to identify the data type of a selection
-
Byte grouping
- 1, 2, 4, 8 or 16 bytes packed together into one column
- "Hex only" or "text only"-modes
-
Progress-window for lengthy operations
- Shows the remaining time
- Button to cancel
- Modified data is highlighted
- Unlimited undo
- "Find updates..."-function
- Easy to use and modern interface
- Goto address
- Printing
- Overwrite or insert mode
- Cut, copy, paste insert, paste write
-
Clipboard support for other hex editors
- Visual Studio/Visual C++, WinHex, HexWorkshop, ...
-
Bookmarks
- Ctrl+Shift+Number (0-9) sets a bookmark
- Ctrl+Number (0-9) goes to a bookmark
- Navigating to nibbles with Ctrl+Left or Ctrl+Right
- Flicker free display and fast drawing
Que novedades incluye la versión 2.3 See changelog
Released
- New: open source plugin interface to extend the data inspector
- supports dll plugins made in C, C++, Delphi or any other language which can deal with a C-like interface
- includes example plugins
- New: array navigation toolbar in datainspector (next/previous/first/last element)
- allows to navigate types like ad-hoc arrays, that span the entire stream / file, extending left and right from the current element shown in the datainspector
- all fixed-width data types support navigating forwards and backwards by default
- backward navigation needs special support for variable-width data types like UTF-8
- since UTF-8 is self-synchronizing, determining the previous element is possible (however, x86 assembly, for example, cannot be supported, since trailing bytes in an instruction encoding can also appear as leading bytes, which therefore only allows for an unambigious forward scan)
- New: unintrusive pointer type support in data inspector
- clickable goto link, which is right aligned next to integer type name
- implicitly treats integer types as pointers / addresses / offsets
- signed integers are treated as relative offsets, unsigned integers as absolute offsets
- avoids cluttering the UI with many more rows by having each integer row have a dual function (acting as pointer as well as plain integer)
- typed pointers and pointers that use complex adressing schemes (such as using a lookup table, or computing of an address based on parameters instead of a simple immediate value), will follow with structure views
- New: added Int24 and UInt24 types to data inspector (useful for wav files)
- be sure to reset the data inspector row order in the options, if new types appear in the last rows
- New: separate portable and installable versions (also reduces number of wizard pages)
- portable setup runs with least privileges
- portable setup defaults to desktop folder
- Enhancement: reduce flickering in data inspector when resizing or during fast selection, especially for the text box
- Enhancement: unfold a section if a goto command jumps into it
- Enhancement: implemented new TXmTabControl to enable Ctrl+(Shift+)Tab navigation in Search and Replace windows
- behaves like native TPageControls from Delphi (native TTabControls do not support keyboard shortcuts for tab switching)
- allows focusing the tabs itself to allow navigating with Left/Right arrow keys, yet still focuses the first child control when switching tabs, as required
- Enhancement: edit controls in block selection windows only validate the entry on losing focus
- allows for more flexible editing and temporarily invalid states
- Change: for more consistency in error messages, the goto dialog always displays the computed target offset, instead of the text in the offset text box (which can contain absolute or relative offsets)
- Change: rename optical disk to optical disc (used disk for consistency in the past, but disc is just more common)
- Change: turn all http links into https ones
- Fix: data inspector ignores leading and trailing whitespace where not relevant to the data type (e.g., removing for integers, but keeping for character types)
- Fix: always treat integers as unsigned when displaying them in hexadecimal
- Fix: physical floppy disk drives would show a too small size (limited like the logical ones)
- Fix: writing to floppy disks could fail, because they did not get locked and unmounted
- Fix: make the height of the bottom dock normal size again (it would appear too small, making people believe no results are produced, for example when generating checksums)
- Fix: data inspector: when data name column was too small, the splitter could be overdrawn / interrupted with white space
- Fix: properly handle https URLs by passing INTERNET_FLAG_SECURE and do not fail on redirects from http to https
- Fix: Setup would choose English by default, instead of picking the language based on the OS's locale
- Fix: tab order in various windows (search and replace, and the option frames for each); correct tab order even if option frames are not shown for a certain data type
- Fix: ensure tab switching with Ctrl+(Shift+)Tab keeps working after a switch, by setting the focus to the first control inside the tab each time a tab switch occurs
- Fix: selections would unfold sections even if unnecessary
- Other smaller fixes, many internal enhancements and refactorings
- Lots of work on UTF-8 and handling grapheme cluster boundaries for future UTF-8 support in the hex editing window itself