[HN Gopher] ImHex - A Hex Editor
___________________________________________________________________
ImHex - A Hex Editor
Author : liberia
Score : 251 points
Date : 2022-07-30 16:13 UTC (6 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| bogwog wrote:
| ImHex is great, especially the pattern editor. Very useful for
| debugging custom binary formats besides just reverse engineering.
| WerWolv wrote:
| Thanks a lot for the love! If you have any feature requests, face
| any problems or have any questions, please open an issue on my
| GitHub page and I'll make sure to look into it as soon as
| possible. There's also a Discord server linked at the top of the
| Readme
| [deleted]
| xvilka wrote:
| I wish they used Rizin[1] as a library to get the advantage of
| using mature analysis in addition to the simple disassembly, more
| architectures and formats, debugging, and decompilation plugins.
|
| [1] https://github.com/rizinorg/rizin
| mdaniel wrote:
| > Rizin is a fork of the radare2 reverse engineering framework
| with a focus on usability, working features and code
| cleanliness.
|
| 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
| harles wrote:
| Hex editors are a seriously undervalued learning tool. As a kid,
| I loved opening up the game files of stuff I was playing and see
| what I could tweak.
|
| 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.
| ColonelPhantom wrote:
| I just installed ImHex, and I saw an option to attach to a GDB
| server. I assume that implies memory editing capabilities, but
| I haven't tried it yet.
|
| 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?
| truncate wrote:
| So true! That was my introduction to binary format and
| serialization as a kid, probably didn't even knew what these
| words were back then. Or, when something crashed I think there
| used to be button -- "Debug" an it would open up Visual/Windows
| Debugger with assembly filling up the screen.
| misnome wrote:
| As a kid, my eyes were opened to this stuff by wotsit.org -
| when I realised I could start decoding the internals of my
| games!
| Pakdef wrote:
| As a kids I used to edit mIRC's ctcp version reply with an hex
| editor.... Probably 25 years ago
| sedatk wrote:
| As a long time HxD user, I had no idea that it had process
| memory editing capabilities.
| xerxesaa wrote:
| Looks incredible. It's rare to see such a full featured open
| source replacement for an existing tool. Thank you.
| misnome wrote:
| Do all ImGui apps have text rendering this bad? I'm having
| trouble smoothly reading... any of the text, at least on Mac. It
| has a settings box, which allows you to change font size (but
| appears to do nothing), and a scaling option which ... just seems
| to make the artifacts bigger.
|
| 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.
| linker3000 wrote:
| I was going to ask this. As someone with fine-detail vision
| issues, I found the font rendering uncomfortable.
|
| Also, you can exit the app without any warning to save your
| work. I submitted this as a feature request.
| [deleted]
| WerWolv wrote:
| By default it uses a pixel-perfect font (the one that's
| included in ImGui) so anti-aliasing will not do anything but
| make text look blurry.
|
| 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
| pksjoas wrote:
| What do you mean by a pixel-perfect font? A bitmap font?
| Seems a very odd choice for the current era of high
| resolution screens.
| nebulous1 wrote:
| Do you have the same issue with the screenshots?
| dataflow wrote:
| The screenshots are so jarring to read. Zero anti-aliasing?
| blocko wrote:
| Looks maybe like the opposite, there's way too much
| smoothing. I don't mind pixel perfect fonts or even aliased
| text but these just look like an aggressive blur was
| applied to everything
| capableweb wrote:
| If you're referring to the images from the README under the
| title "Screenshots" (currently https://user-
| images.githubusercontent.com/10835354/139717326... and
| https://user-
| images.githubusercontent.com/10835354/139717323...) then
| yeah, that text rendering is pretty bad.
| misnome wrote:
| Yes, the screenshots are excusable initially because they
| just look like the images have just been shrunk.
|
| But that's just an accurate reproduction of how it looks at
| full size!
| thrdbndndn wrote:
| Yeah, and ironically it says "[for] people who value their
| retinas"..
| Comevius wrote:
| The default ImGui rasterizer (imstb_truetype) is rubbish. The
| new rasterizer (imgui_freetype) should be used instead.
|
| https://github.com/ocornut/imgui/tree/master/misc/freetype
| boardwaalk wrote:
| I think there's something off with the render scaling, because
| the pixels are enormous even when I set it to a non-fixed sized
| font (Monaco). I had to set 2x scaling and then it looked
| better but only because the text was enormous.
|
| I recall this being something you had to pay attention to with
| imgui/glfw -- probably just needs a small tweak.
| Bigpet wrote:
| Oh, looks neat. I've been looking for a cross-platform hex editor
| for simple editing (wxmedit kind of sucks on macos and had issues
| for a while now).
|
| 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.
| matrix_overload wrote:
| From Github:
|
| > 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.
|
| [0] https://news.ycombinator.com/item?id=29863672
| [deleted]
| [deleted]
| canistel wrote:
| The AppImage is 79MB. Are Appimages usually this huge, even for
| immediate mode GUI apps?
| painchoc wrote:
| I have no idea how to use ImHex.
| fortyseven wrote:
| This might have been a daily driver if whatever UI library being
| used wasn't so quirky and unfriendly. Oh well. Looks "leet" or
| whatever, which is obviously more important.
| leogout wrote:
| It looks like imgui, a declarative UI library optimized to be
| rendered by the GPU : https://github.com/ocornut/imgui
| kronks wrote:
| Referring to the title: Is a hex editor useful for literally
| anybody else?
|
| As a reverser it does seem amazing!
| jjoonathan wrote:
| How else are you supposed to debug misbehaving byte order
| markers and emojis and other UT[?]F [?]blac[?]k
| [?]m[?]a[?]g[?]i[?]c in your "plain text"?
| 3np wrote:
| Don't forget zero-width whitespace and RTL...
|
| vim does support it, but I guess that makes it a hex editor,
| too.
|
| https://vi.stackexchange.com/questions/343/how-to-edit-
| binar...
| [deleted]
| [deleted]
| TheRealPomax wrote:
| If you're writing tools that generate spec-based binary files,
| you need a debugger that lets you examine generated files at
| the binary level. For instance, I don't think you can do any
| OpenType font tool engineering (as in, working on applications
| that generate fonts) without having a good hex editor to check
| whether the binary internals of your files are structured
| correctly.
| dazzawazza wrote:
| I work in videogames and we often use custom binary file
| formats, a HEX editor is very useful because, as an industry,
| we don't document anything and the code is often a car crash :)
| GuB-42 wrote:
| At work, I sometimes have to encode or decode binary data, to
| which I have full specs, and a hex editor is an extremely
| valuable tool.
|
| 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.
| qorrect wrote:
| What tool do you use now ?
| GuB-42 wrote:
| 010 Editor (commercial). But I may give ImHex a try.
| Karliss wrote:
| What title are you referring to? I am guessing that title got
| edited and initially used partial header from github page "A
| Hex Editor for Reverse Engineers" cutting of second part
| "Programmers and people who value their retinas when working at
| 3 AM".
|
| 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.
| laumars wrote:
| I don't work with binary files much these days but I still use
| hex editors a lot just to debug any weird rendering glitches in
| terminal emulators. The ability to see the exact character
| codes being generated rather than the terminal emulators
| interpretation of them is invaluable. Though for that purpose
| hexdump is usually sufficient.
|
| Back in the 90s, when I was working with binary data regularly,
| I'd have killed for something like ImHex.
| weinzierl wrote:
| This is a potential modern replacement for the 010 editor[1],
| which is kind of the standard hex editor for reverse engineering.
|
| 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.
| bitexploder wrote:
| I like Oketa as well. Oketa, ImHex and HexFiend are all nice
| tools. Some folks swear by the radare suite as well. ImHex has
| the most features for fiddling with data structures and such.
| mkl wrote:
| *Okteta, like "octet" (= byte): https://apps.kde.org/okteta/
| dang wrote:
| Related:
|
| _ImHex - A Hex Editor_ -
| https://news.ycombinator.com/item?id=25353965 - Dec 2020 (78
| comments)
| KingOfCoders wrote:
| Ah my first assembler program was a Z80 hex editor <3
| game-of-throws wrote:
| Made with Dear ImGui. I'd recognize that font/style anywhere.
| qorrect wrote:
| This looks way better than hex-mode.
___________________________________________________________________
(page generated 2022-07-30 23:00 UTC)