[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)