So, you want a hex editor for your latest project and (naturally) you decide to have a look at Hexxed, the free, GPL licensed, hex editor you can download here: http://220.127.116.11/hexxed.jar. So what happens next?
bash-3.2$ java -jar hexxed.jar -u
usage: hexxed [options]
-b,–block use block:offset address output – default is
-be,–bigendian interpret data as big endian – default is cpu
-f,–file <arg> file to edit
-le,–littleendian interpret data as little endian – default is cpu
-o,–offset <arg> offset in file – default 0
-s,–blocksize <arg> size of block if block:offset addressing used –
default is 0x200
-u,–usage show this information
-w,–width <arg> width (in bits, 8 – 64 bits) of output data –
default is 8 bits
-x,–x <arg> width of window (default 640 pixels)
-y,–y <arg> height of window (default 480 pixels)
Subtext is, please do have a look at Hexxed. I know it’s not as fully featured as commercial or even other free hex editors, but this is just the first iteration and if you tell me it is useful and add what feature you’d like to see in it, it is quite likely that I will get on with adding it.
Update: I have now run Hexxed on Ubuntu and Debian Linux, Mac OSX and Windows XP, so it should work on anything with Java installed.
I have now reached the point with my hex editor – Hexxed – that I can aggressively look for software testers with confidence, as I feel I have a piece of software that does all the key things I want:
insert (as zeros) and delete multiples of 8, 16, 32 or 64 bits at a time
load and save arbitrary files
do and undo edits
For those looking for hex editors (as opposed to just another binary editor) it will handle 8, 16, 32 and 64 bit hex representations in both little endian and big endian format (and you can switch between them), as well as display addresses in a block:offset format (block size may be set arbitrarily). While for those looking for a binary editor it has a Vi-like interface and displays charcters in both UTF8 and 16 bit unicode.
It doesn’t do everything, though, and it may still have bugs so testers are needed to identify what features it needs but has not got and what might go wrong with it.
I am hopeful that I may have a chance that could turn out to be reasonably widely used in future.
To test: you don’t need my permission, it’s free software, freely available – covered by the GNU general public licence (version 3). Though of course that means that no warranties, to the maximum level allowable in law, are offered either.
I have done almost all my development of Hexxed on a Macbook, but have now updated the git repo on my Linux laptop and run it there – some interesting differences:
the Linux app has a pleasingly retro look and feel to it – no anti-aliased fonts here
on Linux key reptitition works as expected – ie if one holds down a key the application is sent multiple key events, which is what one expects and which works well with the vi-like interface I am building
On Linux the first file open dialog is a really crude/retro looking box (think Windows 3.0), while subsequent file open dialogs reflect the system windows toolkit.
The screenshot is of a VMUFAT volume, it was my experience of writing that driver that gave me the itch that Hexxed is meant to scrtach – in particular I wanted a hex editor that would allow me to display 16 bit numbers in a given endian form and partition the memory space by arbitary block size (VMUs use a lot of 16 bit little endian numbers and a 512 byte block size). Hexxed does both of these things now, though it still has no editing facilities – just viewing.
As for VMUFAT itself: Sadly no one on LKML seems much interested in that – the first posting got some helpful comments, but since I posted the corrected code six or so weeks ago, nothing. Suppose I will have to start poking people with an electronic stick.