Angel Studios/Rockstar San Diego - sample files

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Angel Studios/Rockstar San Diego - sample files

Post by aluigi »

AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: Angel Studios/Rockstar San Diego - sample files

Post by AnonBaiter »

Thanks mate but what about for archive files without any stored names?
https://www.sendspace.com/file/xtg8ol
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Angel Studios/Rockstar San Diego - sample files

Post by aluigi »

In that "Dave" (opposite to "DAVE") archive the names are obfuscated, I don't know the algorithm so, currently, I opt for no names in script 0.1.1
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: Angel Studios/Rockstar San Diego - sample files

Post by AnonBaiter »

Ok, so unless I find one that uses a different structure, that about covers it up. Thanks aluigi.
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: Angel Studios/Rockstar San Diego - sample files

Post by AnonBaiter »

Sorry for the double post, but here's a sample from their first PC game(Midtown Madness), back in 1999.

EDIT: Cool, I didn't know the "DAVE" format was also used on Midtown Madness 2. Just like I discovered your blitz_games_xbp.bms script worked on .xbp files used in Fusion Frenzy.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Angel Studios/Rockstar San Diego - sample files

Post by aluigi »

No idea how the names are indexed, so the script extracts files without name:
http://aluigi.org/bms/midtown_madness_ares.bms
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: Angel Studios/Rockstar San Diego - sample files

Post by AnonBaiter »

aluigi wrote:In that "Dave" (opposite to "DAVE") archive the names are obfuscated, I don't know the algorithm so, currently, I opt for no names in script 0.1.1

I may sound like I'm parroting what I've told(because I am), but I heard the filenames use some kind of 6-bit encoding. They use this array for the 6-bit encoded strings:

Code: Select all

"+ #$()-./?0123456789_abcdefghijklmnopqrstuvwxyz~" ('+' == NULL)

I found this out by lurking at the XentaxWiki.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Angel Studios/Rockstar San Diego - sample files

Post by aluigi »

*edit*
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: Angel Studios/Rockstar San Diego - sample files

Post by AnonBaiter »

Well that was confusing.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Angel Studios/Rockstar San Diego - sample files

Post by aluigi »

6 bits corresponds to an array of 64 chars while that string is 48, in fact there are files that can't be decoded correctly.
The missing chars are probably SOME of the high case alphabet, probably a selection of those most used (48+26 > 64)
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Angel Studios/Rockstar San Diego - sample files

Post by aluigi »

I have a crazy idea... wait
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Angel Studios/Rockstar San Diego - sample files

Post by aluigi »

Don't ask me how I did it: script 0.1.2
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: Angel Studios/Rockstar San Diego - sample files

Post by AnonBaiter »

NOW that's what I call close!
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Angel Studios/Rockstar San Diego - sample files

Post by aluigi »

Just a technical note/curiosity.
I'm curious to know what happens with the first "special" value being between 0x30 and 0x37 (currently the script handles 0x38->0x3f) and the second one between 0 and 0x1f (script 0x20-0x3f), for example if it takes the data from the end of the previous string or from the current one. It's an event that probably will not happen with these games, but maybe I will return on it in future just to solve this curiosity.
OT: I have the strong feeling to have already worked on this stuff in the (far) past...