Imhex: A hex editor for reverse engineers

Reverse engineering culture and legality

  • Several comments celebrate reverse engineering (RE) for learning, malware analysis, game modding, and file‑format exploration.
  • Some argue you can safely RE software you own, especially in parts of Europe where this is reportedly legal for compatibility and integrations. Others ask for concrete legal references, which are not provided.
  • A few suggest doing “borderline” RE privately (no publication, pseudonyms, DMCA‑resistant communities).
  • There’s nostalgia for hex‑editing save files and binaries to patch games.

ImHex features and strengths

  • Highly praised for:
    • File templates/pattern language that auto‑parses structures and highlights fields.
    • Simultaneous interpretation of selected bytes as many data types.
    • Good performance on large files.
  • Pattern language described as Rust‑like, powerful, and fun for describing complex binary formats.
  • Supports extra encodings via external pattern files; CP437 not built‑in but considered easy to add.
  • Web version exists, and software‑rendered builds are available for systems without GPU OpenGL.

Critiques and usability issues

  • Some find it overkill for simple tasks; described as “cannon for a housefly.”
  • Dear ImGui UI criticized for poor OS integration, tiny default scaling on 4K Windows, aliased fonts, and occasional bugs.
  • Installation friction noted: confusing download path on GitHub, Windows SmartScreen warnings, Wayland crashes for some, broken AUR packages and AppImage config saving (later fixed).
  • Others report it works fine on their setups.

Comparisons to other hex editors

  • 010 Editor: widely admired, strong template ecosystem, but commercial and relatively expensive; ImHex viewed as a capable FOSS alternative.
  • Hex Fiend (macOS): praised for simplicity and extreme speed with huge files; now also supports data structures.
  • HxD (Windows): frequently cited as best “simple” hex editor, especially for huge files and RAM/devices. Some run it under Wine on Linux.
  • Other tools mentioned: Hiew, MadEdit, rehex, Hachoir, busybox hexedit, toybox hexedit.

UI, rendering, and GPU discussion

  • Question raised why a hex editor needs OpenGL.
  • Responses: ImHex uses Dear ImGui with an OpenGL backend; modern GUIs generally rely on GPU for high‑resolution, smooth rendering.
  • Counterpoint: terminal hex editors work fine without GPUs; debate ensues over what counts as a “GPU” and how text modes are actually rendered.

DSLs and binary format description

  • ImHex’s pattern system compared to Wireshark dissectors, Kaitai Struct, 010 templates, and others.
  • Multiple commenters note there are many similar DSLs, each with slightly different goals (streaming, pointers/offsets, declarative vs imperative), making a universal standard difficult.
  • One commenter mentions building their own DSL/tooling in this space, underscoring how common this idea is.