explaingit

werwolv/imhex

🔥 Hot53,608C++Audience · developerComplexity · 4/5ActiveLicenseSetup · moderate

TLDR

A hex editor for viewing and editing binary files with a pattern language, disassembler, and visual analysis tools for reverse engineers and security researchers.

Mindmap

mindmap
  root((ImHex))
    What it does
      Hex viewer editor
      Pattern language parser
      Disassembler
      Visual node processor
    Key features
      Color-coded structure labels
      Data type inspector
      File diff view
      Bookmarks
    Use cases
      Malware analysis
      Game modding
      Binary format reverse engineering
      Firmware inspection
    Platforms
      Windows macOS Linux
      Web browser version
    Tech stack
      C++ language
      Dear ImGui GUI

Things people build with this

USE CASE 1

Analyze malware and suspicious executables by examining their raw binary structure and machine code.

USE CASE 2

Reverse engineer game save files or custom binary formats by writing pattern scripts to parse and visualize the data layout.

USE CASE 3

Debug firmware or embedded system binaries by disassembling code and inspecting byte-level data.

USE CASE 4

Compare two binary files side by side to identify differences in compiled programs or data structures.

Tech stack

C++Dear ImGui

Getting it running

Difficulty · moderate Time to first run · 30min

Requires C++ compiler and ImGui dependencies; building from source needed.

Use it freely, but any project you distribute that includes this code must also be GPL-licensed and open source.

In plain English

ImHex is a hex editor, a tool for viewing and editing binary files at the raw byte level, where each byte is shown as its hexadecimal representation. Standard text editors cannot make sense of binary files like compiled programs, firmware, game save files, or encrypted data. ImHex is designed specifically for reverse engineers (people who analyze software to understand how it works), security researchers, and programmers who need to work with binary data directly. What sets ImHex apart from basic hex editors is a rich feature set that turns it into a full binary analysis environment. Its custom pattern language, which resembles C++, lets you write scripts that describe the structure of a binary format and then automatically highlights the corresponding regions in the hex view with color-coded labels. You can write a pattern for a JPEG file header, a save game format, or a custom protocol, and ImHex will parse and visualize the data structure accordingly. The editor also includes a disassembler (which translates raw machine code back into human-readable assembly instructions), a visual node-based data processing tool for transforming bytes through operations like decryption or decompression, bookmarks, a data inspector that interprets selected bytes as many different data types simultaneously, and a diff view for comparing two files side by side. ImHex is available for Windows, macOS, and Linux, and also has a browser-based web version. It features a dark mode by default and supports themes and plugins. You would use ImHex when analyzing malware, reverse engineering a binary format, modding a game, or debugging low-level binary data. The tech stack is C++ using the Dear ImGui immediate-mode GUI library.

Copy-paste prompts

Prompt 1
Show me how to write a pattern script in ImHex to parse a custom binary file format and highlight its structure.
Prompt 2
How do I use ImHex's disassembler to convert raw machine code into readable assembly instructions?
Prompt 3
Walk me through using ImHex's visual node-based processor to decrypt or decompress data in a binary file.
Prompt 4
How can I set up bookmarks and use the data inspector in ImHex to analyze different data types in the same file?
Prompt 5
Show me how to compare two binary files using ImHex's diff view to spot changes.
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.