Skip to content

🔥 The Hex Editor From Hell! 🔥

License

Notifications You must be signed in to change notification settings

evanmiller/hecate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hecate: The Hex Editor From Hell!

HECATE. O well done! I commend your pains;
And every one shall share i' the gains;
And now about the cauldron sing,
Live elves and fairies in a ring,
Enchanting all that you put in.

--Macbeth, p. 56

Download latest release: Linux, Mac OS X, and Windows

Compile from source:

go get -u github.com/evanmiller/hecate

Run:

$GOPATH/bin/hecate file1 [file2 [...]]

Hecate is a terminal hex editor unlike any you've ever seen: instead of putting the (ASCII) representation of bytes way out on the right side of the screen, it puts the interpreted values directly beneath the hex representation.

Behold: Hecate screenshot

If that weren't exciting enough, you can move the cursor around using Vim-like controls and interpret the underlying bytes as an integer, float, etc. -- perfect for your reverse-engineering needs.

But wait, there's more! Hecate (pronounced HECK-it, named after the Greek goddess of witchcraft) features tabbed browsing, in-place editing, large-file support, full-file searching, and arbitrary expressions for specifying an offset within a file. Place the cursor over some bytes and choose a mode (t for text, p for a bit pattern, i for an integer, f for a floating point) to see what those bytes represent. Toggle endianness with e and signedness with u. Press enter to edit.

Editing

Pressing enter brings up an edit field for the data under the cursor. Make changes and press enter again to write changes to disk. Pressing esc cancels any changes on the current position, otherwise exits edit mode. Navigating passed the edges of the field moves the cursor. The expected format depends on the cursor mode when entering edit mode.

Full list of commands:

hleftttext modeSshow tabs
jdownpbit pattern modeWhide tabs
kupiinteger modeAprevious tab
lrightffloat modeDnext tab
bleft 4 bytesHshrink cursorctrl-tnew tab
wright 4 bytesLgrow cursorctrl-wclose tab
^line startetoggle endiannessctrl-escroll down
$line endutoggle signednessctrl-yscroll up
gfile startadate decodingctrl-fpage down
Gfile end@set date epochctrl-bpage up
:jump to byte/search fileenteredit mode
xtoggle hexnnext match?help screen

What are you waiting for? Don't you want to edit any file on your computer? What could possibly go wrong?

Your vessels and your spells provide,
Your charms and everything beside.
I am for th' air. This night I'll spend
Unto a dismal and a fatal end.

Download latest release: Linux, Mac OS X, and Windows