C++ A Hex Editor for Reverse Engineers, Programmers and people that value their eye sight when working at 3 AM.
🔍 ImHex
A Hex Editor for Reverse Engineers, Programmers and people that value their eye sight when working at 3 AM.
Supporting
If you like my work, please consider supporting me on GitHub Sponsors, Patreon or PayPal. Thanks a lot!
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, using declarations, little and big endian support
Useful error messages, syntax highlighting and error marking
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 different architectures
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
Bookmarks
Region highlighting
Comments
Data Analyzer
File magic-based file parser and MIME type database
Byte distribution graph
Entropy graph
Highest and avarage entropy
Encrypted / Compressed file detection
Helpful tools
Itanium and MSVC demangler
ASCII table
Regex replacer
Mathematical expression evaluator (Calculator)
Hexadecimal Color picker
Built-in cheat sheet for pattern language and Math evaluator
Doesn't burn out your retinas when used in late-night sessions
Screenshots
Additional Files
For format patterns, includable libraries and magic files, check out the ImHex-Patterns repository. Feel free to PR your own files there as well!
Nightly builds
See latest nightly builds on the artifacts result of the Build action here.
NOTE: We currently only provide nightly builds for macOS (x86_64)
Compiling
You need a C++20 compatible compiler such as GCC 10.2.0 to compile ImHex. Moreover, the following dependencies are needed for compiling ImHex:
GLFW3
libmagic, libgnurx, libtre, libintl, libiconv
libcrypto
capstone
nlohmann json
Python3
freetype2
Brew (macOS only)
Windows and Linux
Find all-in-one dependency installation scripts for Arch Linux, Fedora, Debian/Ubuntu and/or MSYS2 in dist.
After all the dependencies are installed, run the following commands to build ImHex:
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j
To create a standalone zipfile on Windows, get the Python standard library (e.g. from https://github.com/python/cpython/tree/master/Lib) and place the files and folders in lib/python3.8 next to your built executable. Don't forget to also copy the libpython3.8.dll and libwinpthread-1.dll from your mingw setup next to the executable.
On both Windows and Linux:
Copy the files from python_libs in the lib folder next to your built executable.
Place your magic databases in the magic folder next to your built executable
Place your patterns in the pattern folder next to your built executable
Place your include pattern files in the include folder next to your built executable
macOS
To build ImHex on macOS, run the following commands: