June 29th, 2024

A Hex Editor for Reverse Engineers

ImHex is a versatile Hex Editor catering to Reverse Engineers and Programmers. It offers byte patching, search functions, theming, data interpretation tools, and more. The GitHub repository provides additional information.

Read original articleLink Icon
A Hex Editor for Reverse Engineers

ImHex is a Hex Editor designed for Reverse Engineers, Programmers, and those who work late nights. It offers features like byte patching, undo/redo, byte copying options, search functionalities, colorful highlighting, data display in various formats, ASCII decoding, theming support, data importing/exporting, data interpretation tools, and more. The editor includes a node-based data pre-processor, diffing support, integrated disassembler, bookmarks, data analysis tools, YARA Rule support, and utilities like demanglers and calculators. It also features a content updater, customizable layouts, extensive documentation, and a Pattern Language for defining structures. ImHex's GitHub repository provides further details and access to the tool for interested users.

Link Icon 28 comments
By @dagmx - 5 months
ImHex has so far been the best hex editor I’ve used for a few reasons. Some of these exist in other editors but rarely all together.

1. File templates mean that it auto highlights sections of known file types.

2. It shows how selected bytes may be interpreted as pretty much every common data type that I would want and does so simultaneously.

3. It’s significantly faster than other editors for me when I use large files

On the downside, the imgui ui gets buggy sometimes but it’s replaced my use of other viewers like HexFiend, hexa etc…

By @ykonstant - 5 months
Does this editor have a way to display the ASCII bytes in CP437 glyphs? I grew up reading binary files in DOS that way and I can read the glyphs much faster than the corresponding hex values; in contrast, using dots for the non-printable characters doesn't really tell me much.
By @nneonneo - 5 months
I tried ImHex…found it way too complex for most of what I wanted to do. I’m still a huge fan of Hex Fiend on macOS - simple, fast, does what I want. I still haven’t found the perfect “simple” hex editor on Windows.
By @noname120 - 5 months
I will stick to 010 Editor for now[1], it's the most amazing hex editor I've tried in my life. I'm not fond at all of the GUI framework (Dear ImGui) that this new projects uses. It's meant for embedded systems with tiny screens and no window manager, not full-fledged desktop environments where the small elements and the complete lack of UI integration makes for a very awkward experience.

[1] https://www.sweetscape.com/010editor/

By @hackyhacky - 5 months
> ImHex requires a GPU with OpenGL 3.0 support in general.

Why does a hex editor require OpenGL? (and therefore a GPU?)

Is there a good reason why it needs OpenGL or is it just for l33t-ness?

By @mahoro - 5 months
This is an absolutely great project. I had a lot of fun tinkering with the ROM of my Philips smart clock.

It has a built-in DSL that looks like Rust (without memory management, though – so it's very lightweight), and with that, it's possible to visualize and extract structural data from binary streams. That's really fun and cool.

It also has a visual editor to make simple calculations with no code. It didn't feel polished at the time I tried it. Strangely, writing code in DSL was more intuitive and easier for me.

By @dang - 5 months
Related:

ImHex – A Hex Editor - https://news.ycombinator.com/item?id=32287902 - July 2022 (70 comments)

ImHex – A Hex Editor - https://news.ycombinator.com/item?id=25353965 - Dec 2020 (78 comments)

By @hnthrowaway0328 - 5 months
This looks pretty neat. Would it be a good idea to develop a hex editor as a project? It doesn't look too hard for a simple one, but if one wants there is a lot of room for practice, like parsing all fileformats, from executionable image to doom wads too some proprietary file format, and I'm there is a lot room for tools that help RE too.
By @0xDEADFED5 - 5 months
Looks good! I usually stick to 010 Editor for it's wildcard search, but ImHex does that and more, I'm sold. Will be testing it out a bit more
By @z3phyr - 5 months
I really like this area of computer culture. RE, writing kernel modules, figuring out how stuff works and making stuff do what it was not designed to do aspects. However, legal avenues to do so are far in between and it requires a huge amount of time and help from peers.
By @viraptor - 5 months
This is an amazing app. I had some data to reverse engineer just a few days ago, happened to try imhex and within a couple hours I had a description with some slightly complex data structures. The format language is quite easy to learn if you program in anything and it supports lots of weird cases. I just wish it had some more date/time formats built-in, but otherwise no complaints.
By @0xFEE1DEAD - 5 months
This seems interesting and is coincidentally exactly what I need right now. My trusty file, strings, hexdump and xxd all failed me. I was going to use ghidra, but it's quite the beast and I haven't had any time to learn it yet. Gonna give this a try tonight.
By @j16sdiz - 5 months
> people who value their retinas when working at 3 AM.

You just need a well lit room to use light mode.

By @kul_ - 5 months
Reminds of the old days, when reverse engineering game binaries were a thing. Finding hex strings, no-op'ing if conditions, adding jmp instructions. Many heroes forgotten with time as more and more of software onboarded the cloud offerings. I wonder how much of it is still relevant and in what fields?
By @kamov - 5 months
Sadly this program seems to segfault on Wayland.
By @acureau - 5 months
ImHex has been my primary hex editor for around a year and a half, nothing bad to say about it. By far the most advanced open-source hex editor. Kind of renders 010 Editor obsolete. The dev is exceptionally active as well. I was asking about a bug in his discord once and he patched it as we spoke.
By @ykonstant - 5 months
Whelp, I tried my best to install imhex into my arch system with no success; the AUR packages fail to build and the -bin crashes with a glfw error. The AppImage runs but doesn't save settings after exit. This sucks, because it seems like a very nice project.
By @carrja99 - 5 months
Gave me a flashback to my middle school days when I used a hex editor to modify my saved game files.
By @Dwedit - 5 months
I still use HXD for most cases, but whenever I need to work with encoded text, I use a fork of MadEdit instead. MadEdit has no problem with multibyte characters, whether it's UTF-8, UTF-16, or Shift-JIS.
By @jonhohle - 5 months
This looks awesome. I’m spending the majority of my time reversing an old game and mostly still use hexdump.
By @denkmoon - 5 months
The pattern language is sick, it has really helped my learning. I love this program.
By @drzzhan - 5 months
I will just stick with 010 Hex editor for now. Still I will keep an eye on this.
By @aquova - 5 months
Not to be confused with the Reverse Engineer's Hex Editor, rehex

https://github.com/solemnwarning/rehex

By @rareitem - 5 months
I love the kawai logo
By @_xerces_ - 5 months
It is hard to find the link for Windows download, most people (especially us dumb Windows users) want to find a link and download, not scroll a bunch then go to another page then scroll some more and make a decision about which one of 20 links they need. It is not that hard, especially for most people on HN but it does add friction to people trying your software. This is a very common thing with other projects so not just picking on this one.

Finally, when it does load on my Windows machine (using MSI installer and after convincing Microsoft that it is safe to run and bypassing their warning) it loads up super tiny on my 4k laptop screen and is unusable. I suppose I could mess about with the compatibility and scaling settings but I kind of lost interest after all of the above.

I tell you all this because obviously a lot of work went into this tool and from the screenshots it looks beautiful and useful, but is let down by the process involved to get it to run, at least on my machine.

For now, I will keep running HxD.

By @surfingdino - 5 months
Great project, shame the author did not google the username.