Test Drive/TD Overdrive: Brotherhood of Speed (PS2) - TD2K1_*.IDX/.BIN

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
BloodRaynare
Posts: 367
Joined: Fri Mar 10, 2017 7:23 am

Test Drive/TD Overdrive: Brotherhood of Speed (PS2) - TD2K1_*.IDX/.BIN

Post by BloodRaynare »

I tried writing scripts for these files myself, but the info structures really made me pull my hair out.
Basically, the directory structure along with the filenames are inside the IDX, but the way it was set up are really confusing.

To sum it up, the earliest thing you see in the IDX file are the sub directories info of the root of the BIN archives, but there's no file numbers.

The only thing that sub/directories info provided is they have a distinctive value where the file offset value is 0 and the 4 bytes next to it is a offset where the files info are located along with the sub directory info inside of the main sub directory info, sorted and lumped alphabetically.

Not to mention, sometimes the first character of the filename/directory name's hex value was added to 0x80, causing some files/directory to have weird characters on it's name.

Here's the IDX file if needed:

TD2K1_1.zip
Ekey
Posts: 1383
Joined: Sat Aug 09, 2014 2:34 pm

Re: Test Drive/TD Overdrive: Brotherhood of Speed (PS2) - TD2K1_*.IDX/.BIN

Post by Ekey »

Upload BIN also.
BloodRaynare
Posts: 367
Joined: Fri Mar 10, 2017 7:23 am

Re: Test Drive/TD Overdrive: Brotherhood of Speed (PS2) - TD2K1_*.IDX/.BIN

Post by BloodRaynare »

Ekey wrote:Upload BIN also.


The BIN files are just the containers of those files themselves. But, I'll upload the file later (It's quite big, around 300MB. At least for the TD2K1_1.BIN). Or maybe I can send the smaller IDX/BIN combo files? But of course, the structure is somewhat simpler.
Last edited by BloodRaynare on Thu Aug 20, 2020 7:58 am, edited 1 time in total.
BloodRaynare
Posts: 367
Joined: Fri Mar 10, 2017 7:23 am

Re: Test Drive/TD Overdrive: Brotherhood of Speed (PS2) - TD2K1_*.IDX/.BIN

Post by BloodRaynare »

@Ekey: If you still need the BIN files, here it is: https://drive.google.com/file/d/1yyKO24 ... sp=sharing
Ekey
Posts: 1383
Joined: Sat Aug 09, 2014 2:34 pm

Re: Test Drive/TD Overdrive: Brotherhood of Speed (PS2) - TD2K1_*.IDX/.BIN

Post by Ekey »

BloodRaynare wrote:@Ekey: If you still need the BIN files, here it is: https://drive.google.com/file/d/1yyKO24 ... sp=sharing

Credits from devs in bin :D

Code: Select all

BigFileHeader for BigFile V1.1 (C) Steve Snake, March 2001. Hello everybody! What are you doing snooping around in my files? Now V1.2 By C Kirby!!! & (C) Pitbull Syndciate Ltd. Visit www.pitbull.co.uk


Edited:

Code: Select all

getdstring PATH 0x18
get OFFSET long

if OFFSET == 0
   #Directory
   get OFFSET_NAMES long
   math OFFSET_NAMES *= 32
else
   #File
   math OFFSET *= 2048
   get SIZE long
endif



BloodRaynare wrote:Not to mention, sometimes the first character of the filename/directory name's hex value was added to 0x80, causing some files/directory to have weird characters on it's name.

You need to do is check the directory name or file name for invalid characters, if the first byte is not a character from the alphabet, then this is end of the list subtract or xor it by 0x80.
Ekey
Posts: 1383
Joined: Sat Aug 09, 2014 2:34 pm

Re: Test Drive/TD Overdrive: Brotherhood of Speed (PS2) - TD2K1_*.IDX/.BIN

Post by Ekey »

Thank you Luigi for accepting the challenge :D. I think the script does not work correctly.

Code: Select all

- enter in folder E:\Downloads\TD2K1_1
  coverage file 0     0%   0          108160     . offset 00000000
- open input file E:\Downloads\TD2K1_1\TD2K1_1.idx
- enter in folder E:\Downloads\TD2K1_1
- open input file E:\Downloads\TD2K1_1\TD2K1_1.bin
  00000800 28480      cars\anim.k9a
  00007800 91264      cars\driva.PS2
  0001e000 22016      cars\driver_NGPS.k9s
  00023800 4096       drivers\69corvette.plt
  00024800 109120     drivers\69corvette_NGPS.k9s
  0003f800 56128      drivers\69corvette_NGPS.snk
  0004d800 704        drivers\69corvette_NULL.h
  0004e000 64         drivers\anim.k9a
  0004e800 10432      drivers\69corvette.snk
  00051800 128        drivers\69corvette.tl
  00052000 28800      drivers\69corvette.tpk
  00059800 2624       drivers\cor_lightoff.snk
  0005a800 2176       drivers\cor_lighton.snk
  0005b800 832        drivers\cor_tread.snk
  0005c000 3968       drivers\cor_wheel.snk
  0005d000 4288       drivers\cor_wheel2.snk
  0005e800 1408       drivers\disc.snk
  0005f000 256        drivers\glass.snk
  0005f800 256        drivers\shadow.snk
  00060000 2368       drivers\u_corv69.snk
  00061000 16768      drivers\69corvette.snk

- The following output file already exists:
  drivers\69corvette.snk
  Do you want to overwrite it?
    y = overwrite (you can use also the 'o' key)
    n = skip (default, just press ENTER)
    a = overwrite all the files without asking
    r = automatically rename the files with the same name
    s = skip all the existent files without asking


First folder must be "anim" and files inside this folder are next:

Code: Select all

anim\anim.k9a
anim\driva.PS2
anim\driver_NGPS.k9s


There should be 3 files in total, since the driver_NGPS.k9s file has the first invalid character, which means that there are no more files in this folder.

Next folder "cars", there are subdirectories here

Code: Select all

69corvette
camaro
camaro_h
charger
chevelle
chevelle_h
cobra
con_viper
cop_charger
cop_db7
cop_lotusv8
cop_mustangsvt
cop_skyline
cop_subaru
cop_supra
cop_tvr
cop_viper
cop_xj220
cop_xkr
cop_z06cor
cuda
cuda_h
db7
dev_xkr
elise
g4viper
gt40
gto
gto_h
lotusv8
max_db7
max_xkr
must68
mustang_svt
shelby
skyline
subaru
supra
supraham
tvr
viper
xj220
xk_r
z06_corvette


z06_corvette is last subdirectory because it has an invalid character, therefore we should get the following:

Code: Select all

cars\69corvette\69corvette.plt
cars\69corvette\69corvette_NGPS.k9s
cars\69corvette\69corvette_NGPS.snk
cars\69corvette\69corvette_NULL.h
cars\69corvette\anim\anim.k9a
cars\69corvette\lores_pap\69corvette.snk
cars\69corvette\lores_pap\69corvette.tl
cars\69corvette\lores_pap\69corvette.tpk
cars\69corvette\lores_pap\cor_lightoff.snk
cars\69corvette\lores_pap\cor_lighton.snk
cars\69corvette\lores_pap\cor_tread.snk
cars\69corvette\lores_pap\cor_wheel.snk
cars\69corvette\lores_pap\cor_wheel2.snk
cars\69corvette\lores_pap\disc.snk
cars\69corvette\lores_pap\glass.snk
cars\69corvette\lores_pap\shadow.snk
cars\69corvette\lores_pap\u_corv69.snk
cars\69corvette\textures\69corvette.snk
cars\69corvette\textures\69corvette.tl
cars\69corvette\textures\69corvette.tpk
cars\69corvette\textures\69corvette_p.dat
cars\69corvette\textures\69corvette_pal_0.pal
cars\69corvette\textures\69corvette_pal_0.PS2
cars\69corvette\textures\69corvette_pal_1.pal
cars\69corvette\textures\69corvette_pal_1.PS2
cars\69corvette\textures\69corvette_pal_2.pal
cars\69corvette\textures\69corvette_pal_2.PS2
cars\69corvette\textures\69corvette_pal_3.pal
cars\69corvette\textures\69corvette_pal_3.PS2
cars\69corvette\textures\cor_lightoff.snk
cars\69corvette\textures\cor_lighton.snk
cars\69corvette\textures\cor_tread.snk
cars\69corvette\textures\cor_wheel.snk
cars\69corvette\textures\cor_wheel2.snk
cars\69corvette\textures\disc.snk
cars\69corvette\textures\glass.snk
cars\69corvette\textures\shadow.snk
cars\69corvette\textures\u_corv69.snk
cars\69corvette\textures\z06_corvette.tl


something like this :)
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Test Drive/TD Overdrive: Brotherhood of Speed (PS2) - TD2K1_*.IDX/.BIN

Post by aluigi »

Sorry but I have no idea of how to create these paths because there is absolutely no sense and no starting point.