{"id":18753643,"url":"https://github.com/adzierzanowski/hexane","last_synced_at":"2026-05-04T13:31:48.522Z","repository":{"id":45828343,"uuid":"513999109","full_name":"adzierzanowski/hexane","owner":"adzierzanowski","description":"A HEX editor with some cool features (work in progress)","archived":false,"fork":false,"pushed_at":"2022-07-17T12:17:45.000Z","size":228,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-20T12:53:38.869Z","etag":null,"topics":["editor","hex","hexadecimal","reverse-engineering","terminal","xxd"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adzierzanowski.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-07-14T17:56:21.000Z","updated_at":"2022-07-17T11:52:43.000Z","dependencies_parsed_at":"2022-08-31T03:51:14.593Z","dependency_job_id":null,"html_url":"https://github.com/adzierzanowski/hexane","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/adzierzanowski/hexane","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adzierzanowski%2Fhexane","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adzierzanowski%2Fhexane/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adzierzanowski%2Fhexane/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adzierzanowski%2Fhexane/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adzierzanowski","download_url":"https://codeload.github.com/adzierzanowski/hexane/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adzierzanowski%2Fhexane/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32609430,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-04T10:08:07.713Z","status":"ssl_error","status_checked_at":"2026-05-04T10:08:02.005Z","response_time":58,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["editor","hex","hexadecimal","reverse-engineering","terminal","xxd"],"created_at":"2024-11-07T17:26:30.053Z","updated_at":"2026-05-04T13:31:48.491Z","avatar_url":"https://github.com/adzierzanowski.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hexane\n\nThis is a terminal HEX editor. It'll be fancy (and I have it already written\nin Python with all the fancy stuff and now I'm rewriting it to C).\n\n## Why?\n\nI tried to find a hex editor which would at least display a cursor in the\nASCII representation view but apparently it's too much to ask so I wrote my own.\n\nThis editor might have some bugs and eat up resources when handling large files,\nI don't really know if that's the case. But it's pretty good with sensibly-sized\nportion of data which you're trying to get a grasp of or for a quick edit.\n\n## Features\n\n### Implemented features\n\n* Vi-like keybindings\n* Selection\n  * Some operation on selections like increment, decrement and replace\n* Color-marking the bytes\n  * Color picker\n* Search\n  * Handling multiple search queries at once\n  * Handling queries in different number bases (decimal, hex, octal)\n  * Navigating through search results\n* Comments\n* HEX/DEC modes\n* ASCII View\n* Lines/Columns number settings\n  * Also an autosize mode\n\n### TODO\n\n* Rectangle selection mode\n* Buffer manipulation\n  * Removing bytes\n  * Inserting bytes\n  * Copy/paste\n  * Editing bytes\n  * Big-endian view\n* History\n* Serialization of metadata to save comments and color markings\n* Config file\n\n## Usage\n\n#### Cursor\n\nThe cursor movement is similar to Vi. `h`, `j`, `k`, `l`, `w`, `b`, `[`, `]`,\n`g`, `G`, `0`, `$` let you move around.\n\n#### Search\n\nTo search for bytes, just type `/` (or `:/ `).\nSearch queries are separated by `,`.\nA single query can be multiple bytes (separated by spaces). For example, if you\nwant to search for sequece `5f 5f` and for sequence `de ad be ef`, you type:\n\n```\n:/ 0x5f 0x5f, 0xde 0xad 0xbe 0xef\n```\n\n#### Selection\n\nYou can select bytes with `v` and cursor movement. To apply current selection,\ntype `v` again.\n\nIf you want to replace selected bytes with a value, type:\n\n```\n:r 0x66\n```\n\nTo navigate through the search results, use `n` and `N`.\n\n#### Color marking\n\nPress `F2` to choose a color, press `m` to mark selected bytes or a byte at\ncurrent position if there's no selection at the moment.\n\n#### Comments\n\nTo set a comment under current byte, type\n\n```\n:com Your comment\n```\n\nTo delete it\n\n```\n:comdel\n```\n\n#### Number format\n\nYou can also provide decimal numbers in commands like `128` and octal `010`.\n\n## File formats\n\nThe editor is of course able to store raw bytes but it'll also have another\nformat which will include marked and commented bytes which will be useful\nfor reverse-engineering data.\n\n## Screenshots\n\nThe Python version looks like this:\n![](https://i.imgur.com/QL31HYl.png)\n\n\nand the C version currently looks like this:\n\n![](docs/screen.png)\n\n\n## Dependencies\n\nAside standard POSIX library, none at the moment.\n\n## Building\n\nClone the repository, `cd` into it and type\n\n```bash\n$ make\n```\n\nI hope it works for you.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadzierzanowski%2Fhexane","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadzierzanowski%2Fhexane","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadzierzanowski%2Fhexane/lists"}