A Hex Editor for Reverse Engineers, Programmers and people who value their retinas when working at 3 AM.
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.
- Windows • x86_64
- MacOS • x86_64
- Linux • x86_64
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.
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.