ImHex – A Hex Editor
github.com
github.com
I’m not sure this particular editor could replace HxD for me - I’m not seeing process memory editing in its list of features. I’m glad to see the space is still getting love though.
I also don't know how the situation would be on non-GNU platforms, although I think GDB is a thing on Windows with MinGW?
ImHex – A Hex Editor - https://news.ycombinator.com/item?id=25353965 - Dec 2020 (78 comments)
Defining data format as code is a very nice feature though.
This seems to have some very powerful features, but sadly doesn't support trivial editing stuff. Like when you have a simple text file and need to do some light unicode or other encoding fixups.
Like "delete/remove selection" or "type in ascii replacements for these bytes one after the other".
But I mean it's open source, so if I somehow find the time I might add those.
010 is great but also a bit dated[2] and clunky. I thought numerous times that a modern rewrite could be a nice project to work on. I'm happy that others tackled it! Kudos to the team.
One super cool feature would be if ImHex could read the 010 templates, but I'm not sure if that is legally OK. I'm not even sure if it would be morally OK, because I guess just as much work has gone into them as into the actual editor.
[1] https://www.sweetscape.com/
[2] It is actively maintained but looks old tech.
Interesting; is there some backstory I could read about that? I mean, the "code cleaniness" I bet is subjective, but I somehow thought radare2 was still under development
[1] https://rizin.re/posts/faq/
[2] https://rizin.re/posts/why-meson/
[3] https://rizin.re/posts/introducing-projects/
What do you mean? https://book.rizin.re/ works just fine, checked specifically.
Switching to dark mode (by default it matched the system) made it slightly better just by virtue of having more contrast (and all the setting boxes actually have different coloured backgrounds that means you can tell where one ends and the other begins).
It would be nice to find a good replacement for 010.
document.body.style.zoom = 1 / window.devicePixelRatioBut that’s just an accurate reproduction of how it looks at full size!
Also, you can exit the app without any warning to save your work. I submitted this as a feature request.
If you don't like the default font, it's super easy to change it though. Just go into the settings and under Font select your .ttf Font file
Either way, I think for default the dev should just go with the norm (i.e. what is popular for the majority). Users can always change to bitmap fonts if they want.
I recall this being something you had to pay attention to with imgui/glfw — probably just needs a small tweak.
I get why they might want ImGui to be a self-contained thing without a FreeType dependency, but FreeType should probably still be the default.
Might be helpful to mention system requirements, so people don't waste their time downloading!
That said, it's also probable that you can cut the size significantly by using `strip`; when you essentially statically link all of your dependencies, it turns out that there's quite a bit of low-hanging fruit with regards to eliminating dead code.
EDIT: trying this out, it looks like using `strip` actually corrupts the appimage and makes it unable to run. I guess there's something about the format that doesn't play nice with that, although I'm not sure exactly what.
> 16K stars, 755 forks, 52 open, 354 closed issues
From the linked Patreon page:
> 7 patrons, CA$36/month
> Next goal: CA$76.88 per month - I can pay all my monthly bills
This is why the open-source software is sad. The author will keep burning through his youthful energy in return for some words of appreciation (but much more issues and demands), and will at best quietly give up at some moment, or at worst freak out and have his colors/faker moment [0].
At the same time, products like this create the expectations that some types of software should be free (i.e. subsidized by the author's willingness to not have a life) and make it 10x harder for people like the author to turn their work into a revenue-generating business.
That said, if you have 16K stars on Github, you absolutely do have enough userbase to sell a paid premium edition and eventually grow it into your main job.
As a reverser it does seem amazing!
A hex editor is to binary data what a debugger is to code, a packet analyzer is to networking, and an oscilloscope is to electronics. These tools can be used for reverse engineering, but it is certainly not their only purpose.
Hex editor can also be very useful for programmers when working with binary file formats. Implementing support for image and archive formats. Testing that your code outputs the thing you expected it to output or inspecting a file which your program fails to process because some other program included some unexpected option fields or something like that. It's sometimes even useful even when working with text fails, typically because they included some invisible symbols which you didn't expect or differentiating between similar looking unicode symbols.
vim does support it, but I guess that makes it a hex editor, too.
https://vi.stackexchange.com/questions/343/how-to-edit-binar...
Back in the 90s, when I was working with binary data regularly, I’d have killed for something like ImHex.