MCPcopy Index your code
hub / github.com/evanmiller/hecate

github.com/evanmiller/hecate @v0.0.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.0.1 ↗ · + Follow
144 symbols 318 edges 23 files 9 documented · 6%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

hecate

The Hex Editor From Hell!

Usage:

go get -u github.com/evanmiller/hecate
$GOPATH/bin/hecate file1 [file2 [...]]

Hecate is a hex editor designed for reverse engineering file formats without leaving the comfort of your terminal window. Hecate (pronounced HECK-it) features tabbed browsing, in-place editing, large-file support, full-file searching, and Vim-like controls. 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.

Screenshot: Hecate screenshot

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

Extension points exported contracts — how you extend this code

Screen (Interface)
(no doc) [3 implementers]
screen.go
DialogProc (FuncType)
(no doc)
screen_dialog.go
Widget (Interface)
(no doc)
widget.go
SwitchScreen (Interface)
(no doc)
hecate.go

Core symbols most depended-on inside this repo

drawStringAtPoint
called by 84
string_util.go
length
called by 17
cursor.go
move
called by 11
cursor.go
setValue
called by 7
field_editor.go
setPos
called by 6
cursor.go
binaryStringForInteger32
called by 5
string_util.go
binaryStringForInteger64
called by 5
string_util.go
Error
called by 5
y.go

Shape

Method 69
Function 43
Struct 18
TypeAlias 9
Interface 4
FuncType 1

Languages

Go100%

Modules by API surface

cursor.go17 symbols
y.go14 symbols
tab.go12 symbols
hecate.go12 symbols
screen_dialog.go11 symbols
widget.go10 symbols
field_editor.go10 symbols
string_util.go8 symbols
screen_data.go7 symbols
screen.go7 symbols
screen_about.go6 symbols
screen_palette.go4 symbols

For agents

$ claude mcp add hecate \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact