Hey Guys, Is there anyone who could point me to some downloadable hex compare software that will allow me to fully contrast my dumped protos roms with the final release versions? I have software that allows me to open the roms and observe the coding, but it's obviously way too big to make large-scale comparisons. Please keep in mind that I have Windows Death (Windows 8), so there may be limitations... Thanks! Sorry to update this so quickly...but I actually found that the program HxD works well to open up a couple of files one on top of the other, but I'm still trying to figure out how to get some actual analysis out of this program...Or is there no other way to find the number of differences than just going through them one by one?
On linux (or cygwin on Windows), this would print the differences as OFFSET, FILE1_value, FILE2_value, with offsets and values in hex. Code: cmp -l file1.bin file2.bin | gawk '{printf "%08X %02X %02X\n", $1-1, strtonum(0$2), strtonum(0$3)}' You can find guides on how to install cygwin online. I also think the "fc" command on Windows has a similar output, but it's an old and fuzzy memory from a long-gone era when I used Windows.
Thanks! I actually ended up finding a program, wxHexEditor, that worked pretty well for me and has a great list/display of all the differences. It's been incredibly helpful for me, certainly easier than playing through long games and looking for everything, especially those with lots of text. I actually found a program that navigates a bit better for me on Windows 8. For whatever reason HdX wasn't working well for me on this shitty OS. The F6 function wasn't working at all.
If you mean "text" as in "readable text", by contrast to hexadecimal data (e.g. text files in the proto filesystem), then MELD is a wonderful visual program for comparing files and combining them: http://meldmerge.org/
Thanks so much! I've downloaded the program, but am having some issues. Seems like it's not working with the bin files? I'm not positive, but I believe "readable text" is what I was referring to. Inside my rom files there is the hex text on the left, then a column on the right that seems to have a mix of hex, but also some readable text. It's where, for example, the title screen info appears. Or any game dialogue, credits, etc. Basically, I'm looking to see if there are any readable text differences between protos I have and the final versions. I've been doing it manually/visually the past few days. My Crystalis proto appears to have a few sections of significant text differences, for example. It does take some time to spot the differences in standard hexcompare.
Meld is good at comparing files that are just made of text and only text, like scripts or source code, XML, databases, etc. If you just wanna extract the readable text from a compiled executable, you either have to figure out how it stores its data (reverse engineer it) or use some kind of regular expressions to retrieve only readable (pronounceable?) strings from the raw data, but even them you'd have lots of garbage. Using the programs to compare files in hexadecimal, does the hex part (unreadable) differs a lot from each file or is it mainly the text part that's different? PS, any good hex editor should allow you to see the code you're looking at on ASCII as well as in hex, so you can visually spot texts fragments yourself.
If you want to pull just text from a bin file (or anything else) use strings on linux, or the strings for windows by sysinternals
+1 for Beyond Compare (there's a trial available iirc), even though personally I've switched away from it to meld (due to reasons not related to either programs capabilities). Dunno how they handle hex compares, but you can always shove things through 'hexdump' first and compare the output.