Romhacking.net

Romhacking => Newcomer's Board => Topic started by: tryphon on May 03, 2013, 03:33:20 pm

Title: Which Hex Editor ?
Post by: tryphon on May 03, 2013, 03:33:20 pm
I know it must be a recurring question, but I haven't found a recent thread on the subject.

For now, I use MadEdit and it lacks a 'compare buffer' feature (it's a good editor though).

I'd like to find something :
- free
- able to handle quickly (navigating, searching) quite big files (32 Mb)
- able to compare 2 buffers (with a split window)
- if possible, able to handle custom encodings
- if possible, with MIPS disassembling features

Do you know something like that?
Title: Re: Which Hex Editor ?
Post by: Nightcrawler on May 03, 2013, 05:51:04 pm
That's a tall order. I'm not sure you'll find any single free hex editor that can do all that. I don't know of any. It's likely you'll need more than one utility. hxD (http://mh-nexus.de/en/hxd/) is my favorite fast, freeware general purpose hex editor and has done nearly everything I've needed it to do in years of ROM hacking. It's worth taking a look at, but unfortunately it will not do all that you ask.
Title: Re: Which Hex Editor ?
Post by: FAST6191 on May 03, 2013, 07:18:03 pm
32 megs is a big file now? I mean some might not have undo buffers that large but most will only start to choke when the operating system does.

Anyway I tried out a whole bunch of hex editors as part of my GBA and DS docs. Assembly wise you will be lucky to get more than basic X86, mac style powerPC and maybe 8080/Z80 unless you go in for a ROM hacking based hex editor in which case you might get SNES or ARM7TDMI and ARM9. Some also include Java support but I am not sure I want to call that disassembly at this point. MIPS wise you are probably looking at purchasing a copy of IDA (though I can not say I have seen what goes for MIPS on the free one lately) if you need that sort of thing.
Custom encodings to what level? I have yet to see a general hex editor (paid or otherwise) that supports ROM hacking grade custom encodings. Single byte to single UTF8 character sure (and you may not have a nice interface to add a lot in) but multibyte or multicharacter is a struggle and a proper decoding if it has something like an encoding change flag is right out. Though it is also a problem on ROM hacking editors if you have two characters decoding to the same letter and need to change it then give up now or learn the encodings to the point you can decode them in your head.
On the flip side though I love all the ROM hacking hex editors in their own way they are not about to be my general use hex editors by any stretch (sketchy undo, a general lack of functions and not always the most stable).


HxD ( http://mh-nexus.de/en/hxd/ ) is my "I am sitting in a client's place and of course windows does not even have a basic hex editor built in" choice of hex editor.
It has a truly basic compare function (more advanced ones will attempt to determine where the file picks up again and can do it on sections at a time*) but as long as you are not comparing cross region, 1.0 to 1.1 versions or games with a filesystem and do not want a detailed analysis you should be good.

*copy and paste in a new file being the obvious solution to this issue.

Freeware wise of all the ones I tested it comes down to three options (plus a copy of HxD just because)

XVI32
http://www.chmaas.handshake.de/delphi/freeware/xvi32/xvi32.htm
The old classic but it has a serious scripting engine that punches above even the likes of Hex Workshop and 010 editor (the two best paid editors useful for ROM hacking conventional consoles- xways winhex is great if you are recovering hard drives at NSA/GCHQ level but not so much for ROM hacking uses). Also has a basic encoding converter, once a file is open click search and then "character conversion". The scripting engine does seem to pull focus from the GUI so you may not have the best time if you just want to invert your current selection or something.

Hexplorer
http://sourceforge.net/projects/hexplorer/
It looks horrible when you first boot it but take 30 seconds to configure it and it sits as my general use editor now (well when I do not have hex workshop it does). Sadly it does not even have a basic file compare or the ability to open two files at once so it might not be of much use to you.

Tiny Hexer
http://www.softpedia.com/get/Others/Miscellaneous/tiny-hexer.shtml (if you are having trouble hit me up and I will sort various mirrors out).
Despite being abandoned years ago it could still give many of the commercial ones (certainly other than the three mentioned thus far it beats all the ones I tested).
Has compare functions almost up there with hex workshop's, has some scripting and supports custom encoding (read the help but generally click "view -> character translation" and make it custom with "options -> plugin settings -> custom character translation table"

Combing the four I find just about equals the commercial editors save for XVI32's scripting which is really nice.
Title: Re: Which Hex Editor ?
Post by: Jeville on May 03, 2013, 08:37:43 pm
I like HxD and WindHex.
Title: Re: Which Hex Editor ?
Post by: tryphon on May 04, 2013, 03:48:42 pm
Thanks to all, and especially to FAST6191 for his detailled answer. HxD is my new friend, but I'll test some others too :)
Title: Re: Which Hex Editor ?
Post by: puzzledude on May 05, 2013, 11:23:30 am
HxD is also my favourite one and freeware. So stick to that. But it lacks Relative search. For this feature I use Windhex. For more advance features (probably the best hex editor regarding the number of things it can do) is the HexEdit and HexEdit Pro (not freeware). Regarding the custom encoding and disassembly - you might want to use some other tools here.
Title: Re: Which Hex Editor ?
Post by: Dwedit on May 05, 2013, 02:31:36 pm
I love HXD, especially for the "Open Disk" and "Open Process Memory" commands.  Need to edit the partition table or boot sector of a hard disk by hand?  Need to find stuff in process RAM?  HXD is your buddy for that.
I also make heavy use of the Compare Files feature, which works very well.

If only it supported encoded text, I won't need MadEdit as well.  MadEdit has really good support for Japanese text and Unicode text, but is otherwise awkward to use.
Title: Re: Which Hex Editor ?
Post by: Pennywise on May 05, 2013, 06:20:12 pm
I've always used Windhex as it's met all my basic romhacking needs from the beginning. Many people have tried and some are still trying to make the perfect hex editor for romhacking, but so far no one has succeeded.
Title: Re: Which Hex Editor ?
Post by: henke37 on May 06, 2013, 02:06:58 am
I use XVI32 because of the very handy data inspector window. It is quite useful when trying to figure out file formats.
Title: Re: Which Hex Editor ?
Post by: Category on May 15, 2013, 12:47:54 pm
I have been using Bless (http://home.gna.org/bless/) on Linux - has done a mighty job so far. Tabbed files is handy for sure.