Hexit aims to be a simple yet efficient hex editor.
- It allows you to view and/or edit raw bytes in a file.
- The UI is separated into three visual areas: the byte offset on the left, the hexadecimal representation in the center, and the ASCII interpretation on the right.
- Hexit will not load the whole file in memory but it will instead load different 'chunks' of the file on demand. This makes it use as little memory as possible regardless of the actual size of the file.
- You can easily jump into different absolute byte offsets.
- Hexit will attempt to display the actual type of the file and display it on the bottom right of the screen. It does that by trying to match the first few bytes of each file against a database of well known file signatures.
- Hexit can be used as a shell filter.
Although most of the features have corresponding unit tests written for them, the application as a whole is not mature enough. Use it at your own discretion.
- gcc(c++-20 support is needed)
- Make
- CMake(3.23 or greater)
- libncurses-dev
- clone the repo
git clone https://github.com/marprok/hexit.git
- cd into the directory
cd hexit
- Change the default parameters contained in
src/confing.h
in case the default values are not what you needmkdir build && cd build
- make a direcoty named
build
and cd into itmkdir build && cd build
- configure cmake
cmake -DCMAKE_BUILD_TYPE=Release ..
- build the Project
make -j8
-
help:
./hexit -h
-
display the hex dump of a file:
./hexit -f (--file) <file> [options]
-
options:
- Hexadecimal or decimal byte offset to seek during startup:
-o (--offset) <offset>
- Hexadecimal or decimal byte offset to seek during startup:
-
If no file is given via the -f flag, then Hexit will read bytes from standard input until EOF is reached. When displaying the hex dump of standard input, saving will do nothing.
Key | Function |
---|---|
ctrl + s | save the file |
ctrl + x | toggle HEX mode |
ctrl + a | toggle ASCII mode |
ctrl + q | exit the editor |
ctrl + g | go to byte |
arrows keys | move the cursor |
page-up/Page-down | move the page up/down |
Distributed under the MIT License. See LICENSE
for more information.