ImHex Hex Editor for Reverse Engineers & Programmers
ImHex Hex Editor for Reverse Engineers & Programmers

ImHex: Hex Editor for Reverse Engineers & Programmers

A Hex Editor for Reverse Engineers, Programmers and people who value their retinas when working at 3 AM.

ImHex interface
ImHex interface
Use of ImHex
Use of ImHex

Features

  • Featureful hex view
    • Byte patching
    • Patch management
    • Copy bytes as feature
      • Bytes
      • Hex string
      • C, C++, C#, Rust, Python, Java & JavaScript array
      • ASCII-Art hex view
      • HTML self-contained div
    • String and hex search
    • Colorful highlighting
    • Goto from start, end and current cursor position
  • Custom C++-like pattern language for parsing highlighting a file’s content
    • Automatic loading based on MIME type
    • arrays, pointers, structs, unions, enums, bitfields, namespaces, little and big endian support, conditionals and much more!
    • Useful error messages, syntax highlighting and error marking
  • Doesn’t burn out your retinas when used in late-night sessions
    • Dark mode by default, but a light mode is available as well
  • Data importing
    • Base64 files
    • IPS and IPS32 patches
  • Data exporting
    • IPS and IPS32 patches
  • Data inspector allowing interpretation of data as many different types (little and big endian)
  • Huge file support with fast and efficient loading
  • String search
    • Copying of strings
    • Copying of demangled strings
  • File hashing support
    • CRC16 and CRC32 with custom initial values and polynomials
    • MD4, MD5
    • SHA-1, SHA-224, SHA-256, SHA-384, SHA-512
  • Disassembler supporting many architectures (frontend for Capstone)
    • ARM32 (ARM, Thumb, Cortex-M, AArch32)
    • ARM64
    • MIPS (MIPS32, MIPS64, MIPS32R6, Micro)
    • x86 (16-bit, 32-bit, 64-bit)
    • PowerPC (32-bit, 64-bit)
    • SPARC
    • IBM SystemZ
    • xCORE
    • M68K
    • TMS320C64X
    • M680X
    • Ethereum
    • RISC-V
    • WebAssembly
    • MOS565XX
    • Berkeley Packet Filter
  • Bookmarks
    • Region highlighting
    • Comments
  • Data Analyzer
    • File magic-based file parser and MIME type database
    • Byte distribution graph
    • Entropy graph
    • Highest and average entropy
    • Encrypted / Compressed file detection
  • Built-in Content Store
    • Download all files found in the database directly from within ImHex
  • Yara Rules support
    • Quickly scan a file for vulnerabilities with official yara rules
  • Helpful tools
    • Itanium and MSVC demangler
    • ASCII table
    • Regex replacer
    • Mathematical expression evaluator (Calculator)
    • Hexadecimal Color picker
    • Base converter
    • UNIX Permissions calculator
    • Anonfiles File upload tool
    • Wikipedia term definition finder
    • File utilities
      • File splitter
      • File combiner
      • File shredder

Pattern Language

The custom C-like Pattern Language developed and used by ImHex is easy to read, understand and learn. A guide with all features of the language can be found on the docs page.

Database

For format patterns, libraries, magic and constant files, check out the ImHex-Patterns repository.

Feel free to PR your own files there as well!

Requirements

To use ImHex, the following minimal system requirements need to be met:

  • OS: Windows 10 or higher, macOS 11 (Big Sur) or higher, “Modern” Linux (Ubuntu 22.04+, Fedora and Arch Linux are officially supported)
  • CPU: x86_64 (64 Bit)
  • GPU: OpenGL 3.0 or higher (preferable a dedicated GPU and not Intel HD Graphics)
  • RAM: 512MB, more may be required for more complicated analysis
  • Storage: 100MB

Nightly builds

Nightlies are available via GitHub Actions here.

Compiling

To compile ImHex on any platform, GCC is required with a version that supports C++23 or higher. On macOS, Clang is also required to compile some ObjC code.

Many dependencies are bundled into the repository using submodules so make sure to clone it using the --recurse-submodules option. All dependencies that aren’t bundled, can be installed using the dependency installer scripts found in the /dist folder.

Dark Mode

ImHex (this link opens in a new window) by WerWolv (this link opens in a new window)

🔍 A Hex Editor for Reverse Engineers, Programmers and people who value their retinas when working at 3 AM.