Sport Championship extract data

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
mmmniple
Posts: 32
Joined: Thu Feb 20, 2020 5:39 pm

Sport Championship extract data

Post by mmmniple »

Hello,i would love could extract the files from this game.
Curiously the format is diferent to the one used on the secuel.
I attach the data file from the demo version cutted and the file "filesys.dir" which come with it than probably has some info about the data is inside.
Also i attached the version of this file of the full game.
Thanks
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Sport Championship extract data

Post by aluigi »

http://aluigi.org/bms/sport_championship_res.bms

Use the script on filesys.dir for extracting the files.
The script also works on the extracted RES files, so you can use it on each one (better by selecting all of them so it creates a folder for each one).

I'm quite sure that the RES format is the same for SC2 too but the one in this script is correctly parsed while in SC2 it was a test.
mmmniple
Posts: 32
Joined: Thu Feb 20, 2020 5:39 pm

Re: Sport Championship extract data

Post by mmmniple »

Hello.I test it on the demo on the file "filesys.000" and it worked given several kind of files (i attach a txt with them) but sadly on the file from the full game it gives me the next error:
-------------------------------------------------------------------------------------

Error: incomplete input file 0: E:\1 Marzo 2000\Ps3\NPEA90068[Sports Champions 1]\files\filesys.000
Can't read 64 bytes from offset 3ef2dee3.
Anyway don't worry, it's possible that the BMS script has been written
to exit in this way if it's reached the end of the archive so check it
or contact its author or verify that all the files have been extracted.
Please check the following coverage information to know if it's ok.

coverage file 0 7% 78915550 1053350436 . offset 3ef2dee3

Last script line before the error or that produced the error:
27 log "" OFFSET SIZE
-------------------------------------------------------------------
I attach the file from the full game

if i use on "filesys.dir" also doesnt work

-----------------------------------------------------
offset filesize filename
--------------------------------------
- enter in folder E:\1 Marzo 2000\Ps3\NPEA90068[Sports Champions 1]
- open input file E:\1 Marzo 2000\Ps3\NPEA90068[Sports Champions 1]\filesys.dir
- enter in folder E:\1 Marzo 2000\Ps3\NPEA90068[Sports Champions 1]
coverage file 0 0% 0 487460 . offset 0000000000000000
- open input file E:\1 Marzo 2000\Ps3\NPEA90068[Sports Champions 1]\filesys.000
0000000724c2399e 25344 0000000000000000.dat

Error: incomplete input file 0: E:\1 Marzo 2000\Ps3\NPEA90068[Sports Champions 1]\filesys.000
Can't read 64 bytes from offset 0000000724c2399e.
Anyway don't worry, it's possible that the BMS script has been written
to exit in this way if it's reached the end of the archive so check it
or contact its author or verify that all the files have been extracted.
Please check the following coverage information to know if it's ok.

coverage file 0 0% 0 1053350436 . offset 0000000724c2399e

Last script line before the error or that produced the error:
27 log "" OFFSET SIZE

-----------------------------------------------------------------



On the rest of the files 01-11 happens something curious :
if i put the 01 and 02 i could extract with winrar and the output would be a file of the same size 01+02
this happen with the rest of files (i found it weird,i hope than only extract it if it had everyfiles..)
At last i can obtain a huge file using the files from 01 to 11 of 10.6 Gb

I tried use your script on this files but it doesnt work.

------------------------------------------------
The error:

offset filesize filename
--------------------------------------
- enter in folder E:\1 Marzo 2000\Ps3\NPEA90068[Sports Champions 1]
- open input file E:\1 Marzo 2000\Ps3\NPEA90068[Sports Champions 1]\filesys.dir
- enter in folder E:\1 Marzo 2000\Ps3\NPEA90068[Sports Champions 1]
coverage file 0 0% 0 11479913015 . offset 0000000000000000
- open input file E:\1 Marzo 2000\Ps3\NPEA90068[Sports Champions 1]\filesys.000
0000000724c2399e 25344 0000000000000000.dat

Error: incomplete input file 0: E:\1 Marzo 2000\Ps3\NPEA90068[Sports Champions 1]\filesys.000
Can't read 64 bytes from offset 0000000724c2399e.
Anyway don't worry, it's possible that the BMS script has been written
to exit in this way if it's reached the end of the archive so check it
or contact its author or verify that all the files have been extracted.
Please check the following coverage information to know if it's ok.

coverage file 0 0% 0 1053350436 . offset 0000000724c2399e

Last script line before the error or that produced the error:
27 log "" OFFSET SIZE
----------------------------------------------------------------------------

I must make more test on SC2.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Sport Championship extract data

Post by aluigi »

How many filesys.* files (of the same game/version) you have there?
Just .dir and .000?
mmmniple
Posts: 32
Joined: Thu Feb 20, 2020 5:39 pm

Re: Sport Championship extract data

Post by mmmniple »

Hi:

26/03/2020 22:54 11.479.913.015 filesys --> This was created with winrar extracting from filesys.001 to filesys.011.**
26/03/2020 22:41 1.053.350.436 filesys.000
13/02/2020 01:09 487.460 filesys.dir

26/03/2020 22:43 1.070.367.889 filesys.001
26/03/2020 22:46 1.073.460.152 filesys.002
26/03/2020 22:48 1.073.006.935 filesys.003
26/03/2020 22:53 1.063.229.519 filesys.004
26/03/2020 22:55 1.045.131.200 filesys.005
26/03/2020 23:40 1.062.581.592 filesys.006
26/03/2020 23:42 1.071.772.131 filesys.007
26/03/2020 23:44 1.051.096.076 filesys.008
26/03/2020 23:47 1.061.420.412 filesys.009
26/03/2020 23:49 1.051.128.012 filesys.010
26/03/2020 23:01 856.719.097 filesys.011

**As i wrote yesterday,i could create diferent files as :

26/03/2020 23:03 2.143.828.041 filesys02 : using only filesys.001 + filesys.002
26/03/2020 23:08 3.216.834.976 filesys3 : using filesys.001 + filesys.002 + filesys.003
26/03/2020 23:16 4.280.064.495 filesys4 : using filesys.001 + filesys.002 + filesys.003 + filesys.004
26/03/2020 23:24 5.325.195.695 filesys5 : using filesys.001 + filesys.002 + filesys.003 + filesys.004 + filesys.005
...
26/03/2020 22:54 11.479.913.015 filesys : using filesys.001 + filesys.002 + .... + filesys.011
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Sport Championship extract data

Post by aluigi »

The maximum offset referenced by filesys.dir is 0x3ea30af5 (0x3e505735 + 5419968) which is over 2Mb smaller than the size of filesys.000, therefore you should get no errors during extraction.

Additionally I don't know where the other 11 files are referenced because that's all the content in the table of filesys.dir (offset 0x834c).
mmmniple
Posts: 32
Joined: Thu Feb 20, 2020 5:39 pm

Re: Sport Championship extract data

Post by mmmniple »

It is strange. I think the other files are no referenced because they could be extracted as one file, keeping only the files : filesys, filesys.dir and filesys.000
mmmniple
Posts: 32
Joined: Thu Feb 20, 2020 5:39 pm

Re: Sport Championship extract data

Post by mmmniple »

I have done more tests and it doesn't work.
I don't know why it worked better on the demo but no with the full version
(the demo filesys.dir file is smaller than the one of the full game.)

"I'm quite sure that the RES format is the same for SC2 too but the one in this script is correctly parsed while in SC2 it was a test."

I have done several test and it also doesn't work on sc2 :-(
akderebur
Posts: 68
Joined: Wed Nov 15, 2017 1:54 pm

Re: Sport Championship extract data

Post by akderebur »

The wrong part is this :

Code: Select all

get OFFSET longlong 1

For the demo it is correct, but it seems to be changed for the full version. Should be something like :

Code: Select all

get FILEID long 1
get OFFSET long 1

First integer (FILEID) tells which "filesys" file to read. Range is 0 -11 (there are 12 filesys files). Second integer is the offset in that file. So the program needs to constantly switch between 12 files and I don't know how this can be handled in quickbms. I made my own program for it, but just wanted to share it here. Incase it can be done somehow.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Sport Championship extract data

Post by aluigi »

Well done!
Just fixed the script ;)