Page 1 of 21

[PC/X360] Rise of the Tomb Raider Bigfile.000.tiger

Posted: Thu Nov 05, 2015 9:21 pm
by Gh0stBlade
Rise of the Tomb Raider - [TR2] - [PC/XENON]:[/b]

Image
Image

Requires Noesis version >= 4.177
fmt_TR2_mesh_1_5.py - Version 1.5 - 07/02/15

Works with EKey's Bigfile/Drm Dumper.

Xbox 360 DRM/Bigfile Tool:
EKey - RTBTIGGERUnpacker_0.0.2b_r4.rar
EKey - RTBDRMDumper_0.0.1_r1.rar

PC DRM/Bigfile Tool:
EKey - ROTTR_TIGGERUnpacker_0.0.3c_r7.rar
Ekey - ROTTR_DRMDumper_0.0.3a_r7.rar

Re: Rise of the Tomb Raider Bigfile.000.tiger

Posted: Fri Nov 06, 2015 1:55 pm
by Ekey
Dev's did some changes in archives. Anyway here my unpacker. As a previous games unpacker save only CDRM index files.

Download: See below.

Re: Rise of the Tomb Raider Bigfile.000.tiger

Posted: Fri Nov 06, 2015 7:53 pm
by michalss
Ekey wrote:Dev's did some changes in archives. Anyway here my unpacker. As a previous games unpacker save only CDRM index files.

Nice,

Can you please post struct of the archive ?

Re: Rise of the Tomb Raider Bigfile.000.tiger

Posted: Fri Nov 06, 2015 8:31 pm
by Ekey

Code: Select all

struct iHeader
{
   uint32_t   dwID; //TAFS
   uint32_t   dwVersion; // Previous is 3 , Current is 4
   uint32_t   dwUnknown1;
   uint32_t   dwTotalFiles;
   uint32_t   dwUnknown2;
   uint8_t    iPlatform[32]; //Platform (xenon-w) or (ps3-w) or (pc-w)
};

//Entry stucture for version 3
struct iEntryV3
{
   uint32_t   dwHash; //Hash of filename
   uint32_t   dwLanguage;
   uint32_t   dwSize;
   uint32_t   dwZSize; //Posible
   uint32_t   dwFlags; //or two uint16_t
   uint32_t   dwOffset;
};

//Entry stucture for version 4
struct iEntryV4
{
   uint32_t   dwHash; //Hash of filename
   uint32_t   dwLanguage;
   uint32_t   dwSize;
   uint32_t   dwZSize; //Posible
   uint32_t   dwOffset;
   uint32_t   dwFlags; //or two uint16_t
};

Re: Rise of the Tomb Raider Bigfile.000.tiger

Posted: Fri Nov 06, 2015 8:38 pm
by michalss
thank you :), but files are compressed zlibbed. When i used yr tool, getting extracted correct zlib files. But on start of each files is something strange it does not start with zlib header actually but this:
WTF is that pls ?

Image

Re: Rise of the Tomb Raider Bigfile.000.tiger

Posted: Fri Nov 06, 2015 10:32 pm
by Ekey
MUL files not compressed, only chunks data provided by DRM index

Re: Rise of the Tomb Raider Bigfile.000.tiger

Posted: Sat Nov 07, 2015 12:09 am
by GRINSPANKER13
Ekey wrote:.drm index files not compressed, only chunks data provided by DRM index
Ekey,
I'm looking for all the resource names and ids, like Cloth, Herbs...etc, and I'm not sure if they are in these tiger files.
I understand the file names are all saved as hashes in the entry table, but is there a way to decode them?

For example, in the gamesave Cloth's hash is 0x4D826A39, but I'm looking for all the others.
I'm not sure if they are hashes for the resource name, or just a unique id they were assigned.

I have coded up a little program to read the tiger file for the xbox 360.
I just don't know what to do with the DRM files after unpacking them.

Any help would be appreciated, thanks!

Re: Rise of the Tomb Raider Bigfile.000.tiger

Posted: Sat Nov 07, 2015 1:26 am
by Gh0stBlade
GRINSPANKER13 wrote:
Ekey wrote:.drm index files not compressed, only chunks data provided by DRM index
Ekey,
I'm looking for all the resource names and ids, like Cloth, Herbs...etc, and I'm not sure if they are in these tiger files.
I understand the file names are all saved as hashes in the entry table, but is there a way to decode them?

For example, in the gamesave Cloth's hash is 0x4D826A39, but I'm looking for all the others.
I'm not sure if they are hashes for the resource name, or just a unique id they were assigned.

I have coded up a little program to read the tiger file for the xbox 360.
I just don't know what to do with the DRM files after unpacking them.

Any help would be appreciated, thanks!

Thanks for the unpacker EKey! :D

Everything apart from in-game voice overs are stored in Bigfile.000.tiger, Bigfile.001.tiger. You can't exactly decode the hash, the only way to obtain the filenames is to create a dumper that dumps filenames before the hash is generated within the engine. This is much easier to do on PC. Once the filenames are known it's a case of generating the hash then comparing it.

To clarify, the save-game hashes for weapons/collectibles etc have nothing to do with bigfile entry hashes, they're two completely different things.

Bigfile (Contains .MUL files, DRM Section info)
.MUL -> Audio files (in-game music)
.DRM->(Contains pointers to various files within the Bigfile a specific DRM uses. This could be textures, models, sound effects, scripts etc..)

So you have to read the DRM section table and decompress anything that's compressed (It will be ZLIB compressed for some sections).

We just need a tool that dumps the DRM sections.

I'm working on the model importer, I just need Lara's model correctly extracted since there are some problems at the moment, it would help me confirm a few things.

Regards.

Re: Rise of the Tomb Raider Bigfile.000.tiger

Posted: Sat Nov 07, 2015 1:39 am
by GRINSPANKER13
Thanks Gh0stBlade. I know they have nothing to do with one another.
I was hoping that one of the files in the tiger archive had the strings that the games uses to generate the hash for the weapons and resources.
I'm just playing the game collecting them all but that takes time to do.
Maybe they are just ids assigned and not even hashes.

Re: Rise of the Tomb Raider Bigfile.000.tiger

Posted: Sat Nov 07, 2015 9:35 am
by michalss
Ekey wrote:MUL files not compressed, only chunks data provided by DRM index
OK, but every file starts with that. Is there a way how to identify the DRM index files ? My achievement will be repack the archive, but for that i need to understand this DRM files..

Re: Rise of the Tomb Raider Bigfile.000.tiger

Posted: Sat Nov 07, 2015 10:03 am
by Ekey
michalss wrote:OK, but every file starts with that. Is there a way how to identify the DRM index files ?
If you swap it you can see value like > 44100. What this could be for music files? :)
michalss wrote:My achievement will be repack the archive
Packer will not be possible until the DRM stuff is understood. (c) Rick
michalss wrote:but for that i need to understand this DRM files..
Seems from Lara Croft and the Temple of Osiris DRM files little bit changed.

1) Duplicated id's for sections.
2) Two unknown types with id 1031 and 1034.
3) Some CDRM's not compressed.
4) Strange texture data. Header is X360 and seems compressed by XMem.

I will share all extracted types of files for confirmation.

Re: Rise of the Tomb Raider Bigfile.000.tiger

Posted: Sat Nov 07, 2015 1:22 pm
by Gh0stBlade
GRINSPANKER13 wrote:Thanks Gh0stBlade. I know they have nothing to do with one another.
I was hoping that one of the files in the tiger archive had the strings that the games uses to generate the hash for the weapons and resources.
I'm just playing the game collecting them all but that takes time to do.
Maybe they are just ids assigned and not even hashes.
Just to make this easier for you, the game does not use strings to compute a hash that is used for weapons etc in the save file. It's already pre-defined as a hash in the DRM file :)
michalss wrote:
Ekey wrote:MUL files not compressed, only chunks data provided by DRM index
OK, but every file starts with that. Is there a way how to identify the DRM index files ? My achievement will be repack the archive, but for that i need to understand this DRM files..
I think the best thing to do is, undo what Crystal Dynamics did. For example, in TR8 all the DRM files included the section info PLUS the file data at the end. The way I'd do this is, extract each DRM header file, locate the section info and write it at the end of the file updating the offsets in the DRM header file. That would make sure all DRM files include all the data they need, some sections are referenced in multiple DRM files (point to the same file, like sharing). Then someone could make any alterations to that, then it's repacked where only the DRM header file is pointed at by the Bigfile file table with the file data stored else where plus the DRM section info re-updated to point to the new file offsets within the bigfile (it MUST be aligned) and the hashes MUST be indexed (lowest to highest if i remember correctly) or it will not work. I wrote a test repacker for MUL files (TR 2013) Didn't take it as far as that unfortunately.

Regards.

Re: Rise of the Tomb Raider Bigfile.000.tiger

Posted: Sat Nov 07, 2015 1:24 pm
by Ekey
Small update.

Code: Select all

* Fixed bug while unpacking audio files from bigfile_ENGLISH, bigfile_FRENCH and etc.
* Base with names updated (added ~2k).
Download: See next page.

Re: Rise of the Tomb Raider Bigfile.000.tiger

Posted: Sat Nov 07, 2015 1:55 pm
by Ekey
Base updated (added ~10k)

Re: Rise of the Tomb Raider Bigfile.000.tiger

Posted: Sat Nov 07, 2015 3:46 pm
by michalss
Ekey wrote:Base updated (added ~10k)

Thx. How do you compare what filename belongs to what file pls ? I can see you have only filenames, but not hash asign to it each filename. Also i can see there is so many audiofiles but not any DRM ? Can you also pls update your struct once you digg more information please?