/hexabyte

A modern, modular, and robust TUI hex editor.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Hexabyte - Commandline Hex Editor

Version Status Wheel Downloads License Python Implementation Python Version

Lint Test Release Publish

Pre-Commit Ruff

Hexabyte

A modern, robust, and extensible commandline hex editor.

NOTE: To reduce the number of dependencies of the core editor. The builtin plugins have been moved into separate packages. They are hexabyte_extended_info and hexabyte_entropy.

User

Install

~/$ pip install hexabyte
...

Run

~/$ hexabyte --help
usage: hexabyte [-h] [-c CONFIG_FILEPATH] [-s] [files ...]

Hexabyte can operate in three distinct modes. Single file mode opens a single file with a single editor. Split screen mode opens a single file with a split screen view. Diff
mode opens two files side by side.

positional arguments:
  files                 Specify 1 or 2 filenames

options:
  -h, --help            show this help message and exit
  -c CONFIG_FILEPATH, --config CONFIG_FILEPATH
                        Specify config location. Default: ~/.config/hexabyte/config.toml
  -s, --split           Display a single file in two split screen editors.

Help Screen

Help Screen

Command Prompt

hello_world ELF command view

Single File - Split Screen

Single File - Split Screen

Single File - Hexadecimal View Mode

hello_world ELF hex view

UTF8 View Mode

hello_world ELF utf8 view

Binary View Mode

hello_world ELF binary view

Two Files - Diff View Two Files - Diff View

Plugins and Customization

Hexabyte's interface is highly customizable. You can adjust the column size and column count for each view mode.

Config

Hexabyte functionality can be extended through the use of plugins.

Developer

~/$ git clone https://github.com/thetacom/hexabyte
...
~/$ cd hexabyte
hexabyte/$ poetry install
...

Test

hexabyte/$ make test
...