HomeHome ArchiveArchive

Hex Editors

Hex Editors for Lin/unix

Around ca. 2006 I needed a hex editor really badly. Back then only a few and really few usable ones were available. This page is here to spare others my search time. Your feedback is very wellcome

This list has been updated occassionaly. There are other nice lists and reviews of hex editors:

beav 1.40

beav 1.40 lacks the possibility to adjust the number of displayed colums of data. Has absolutely fantastic key-bindings (I’m guessing they’re Emacs like key-bindings) so a non-Emacs user is sure to wreck the edited file all the time if he doesn’t pay attention to every keystroke he’s making. I redefined up, down, left, right, page up, page down by calling help with Esc-? and then Esc-K for the bindings and then Ctrl-X, Ctrl-W to write the bindings into the .beavrc file. The other usefull key-combinations are Ctrl-X, P to switch the window you’re in, Ctrl-X, G to jump to certain a byte, Esc-. to set a mark and Crtl-W to delete a region from the mark up to the cursor.

Bed 0.0.5

Bed 0.0.5 I couldn’t compile it and the executable segfaulted. So untested.

Bless

Bless a GUI app, looks really nice and fully featured. Untested.

bvi 1.3.0

bvi 1.3.0 allows inserting and deleting bytes. Has vi style key-bindings. Can also edit block special files. Permits partial editing of files.

fb

fb binary file viewer, editor, and manipulator. To edit files, one has to make a dump first and then edit them in a “real” editor. Untested.

fm

fm Just had a short look at it. Looks fine, supports cursor keys ;-). Doesn’t have adjustable displayed colums/rows.

GHex

GHex Has 2 column hex-numbers - text. Looks good. Untested.

HexCurse

HexCurse Untested … is a versatile ncurses-based hex editor written in C that provides the user with many features. It currently supports searching, hex, and decimal address output, jumping to specified locations in a file, and quick keyboard shortcuts to commands.

hexdump

hexdump only a hex dumper.

HexEd

HexEd available in a terminal and a X version - you might want to check whether there’s a newer version available. Can’t do copy/paste/delete operations that change the size of the file. Is able to change the number of displayed columns, so that you can adjust it to the structure of the edited file. Since the X-version of HexEd crashed a lot, I fetched the terminal version of it. Fortunately it knows about your terminal settings so you can go into X open a terminal adjust it. You have to press F5 (‘Zoom’?!) to make the editor adjust to you r terminal.

hexedit 1.0.0

hexedit 1.0.0 doesn’t allow changing rows/colums. Doesn’t allow copy/paste/delete that alter the size of the file. Has got anti-standart key-bindings, but is nice and fine to use. in ASCII. Untested.

Hexel 0.0.2

Hexel 0.0.2 is an advanced hex editor for the console. It supports insertion/erasure/overwrite, undo/redo, multi-buffer/shared-buffer, multi-window, bin/oct/hex/asc, and an x86 instruction decoder.

Hexinator

Hexinator looks like a very powerful hex editor. It is not open source software (no code available) but it’s gratis (at the time of writing).

hview

hview is a Curses-based hex editor designed to work with large (600+MB) files as quickly and with as little overhead as possible. Untested.

khexedit

khexeditVery powerful editor. Here is a feature overview from it’s author: Highly configurable document view. Displays documents in four modes. Hexadecimal, octal, binary and text only. Search and replace dialogs. Goto dialog and bookmark functionality. Pretty printing with headers and footers (in postscript). Undo/Redo operation is supported. Insert and overwrite mode operation. A document can be resized. Copy and paste of both ASCII and binary data. Multiple documents can be open simultaneously. All functions are accessible through keyboard and mouse. Support for non ASCII encoded files, eg. EBCDIC encoded files. Supports drag and drop of documents from kfm. Supports drag and drop of an open file from one editor to another. Session management. Remembers state from one session to the next.

LDE

LDE is a disk editor.

mcedit

mcedit from mc. Doesn’t have 2 column hex-number - text display.

muhex

muhex is part of the mulinux distribution. Type ‘muhex filename’, and a hex dump of filename is piped to an editor. You can only edit the hex field, (the offset and text fields are considered comments), but you can add or delete bytes, and do whatever else the editor can do, like cut and paste, etc. Edit done, this is piped back to ‘hexd’ (mu’s hex dump program) which turns it into a file.

It’s a kludge, but it easily fits on a rescue floppy; the ‘muhex’ shell script is only 553 bytes, just a wrapper for ‘hexd’ (4408 bytes) and an editor.

[N] Curses Hexedit

[N] Curses Hexedit. Seems to be a good and useful editor. Has some extra nice functionality, see the infos taken from it’s homepage below. Curses Hexedit is a full screen hex editor using the curses, ncurses , or pdcurses library. Editing and Viewing disks in Linux and OpenBSD. Allows Inserting and Deleting bytes from the file. Highlights changes in the file in bold. Fast boyer-moore string and byte searches. Undo - keeps track of all changes, reverting back to original always possible. Start of a base conversion/calculator utility built in.

vche 1.6.4

vche 1.6.4 is very nice and easy to use. Not able to copy/paste. Does support differnt numbers of colums/rows.

wxHexEditor

wxHexEditor 0.2.0 Beta is nice, fully featured, has a GUI, and can edit very large filed. However v0.2 segfaulted for me once and the search pop up window is modal.

xvi

xvi, the grandfather of editors (born ca.1985).

Afterthought

Offtopic: The linux world is lacking comparative software analysis. There should be a site where different programms that do the same task are listed and compared. Ideal would be if every page could be maintained by a different person that is interested in the stuff, so it can keep up with the news. Do you know of such a site?

Repairing wtmp

Problem

The problem arose when the /var/account/pacct logfile filed up my harddisk. As I forgot to remove the service from /etc/init.d it happened again. The wtmp logfile was completely trashed. I tried to write a C programm to repair it, but since I couldn’t figure out how to automatically decide if an wtmp entry was good or bad, it became clear that I had to do it manually.

Solution

So first I needed a binary editor. Most editors say that they can edit binary files, but they are completely unusable for this task. Have a look at my list of available.

To be able to see the results of my editing I had to download the original GNU acct-package from the Debian mirror which includes a tool called dump-utmp, that displays the contents of the wtmp file. last is of no use here, since it can’t handle the faults in the wtmp file at all.

I had to use dump-utmp to show me where the faulty entries/boundaries in the wtmp file were, HexEd to show me the wtmp file in a human-readable form and beav to edit it. I’d find the faulty entry with dump-utmp, go into HexEd to find the correct byte-offset of that entry and of the next ‘good’ one, change into beav to delete the faulty entries and write a new wtmp version, and then check again in dump-utmp and repeat the whole cycle.

Conclusion

By the time the repair was done, which is was in 1997, it was a pain. Linux was sorely lacking a lot of utilities or in other words the utilities that were there were not really usable. But things, at least what concern the hexeditors (see also the hexeds page) have improved a lot. Feedback (

tpo_hp at sourcepole.ch

) about how to accomplish the task better or just about the contents of this page are very wellcome.

Linux touch screen support

Linux touch screen support

This is a collection with informations for using touch screens with Linux. Please send your corrections, input, feedback, etc. to

pi at sourcepole dot com

XFree86


Driver Description citron Citron Infrared Touch devices dmc DMC FIT10-controller dynapro Dynapro elographics Elographics SmartSet serial controllers, with support for E281-2310 and compatible controllers microtouch MicroTouch (e.g. SMT3) mutouch MicroTouch serial controllers using firmware set 2. This includes (but may not be limited to) Serial/SMT3 and TouchPen controllers. palmax Palmax (TR88L803) touchscreen driver for the Palmax PD1000/PD1100 penmount PenMount (DMC9000?) ————— ————————————————————————————————————————————-

X Server (KDrive)

The freedesktop X Server aka Kdrive, formerly known as TinyX, is a trimmed down X server written by Keith Packard. It contains a generic touch screen driver, based on tslib. Please report supported Hardware!

  • iPAQ ?

QT/Embedded

Qt/Embedded Pointer Handling

Supported Hardware:

  • NEC Vr41XX
  • iPAQ

We developed a custom driver for the FIT-10 controller from DMC.

Other products with Linux drivers