Join also our Discord channel! Click here.

Warframe

The Original Forum. Game archives, full of resources. How to open them? Get help here.
pixellegolas
ultra-veteran
ultra-veteran
Posts: 423
Joined: Mon Aug 11, 2008 11:30 pm
Has thanked: 27 times
Been thanked: 15 times

Re: Warframe

Post by pixellegolas » Mon Sep 16, 2013 10:59 am

Extraction is fine but the files are strange. The png's that are extracted dont have the typical header and fbx start with NXS.MESH

I am guessing its obfuscated in some way but I have no idea how to check :)

Trid copying header from png but nothing

User avatar
GMMan
veteran
Posts: 139
Joined: Fri Nov 05, 2010 10:14 pm
Been thanked: 55 times

Re: Warframe

Post by GMMan » Mon Sep 16, 2013 4:42 pm

pixellegolas wrote:Extraction is fine but the files are strange. The png's that are extracted dont have the typical header and fbx start with NXS.MESH

I am guessing its obfuscated in some way but I have no idea how to check :)

Trid copying header from png but nothing
Extraction is not fine. The script is using the wrong compression. Some of the .fbx files are PhysX cooked meshes.

Anyway, a preliminary analysis on the compression scheme.
  • The first four bytes in the compressed file are likely checksum bytes. Possible candidates include CRC, sum, and whatever random shift/xoring scheme people like these days.
  • Next byte is uncompressed bytes count.
  • The byte that follows contains the repeated data length. Currently it looks like the high four bits indicate the length of the repeated bytes. Will need to find more examples.
  • The next byte indicates the negative offset from the last uncompressed byte to find subsequent bytes to copy.
Summary: It's some sort of LZ compression.

Some revisions:
  • The first four bytes may not necessarily be checksums. It seems to contain a type byte, a length, and something else.
  • High 4 bits in length indicates copy data length, low 4 bits indicate plain data length. Maybe. How do you tell them apart?
Another update: Finally found the decompression code in the game EXE. I will try to reverse engineer it.
Yet another update: I think I've written the decompressor right, but a lot of the files are still failing, mostly running out of array space. Lua files are looking a lot nicer, though.
Currently researching: Alpha Prime scripting (AI and mods)
Queued: EE .cache repacking, CustomPak repacking, Gameloft Scrambled Zip multitool, GRAF Extractor Skeleton repacking, Gun Metal filenames CRC

User avatar
GMMan
veteran
Posts: 139
Joined: Fri Nov 05, 2010 10:14 pm
Been thanked: 55 times

Re: Warframe

Post by GMMan » Tue Sep 17, 2013 12:01 am

I think I got it. Each compressed file is made of many blocks, some LZ compressed and some not. The first four bytes indicate some info about the block. For the purposes of the compression format, everything is big endian. In each block, there are two numbers of type 'short', the first one the size of the compressed block, the second one the size of the uncompressed data. If the two numbers are equal, this block is not compressed. Default uncompressed block size is 16KB.

For the compression, it's some type of LZ. Code bytes (value indicated by 'cb' here) are used to instruct decompression, and the byte following the block info is the first code byte. If cb <= 0x1f, this represents a literal of size (cb + 1), and the literal bytes follow the code byte. If it's greater, this indicate a copying operation, where (((cb & 0x1f) << 8) | *(pcb + 1)), where *(pcb + 1) is the value that follows the code byte, is the lookback length less one, and (cb >> 5) is the copy length segment. If that equals 7, read (pcb + 2) and add it on to the copy length segment. The total number of bytes to copy is that value plus 2. Rinse and repeat for the rest of the block.

Extractor has been posted here.
Currently researching: Alpha Prime scripting (AI and mods)
Queued: EE .cache repacking, CustomPak repacking, Gameloft Scrambled Zip multitool, GRAF Extractor Skeleton repacking, Gun Metal filenames CRC

antoineflemming
ultra-n00b
Posts: 5
Joined: Sun Jun 01, 2014 4:50 am

Re: Warframe

Post by antoineflemming » Sun Jun 08, 2014 7:24 am

I understand this is an old thread by now, but if no one has found a way to open these png files, is there a way to possibly merge these files (all files with each B, F, H texture folder) as a possible solution? Is that even a viable solution?

pixellegolas
ultra-veteran
ultra-veteran
Posts: 423
Joined: Mon Aug 11, 2008 11:30 pm
Has thanked: 27 times
Been thanked: 15 times

Re: Warframe

Post by pixellegolas » Wed Jun 11, 2014 6:10 pm

as stated in another thread you can use ninja ripper for now to extract textures from the game. Look it up :) I could not get it working but might be a amd problem

antoineflemming
ultra-n00b
Posts: 5
Joined: Sun Jun 01, 2014 4:50 am

Re: Warframe

Post by antoineflemming » Tue Jul 01, 2014 1:18 am

pixellegolas wrote:as stated in another thread you can use ninja ripper for now to extract textures from the game. Look it up :) I could not get it working but might be a amd problem
Yeah. Was afraid of that. Was trying to see if I could extract the textures for files that aren't visible within the game, like the Tenno blaster or the Tenno jumpsuit. Thanks for the response though.

User avatar
VoidsShadow
ultra-n00b
Posts: 4
Joined: Thu Aug 28, 2014 10:49 pm
Contact:

Re: Warframe

Post by VoidsShadow » Thu Aug 28, 2014 10:56 pm

I know this thread is a little old, but still...

Okay, I decided to just say f*** it and I selected the entire windows.cache folder for the input. If it was a bad idea, it's too late now. The process has been going at it for nearly 20 minutes now; it's working on the texture caches at the moment. I think all the raw files will really help with creating fanmade stuffs. And modding, now that I think about it.

Edit (a minute later): ooh, fonts! And more sound files.

xbeton0L
n00b
Posts: 12
Joined: Fri Dec 16, 2011 3:40 pm
Has thanked: 10 times

Re: Warframe

Post by xbeton0L » Mon Sep 22, 2014 7:19 am

VoidsShadow wrote:The process has been going at it for nearly 20 minutes now; it's working on the texture caches at the moment. I think all the raw files will really help with creating fanmade stuffs. And modding, now that I think about it.

Edit (a minute later): ooh, fonts! And more sound files.
Have you been able to make sense of any of the sound or animation files? There's got to be a pattern to the way these files are obscured.

User avatar
GMMan
veteran
Posts: 139
Joined: Fri Nov 05, 2010 10:14 pm
Been thanked: 55 times

Re: Warframe

Post by GMMan » Mon Sep 22, 2014 11:32 am

I think someone just used a .WAV extractor or something.
Currently researching: Alpha Prime scripting (AI and mods)
Queued: EE .cache repacking, CustomPak repacking, Gameloft Scrambled Zip multitool, GRAF Extractor Skeleton repacking, Gun Metal filenames CRC

StrikerMan780
ultra-n00b
Posts: 2
Joined: Tue Apr 29, 2014 7:45 am

Re: Warframe

Post by StrikerMan780 » Fri Oct 10, 2014 8:16 pm

Did anyone ever figure out how to get the sounds into a working form? I need to get the firing sound to the Supra in Warframe. (Apologies if this is a massive bump)

The Warframe wikia wiki seems to have some of the sounds, but I think those just came from the fansite kit.
GMMan wrote:I think someone just used a .WAV extractor or something.
Hopefully said person will post about what extractor/tool they used, if they managed it.

Osprey
ultra-n00b
Posts: 1
Joined: Wed Nov 12, 2014 4:39 am

Re: Warframe

Post by Osprey » Wed Nov 12, 2014 4:41 am

Hey all, sorry to revive the thread again,

New to the whole process of getting files out of thiese sort of things.

I'm primarily trying to get these FBX files out, any advice on how to go about this? :)

cheers .

User avatar
GMMan
veteran
Posts: 139
Joined: Fri Nov 05, 2010 10:14 pm
Been thanked: 55 times

Re: Warframe

Post by GMMan » Thu Nov 13, 2014 7:50 pm

Check here for the extractor. Just drag and drop the .toc or .cache file on to the program to extract. Most files are split into at least two pieces, one in the H cache and another in the B/F caches. The FBX files may or may not be in FBX format, but someone's made an importer for the non-FBX mesh format.
Currently researching: Alpha Prime scripting (AI and mods)
Queued: EE .cache repacking, CustomPak repacking, Gameloft Scrambled Zip multitool, GRAF Extractor Skeleton repacking, Gun Metal filenames CRC

xbeton0L
n00b
Posts: 12
Joined: Fri Dec 16, 2011 3:40 pm
Has thanked: 10 times

Hex:Recruit for Warframe - new 2 hex & willing to learn

Post by xbeton0L » Sun Jan 18, 2015 11:30 pm

I suppose this is relevant to the overall conceptualization of Warframe's unpacked files. I'm trying to learn exactly how to combine (if that's even possible) the "h" and "b" files from .cache archives. Someone wrote a MaxScript not long ago which combined the "h" and "b" model data files inside 3ds Max. If it can be done inside 3dsMax, it shouldn't be too hard to implement as a stand-alone application. And maybe this functionality can be extended to non-3d model data files, such as sound and animation data files.

I'm new to this but I'd like to try and help research how this can be done if I can. I've come to this thread, and others based on Warframe, at least a dozen times looking for updates or insights. I guess if I have the time to waste looking for help, I might as well try learning how to help others and myself at the same time. :)

Post Reply