Looking for a Hex Editor?

On July 20, 2012, in Linux, by erik

Every once and awhile I am in need of a good hex editor. For those who are unaware – a hex editor allows a user to see or edit the raw and exact contents of a file, as opposed to the interpretation of the same content that other, higher level application software may associate with the file format. For example, this could be raw image data, in contrast to the way image editing software would interpret and show the same file. The name ‘hex’ comes from the fact that hexadecimal is the standard numerical format for digital data on a screen when editing at this level.

I prefer a graphical interface to input and modify hex values. I thought this post should outline a few that I have used and perhaps give you some suggestions of what benefits there are.

Firstly, Wikipedia has a great comparison chart of hex editors.

So without further ado, here are a few suggestions:

Bless Hex Editor

Bless is a high quality, full featured hex editor.

It is written in mono/Gtk# and its primary platform is GNU/Linux. However it should be able to run without problems on every platform that mono and Gtk# run.

Bless currently provides the following features:

  • Efficient editing of large data files and block devices.
  • Multilevel undo – redo operations.
  • Customizable data views.
  • Fast data rendering on screen.
  • Multiple tabs.
  • Fast find and replace operations.
  • A data conversion table.
  • Advanced copy/paste capabilities.
  • Highlighting of selection pattern matches in the file.
  • Plugin based architecture.
  • Export of data to text and html (others with plugins).
  • Bitwise operations on data.
  • A comprehensive user manual.

You can retrieve this tool via apt-get install bless as well.

wxHexEditor

wxHexEditor is another Free Hex Editor, build because there is no good hex editor for Linux system, specially for big files.

  • It uses 64 bit file descriptors (supports files or devices up to 2^64 bytes , means some exabytes but tested only 1 PetaByte file (yet). ).
  • It does NOT copy whole file to your RAM. That make it FAST and can open files (which sizes are Multi Giga < Tera < Peta < Exabytes) Could open your devices on Linux, Windows or MacOSX. Memory Usage : Currently ~10 MegaBytes while opened multiple > ~8GB files.
  • Could operate thru XOR encryption.
  • Written with C++/wxWidgets GUI libs and can be used with other OSes such as Mac OS, Windows as native application.
  • You can copy/edit your Disks, HDD Sectors with it.( Usefull for rescue files/partitions by hand. )
  • You can delete/insert bytes to file, more than once, without creating temp file.

There are many more excellent functionality features outlined on the wxHexEditor website. To download the tool head here – wxHexEditor Download

HT Hex Editor

HT Website

Supported file formats

  • common object file format (COFF/XCOFF32)
  • executable and linkable format (ELF)
  • linear executables (LE)
  • standard DO$ executables (MZ)
  • new executables (NE)
  • portable executables (PE32/PE64)
  • java class files (CLASS)
  • Mach exe/link format (MachO)
  • X-Box executable (XBE)
  • Flat (FLT)
  • PowerPC executable format (PEF)

Code & Data Analyser

  • finds branch sources and destinations recursively
  • finds procedure entries
  • creates labels based on this information
  • creates xref information
  • allows to interactively analyse unexplored code
  • allows to create/rename/delete labels
  • allows to create/edit comments
  • supports x86, ia64, alpha, ppc and java code

Target systems

  • DJGPP
  • GNU/Linux
  • FreeBSD
  • OpenBSD
  • Win32

Which hex editors have you used in the past? Any recommendations?

Tagged with: