8 ms·
ImHex – A Hex Editor
- Normille 4y agoOSX >10,15 Might be helpful to mention system requirements, so people don't waste their time downloading!
- kronks 4y agoReferring to the title: Is a hex editor useful for literally anybody else? As a reverser it does seem amazing!
- dazzawazza 4y agoI 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 4y agoAt 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.
- Karliss 4y agoWhat 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.
- jjoonathan 4y agoHow else are you supposed to debug misbehaving byte order markers and emojis and other U̷̼͌T̷͔̑F̷̤̂ ̴̯͗b̶̤̋l̵̜̈́a̸̭̚c̵͕̊k̶̦̅ ̶͓͆m̸͙̎a̴͖̿g̴̠͝i̸͛ͅc̸̡͌ in your "plain text"?
- deleted 4y ago[deleted]
- 3np 4y agoDon'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-binary-files-with-vim https://vi.stackexchange.com/questions/343/how-to-edit-binar...
- TheRealPomax 4y agoIf 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.
- laumars 4y agoI 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.
- deleted 4y ago[deleted]
- dang 4y agoRelated: ImHex – A Hex Editor - https://news.ycombinator.com/item?id=25353965 https://news.ycombinator.com/item?id=25353965 - Dec 2020 (78 comments)
- game-of-throws 4y agoMade with Dear ImGui. I'd recognize that font/style anywhere.
- nighthawk454 4y agoProbably where the 'Im' comes from!
- bogwog 4y agoImHex is great, especially the pattern editor. Very useful for debugging custom binary formats besides just reverse engineering.
- deleted 4y ago[deleted]
- weinzierl 4y agoThis 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/ https://www.sweetscape.com/ [2] It is actively maintained but looks old tech.
- bitexploder 4y agoI 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 4y ago*Okteta, like "octet" (= byte): https://apps.kde.org/okteta/ https://apps.kde.org/okteta/
- bitexploder 4y agoYeah, sorry, typo, heh. I even checked before posting.
- KingOfCoders 4y agoAh my first assembler program was a Z80 hex editor <3
- djmips 4y agoMine first big project was also a hex editor I called Super Zap. I think Zap was already an existing hex editor. It's main use was hex editing disk sectors on the Apple II. After I finished it, I used it all the time. I still have the source code and executables!
- KingOfCoders 4y ago<3
- qorrect 4y agoThis looks way better than hex-mode.
- xerxesaa 4y agoLooks incredible. It's rare to see such a full featured open source replacement for an existing tool. Thank you.
- misnome 4y agoDo 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.
- nebulous1 4y agoDo you have the same issue with the screenshots?
- dataflow 4y agoThe screenshots are so jarring to read. Zero anti-aliasing?
- blocko 4y agoLooks 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
- dataflow 4y agoIf you're seeing it blurry, the problem is likely your browser scaling it. Try downloading the photo and viewing it in a viewer with a 1:1 pixel ratio, like MS Paint. Alternatively, if you're on Chrome, running this in the dev console might scale it back for you: document.body.style.zoom = 1 / window.devicePixelRatio
- capableweb 4y agoIf you're referring to the images from the README under the title "Screenshots" (currently https://user-images.githubusercontent.com/10835354/139717326-8044769d-527b-4d88-8adf-2d4ecafdca1f.png https://user-images.githubusercontent.com/10835354/139717326... and https://user-images.githubusercontent.com/10835354/139717323-1f8c9d52-f7eb-4f43-9f11-097ac728ed6c.png https://user-images.githubusercontent.com/10835354/139717323...) then yeah, that text rendering is pretty bad.
- canistel 4y agoThe AppImage is 79MB. Are Appimages usually this huge, even for immediate mode GUI apps?
- saghm 4y agoI think so; they're basically just some custom functionality around a filesystem image with all of the shared library dependencies and assets included, along with some wrapper functionality. Running appimages with `--appimage-help` shows what some of the available options are, including `--appimage-extract` to get all of the files installed. 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.
- xvilka 4y agoI 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 https://github.com/rizinorg/rizin
- mdaniel 4y ago> 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
- xvilka 4y agoWe have a FAQ[1] with this covered. Few examples of concrete steps are in the blog: changing the buildsystem and dependency handling [2], projects saving and loading [3], commands parsing [4], new intermediate language [5]. We also switched to using IDA's FLIRT signatures and added their generation. Types parsing and model was rewritten from scratch as well. [1] https://rizin.re/posts/faq/ https://rizin.re/posts/faq/ [2] https://rizin.re/posts/why-meson/ https://rizin.re/posts/why-meson/ [3] https://rizin.re/posts/introducing-projects/ https://rizin.re/posts/introducing-projects/ [4] https://rizin.re/posts/rzshell/ https://rizin.re/posts/rzshell/ [5] https://github.com/rizinorg/rizin/blob/dev/doc/rzil.md https://github.com/rizinorg/rizin/blob/dev/doc/rzil.md
- kanwisher 4y agoSeems the radare2 GitHub readme and website is so much clearer on what’s going on, you don’t even have a screenshot in your repo. For someone unfamiliar I don’t think I would chose your fork. Perhaps update the readme and site to have some images of what the product does. Also your “book” seems completely empty, better to not even link to it
- xvilka 4y ago> Also your “book” seems completely empty, better to not even link to it What do you mean? https://book.rizin.re/ https://book.rizin.re/ works just fine, checked specifically.
- painchoc 4y agoI have no idea how to use ImHex.
- WerWolv 4y agoThanks 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
- harles 4y agoHex 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.
- truncate 4y agoSo 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 4y agoAs a kid, my eyes were opened to this stuff by wotsit.org - when I realised I could start decoding the internals of my games!
- sedatk 4y agoAs a long time HxD user, I had no idea that it had process memory editing capabilities.
- ColonelPhantom 4y agoI 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?
- adonese 4y ago>although I think GDB is a thing on Windows with MinGW and wsl
- Pakdef 4y agoAs a kids I used to edit mIRC's ctcp version reply with an hex editor.... Probably 25 years ago
- Bigpet 4y agoOh, 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.
- fortyseven 4y agoThis 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 4y agoIt looks like imgui, a declarative UI library optimized to be rendered by the GPU : https://github.com/ocornut/imgui https://github.com/ocornut/imgui
- matrix_overload 4y agoFrom 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 https://news.ycombinator.com/item?id=29863672
- deleted 4y ago[deleted]
- deleted 4y ago[deleted]
- nyanpasu64 4y agoOn Arch Linux KDE X11 with 100% display scaling and 120 font DPI, whenever I pop the hex editor view out of the main window, it's missing a title bar by default, until I resize the popped-out view to around 2000 pixels tall.
- rootw0rm 4y agoNice. The one simple, but incredibly useful feature I personally can't live without in hex editors is wildcard search like the one in 010 Editor. For instance, being able to search CB ?? FF and showing all matches
- irsagent 4y agoCould you consider this a competitor to Ida, and alike applications?
- deleted 4y ago[deleted]
- smusamashah 4y agoI used it for some work recently. First it's a bit sluggish, may be it's the way UI is built. Secondly, earching in the binary is very basic atm. https://hexed.it https://hexed.it can search for a given value in lot more ways and also has some other features. Defining data format as code is a very nice feature though.
- oreally 4y agoDid imgui have a graph editor or that implemented within imhex itself?
- Deukhoofd 4y agoImHex appears to use imnodes https://github.com/Nelarius/imnodes https://github.com/Nelarius/imnodes
- butz 4y agoA very modest title for what looks like to be much move powerful than your average hex editor.