Page 1 of 8

NfS Shift .BFF files

Posted: Wed Sep 16, 2009 6:49 pm
by dijotp
Hi.
Anybody know how to extract these .BFF files?

Samples: http://66.7.218.134/~usaportu/pub/BFFs.rar

Re: NfS Shift .BFF files

Posted: Fri Sep 18, 2009 4:30 pm
by demolos
this game use zlib compression i looking into shift.exe with hexadecimal and i found zlib:

Error decompressing asset (zlib inflate): %s in pakfile %s

also i suppose the bff archives contain xml files
you can try to use Jaeder Naub to scan and rip the files inside bff archives

Re: NfS Shift .BFF files

Posted: Fri Sep 18, 2009 7:10 pm
by aluigi
no, it's not zlib.
the most probable hypothesis it's that it uses chunks of 0x800 bytes compressed with a lzx-like algorithm.
this is the max I can say without the game.

Re: NfS Shift .BFF files

Posted: Sat Sep 19, 2009 9:54 am
by Savage

Re: NfS Shift .BFF files

Posted: Sat Sep 19, 2009 12:16 pm
by aluigi
I have started to work on it this morning.
I have already figured almost all the fields included the rc4 encryption used in some bffs.
the compression algorithm should be called XMemDecompress and I guess it's referred to a cross-platform xbox function.
I will keep you update if there are news

Re: NfS Shift .BFF files

Posted: Sat Sep 19, 2009 12:49 pm
by dijotp
Thank you Bugtest, you rock. :keke:

Re: NfS Shift .BFF files

Posted: Sat Sep 19, 2009 1:25 pm
by Savage
I found some info about Xmemcompress http://forums.gtamodding.ru/index.php?showtopic=10

Re: NfS Shift .BFF files

Posted: Sat Sep 19, 2009 2:13 pm
by aluigi
good news, I did it :)
so stay tuned for a new version of QuickBMS and the needed script when all the tests will be finished completely

Re: NfS Shift .BFF files

Posted: Sat Sep 19, 2009 3:31 pm
by Savage
:eek:

Re: NfS Shift .BFF files

Posted: Sat Sep 19, 2009 9:54 pm
by aluigi
new version of quickbms: http://aluigi.org/papers.htm#quickbms
and the needed script for Need for Speed Shift: http://aluigi.org/papers/bms/nfsshift.bms

Re: NfS Shift .BFF files

Posted: Sat Sep 19, 2009 10:50 pm
by japamd
Bugtest wrote:new version of quickbms: http://aluigi.org/papers.htm#quickbms
and the needed script for Need for Speed Shift: http://aluigi.org/papers/bms/nfsshift.bms
Wonderful job!

If the string are translated, how do I put the files together again?

Thanks!

Re: NfS Shift .BFF files

Posted: Sat Sep 19, 2009 11:09 pm
by aluigi
I make only the extractors.

if someone wants to write a quick rebuilder I suggest to use X12d equal to 0 (no encryption) and ever type 0 for each file so that it's not needed to use the compression.
the crc calculated on the files is just the simple classic one:

Code: Select all

unsigned int crtable[...0x77073096 polynomial...];
unsigned int crc = 0xffffffff;
for(i = 0; i < len; i++) {
    crc = crctable[(data[i] ^ crc) & 0xff] ^ (crc >> 8);
}
return(crc);

Re: NfS Shift .BFF files

Posted: Sat Sep 19, 2009 11:44 pm
by zeeh
Cool :) I hope soon we should have compiler working, good job!

Re: NfS Shift .BFF files

Posted: Sun Sep 20, 2009 4:55 am
by japamd
zeeh wrote:Cool :) I hope soon we should have compiler working, good job!
Are you making one? It would be great!

Re: NfS Shift .BFF files

Posted: Sun Sep 20, 2009 6:39 pm
by Simon
Don't know if this is against the Rules here but ...

I bet please please create a BFF Rebuilder because Shift don't reads extracted files and I want to start modding :)