evanmiller / hecate Goto Github PK
View Code? Open in Web Editor NEW🔥 The Hex Editor From Hell! 🔥
License: MIT License
🔥 The Hex Editor From Hell! 🔥
License: MIT License
Some editors like dhex have a diff mode, which shows two or more files next to each other, scrolling in unison, and highlighting bytes that are different. This would be great to have in Hecate.
Hi,
Can some basic hex editing features be added? E.g. find and replace etc.
Thanks in advance!
Hecate almost always freezes after a certain amount of use. I don't think this used to happen... might be some kind of channel communication deadlock. Any ideas, @kaos?
Steps to reproduce:
Expected behavior: Search box closes
Actual behavior: Search is executed using placeholder value
panic: runtime error: slice bounds out of range [:1002] with capacity 999
goroutine 1 [running]:
main.CursorWidget.drawAtPoint(0x0, 0xc0000ee000, 0x0, 0x4, 0x2, 0x0, 0x53, 0x2, 0x33, 0x1a, ...)
/home/tp1/program_lang/go/src/github.com/evanmiller/hecate/widget_cursor.go:48 +0x1407
main.drawWidgets(0xc0000ee000, 0xf000f801000001, 0x4c00f0009a009a, 0x7f003f001a00a7, 0x10100010000e7, 0xf8007d010000f8, 0x25fe0000007d, 0x2022000025fd, 0x0, 0x0, ...)
/home/tp1/program_lang/go/src/github.com/evanmiller/hecate/widget.go:81 +0x274
main.(*DataTab).drawTab(0xc0000ee000, 0xf000f801000001, 0x4c00f0009a009a, 0x7f003f001a00a7, 0x10100010000e7, 0xf8007d010000f8, 0x25fe0000007d, 0x2022000025fd, 0x3)
/home/tp1/program_lang/go/src/github.com/evanmiller/hecate/tab.go:395 +0xef
main.(*DataScreen).drawScreen(0xc0000ec000, 0xf000f801000001, 0x4c00f0009a009a, 0x7f003f001a00a7, 0x10100010000e7, 0xf8007d010000f8, 0x25fe0000007d, 0x2022000025fd)
/home/tp1/program_lang/go/src/github.com/evanmiller/hecate/screen_data.go:232 +0x783
main.layoutAndDrawScreen(0x563420, 0xc0000ec000, 0xf000f801000001, 0x4c00f0009a009a, 0x7f003f001a00a7, 0x10100010000e7, 0xf8007d010000f8, 0x25fe0000007d, 0x2022000025fd)
/home/tp1/program_lang/go/src/github.com/evanmiller/hecate/screen.go:40 +0x89
main.mainLoop(0xc00007a300, 0x1, 0x1, 0xf000f801000001, 0x4c00f0009a009a, 0x7f003f001a00a7, 0x10100010000e7, 0xf8007d010000f8, 0x25fe0000007d, 0x2022000025fd)
/home/tp1/program_lang/go/src/github.com/evanmiller/hecate/hecate.go:111 +0x64b
main.main()
/home/tp1/program_lang/go/src/github.com/evanmiller/hecate/hecate.go:195 +0x338
For discoverability. Here - https://github.com/topics/hex-editor
I'm trying to run hecate on WSL Ubuntu 18.04.
I wget
the .deb
, then dpkg
it. But when trying to run it, it gives panic: invalid interrupt
Seems to do this for any input file I try.
$ wget "https://github.com/evanmiller/hecate/releases/download/v0.0.1/hecate_0.0.1_amd64.deb"
Will not apply HSTS. The HSTS database must be a regular and non-world-writable file.
ERROR: could not open HSTS store at '/home/emoltob/.wget-hsts'. HSTS will be disabled.
--2019-01-07 10:41:14-- https://github.com/evanmiller/hecate/releases/download/v0.0.1/hecate_0.0.1_amd64.deb
Resolving github.com (github.com)... 192.30.253.112, 192.30.253.113
Connecting to github.com (github.com)|192.30.253.112|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://github-production-release-asset-2e65be.s3.amazonaws.com/34143189/5d16b5c2-1e95-11e6-9ad0-f15943239f8d?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20190107%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190107T104114Z&X-Amz-Expires=300&X-Amz-Signature=df918b2cea87455456054ea7b9bb67240f5632f13d8782a39b2009038d0f3f7b&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dhecate_0.0.1_amd64.deb&response-content-type=application%2Foctet-stream [following]
--2019-01-07 10:41:15-- https://github-production-release-asset-2e65be.s3.amazonaws.com/34143189/5d16b5c2-1e95-11e6-9ad0-f15943239f8d?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20190107%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190107T104114Z&X-Amz-Expires=300&X-Amz-Signature=df918b2cea87455456054ea7b9bb67240f5632f13d8782a39b2009038d0f3f7b&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dhecate_0.0.1_amd64.deb&response-content-type=application%2Foctet-stream
Resolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)... 52.216.105.211
Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|52.216.105.211|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1104634 (1.1M) [application/octet-stream]
Saving to: ‘hecate_0.0.1_amd64.deb’
hecate_0.0.1_amd64.deb 100%[========================================================================================================================================>] 1.05M 1.12MB/s in 0.9s
2019-01-07 10:41:16 (1.12 MB/s) - ‘hecate_0.0.1_amd64.deb’ saved [1104634/1104634]
$ sudo dpkg -i hecate_0.0.1_amd64.deb
Selecting previously unselected package hecate.
(Reading database ... 37577 files and directories currently installed.)
Preparing to unpack hecate_0.0.1_amd64.deb ...
Unpacking hecate (0.0.1) ...
Setting up hecate (0.0.1) ...
$ hecate hecate_0.0.1_amd64.deb
panic: invalid argument
goroutine 1 [running]:
main.main()
/Users/emiller/Code/gocode/src/github.com/evanmiller/hecate/hecate.go:187 +0x3d9
goroutine 5 [syscall]:
os/signal.loop()
/usr/local/go/src/os/signal/signal_unix.go:22 +0x18
created by os/signal.init.1
/usr/local/go/src/os/signal/signal_unix.go:28 +0x37
goroutine 17 [select, locked to thread]:
runtime.gopark(0x5deb50, 0xc820028728, 0x597c78, 0x6, 0x443718, 0x2)
/usr/local/go/src/runtime/proc.go:185 +0x163
runtime.selectgoImpl(0xc820028728, 0x0, 0x18)
/usr/local/go/src/runtime/select.go:392 +0xa64
runtime.selectgo(0xc820028728)
/usr/local/go/src/runtime/select.go:212 +0x12
runtime.ensureSigM.func1()
/usr/local/go/src/runtime/signal1_unix.go:227 +0x353
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1696 +0x1
Really like how hecate is done. But I couldn't find out how to edit the content by hex value instead of by character?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.