Hello everybody! Here's an unusual task to crack. The Microsoft Game "Deadly Tide" from 1996 is a rail shooter. All levels are packed in *.l96 files which contain all files from the level. What I'm after is the music which I think is quite nice in an oldschool kind of sense. If you import a plain L96 file as 22kHz 8bit mono PCM you can see that the level music is implemented somewhere in-between the rest of the files. It seems to consist of blocks of 0x4000 bytes. I know that there's a soundtrack out there but I'd like to have the stream from the original files to compare them to the soundtrack. Now, I don't know how complicated it is to reverse this format - you tell me. Here are some samples: http://*USE_ANOTHER_FILEHOSTING*/cdc2d8e ... samples.7z Thanks for your consideration.
Last edited by AlphaTwentyThree on Sat Apr 04, 2015 12:44 pm, edited 1 time in total.
goto 0x40 get OFFSET long get BNAME basename get FSIZE asize do goto OFFSET get ID1 long get ID2 long get SIZE long savepos OFFSET string NAME p= "%s_%s_%s" BNAME ID2 ID1 log NAME OFFSET SIZE math OFFSET += SIZE while OFFSET < FSIZE
The problem with this is that sometimes ID2 holds the SIZE - 4 but I can't figure out how this is determined. In other times, the start offset is different. I suspect the format to be not extremely complicated to crack but I have too little experience. So... thanks for any help - there are already two games that use this format!
goto 0x40 get OFFSET long get BNAME basename get FSIZE asize for i = 1 goto OFFSET get ID1 long if ID1 == 0x826 get ID2 long elif ID1 == 0x829 else print "unknown ID %ID1%. Aborting." cleanexit endif get SIZE long savepos OFFSET string NAME p= "%s_%s_%s" BNAME i ID1 log NAME OFFSET SIZE math OFFSET += SIZE if OFFSET >= FSIZE break endif next i
The new problem is that there are blocks without marker or block size... If this problem can be solved, the format may be cracked! This would be SO cool - the music is really nice! Here's another .l95 sample: http://*USE_ANOTHER_FILEHOSTING*/6ed75d4 ... LEVEL02.7z