It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
I have been able to get a hold of the music tracks from WoX, but I was wondering ig anyone had any ideas on how to extract the music for MM3 from the data files? I'm trying to put together a huge "Worlds of Might & Magic" playlist on Grooveshark that has the music from every MM universe game. ^_^
There was a topic about extracting music on the GameFAQs forums. I can't recall which game it was for.
Just MM4/5. The "encryption" used by MM3 isn't fully understood. I don't think anyone has been working on it, unfortunately.
avatar
WizardStan: Just MM4/5. The "encryption" used by MM3 isn't fully understood. I don't think anyone has been working on it, unfortunately.
I would wager it is very similar to (if not the same as) MM4/5 -- the CC file ToC *seems* to be the same: ID (2), Offset (3), Length (2), CheckByte (1). I spot-checked about 5 fileIDs (from 4/5) with no luck. However, I spot-checked both ID's D621 and EE5C (MAZE.CHR and MAZE.PTY) against the save game and they do exist; I haven't verified the accuracy yet...............
avatar
CedricBusch: ...
Hi CedricBusch! Where would I go to learn more about what you're talking about? I used to code for a living, so I might be able to figure something out if I tinker with it a bit.
http://xeen.wikia.com/wiki/Xeen_Wiki (search for 'CC file format')

Xeen data (*.cc) and save (*.sav) files are in the "CC" format. A CC file contains a large number of files (images, sounds, data, etc.) and these files are referenced by an offset found in the Table of Contents at the beginning of the CC file. Not only is the ToC encrypted, the individual files are referenced by a hash of the original file name. Also, the individual files may need to be XOr'd. :-)

I am guessing Isles is same. It seems (early, quick overview) the .sav files use the same structure and hashing algorithm as Xeen -- I am not sure about the .cc file. Either way, the tricky part will be figuring out the original music file names. I am currently brute forcing the XOr value to "decrypt" mm3.cc.

Xeen CC File Information (http://games.playazlounge.net/#CCF) is a decent utility for viewing the ToC of CC files (and it seems to work for MM3). Again, the hashing function is for Xeen, not Isles.

Have fun!
avatar
CedricBusch: ...
Awesome! Thanks so much! I'm back in school and this little project will probably have to wait until after finals next week, so you might solve it before me. But still, it should be fun to get in there and mess around. ^_^
avatar
CedricBusch: I am guessing Isles is same. It seems (early, quick overview) the .sav files use the same structure and hashing algorithm as Xeen -- I am not sure about the .cc file. Either way, the tricky part will be figuring out the original music file names. I am currently brute forcing the XOr value to "decrypt" mm3.cc.
It's not the same. The structure is very similar, as you said, but like I said earlier, the encryption isn't understood. I've already brute forced through every xor value and none of them return anything meaningful.
I've attempted some white box reverse engineering on MM3.EXE, but it's an intentionally obfuscated mess. Unlike MM4/5 where the "file" within the CC can just directly be XORed and dumped, there is some algorithm used in MM3 that I don't understand. The first two bytes of the file pointed to by the offset are not actually part of the file, they are the seed to the algorithm. From there, it becomes a mess of adds, shifts, and XORs. The actual files starts at offset+2.
If you're handy with a debugger/decompiler, I can send you the uncompressed EXE.
avatar
WizardStan: I've already brute forced through every xor value and none of them return anything meaningful.
I've attempted some white box reverse engineering on MM3.EXE, but it's an intentionally obfuscated mess.
Wow, MM3 is ugly. I attempted pattern matching for a number of strings with no luck. Unfortunately, I used assembly once a number of years ago.... for a school assignment.... so I won't be help there.
Is the EXE compressed (if so, how?)? PEiD couldn't read it, neither could Olly; IDA Pro gave me a start, but it seemed to hit a roadblock.
avatar
CedricBusch: Wow, MM3 is ugly. I attempted pattern matching for a number of strings with no luck. Unfortunately, I used assembly once a number of years ago.... for a school assignment.... so I won't be help there.
Is the EXE compressed (if so, how?)? PEiD couldn't read it, neither could Olly; IDA Pro gave me a start, but it seemed to hit a roadblock.
It's a packed EXE so IDA will only be analyzing the unpacker, and probably should have warned you to that effect. Can PEiD even handle compressors that old anyway? It's probably some variant of COMPRESS which uses some form of LZW.

UPC seems to handle it: http://sta.c64.org/dosprg/upc111.zip Download, unzip and run inside dosbox ("upc mm3.exe" from memory) and it'll unpack your file into a file called "cracked.exe".

Note that you probably can't play the game with this since the copy protection bypass loader (mm3.com) that GoG provides probably won't be able to fiddle with the appropriate bytes since they'll be in a different location.

As for the compression within the CC file's records, it's probably LZW again if they used COMPRESS to compress the .exe. The u6decode.zip file here: http://www.ultimaaiera.com/ultima6/ultima-6-encodedecode/ has a small and functional lzw decompresser in C if you want to take a look.
avatar
denormative: UPC seems to handle it: http://sta.c64.org/dosprg/upc111.zip
Thanks!

Music files:
grounds.m, temples.m, honky.m, towninn.m, guild.m, bank.m, venture.m, cyber.m, city.m, eerie.m, caves.m, medieval.m, mm3theme.m, combat.m
To whoever manages to come up with something, a real test of whether it works or not will be text files like corak.bin, quest.bin, and tavern.bin. It should be pretty obvious whether those files come out alright or not.
avatar
CedricBusch: ...
Wow! That's a fair bit of progress. I'm honored that my silly little question prompted it! If I understand what you fellas were saying earlier, the next trick is to figure out how to actually "decrypt" the entire .CC file and not just the ToC. Is that right?
avatar
gammaleak: I have been able to get a hold of the music tracks from WoX, but I was wondering ig anyone had any ideas on how to extract the music for MM3 from the data files?
Do you really have the Darkside of Xeen soundtrack? Can you point me to a place where I could download it or send it to me? I'd greatly appreciate it! I've been looking for it for months.
avatar
RaggieRags: Do you really have the Darkside of Xeen soundtrack? Can you point me to a place where I could download it or send it to me? I'd greatly appreciate it! I've been looking for it for months.
[url=http://xeen.wikia.com/wiki/Talk:M_File_Format]http://xeen.wikia.com/wiki/Talk:M_File_Format[/url]
Post edited May 18, 2011 by CedricBusch