(Ubisoft) Rabbids Go Home .BF archive

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
SecretAgent2001
Posts: 8
Joined: Sun Aug 06, 2017 3:43 am

(Ubisoft) Rabbids Go Home .BF archive

Post by SecretAgent2001 »

I've been trying to figure out how to extract the main archive file from Rabbids Go Home (Wii) for about a little over half a year now, without any luck. It seems to deal with some sort of compression, as some of the offsets that make up the files lead to an abnormal header.

Here's a thread that I posted on xentax about 4 months ago regarding the topic: https://forum.xentax.com/viewtopic.php?f=10&t=16134
(Note that I was only interested in ripping the sounds. However, I think the sounds are embedded in more smaller, headerless, and compressed archives located in the parent .BF file, which we're dealing with now. So I think it will only be useful if we successfully extract all the files, then move on towards those smaller files later)

From what I read from the replies of the xentax thread, the script writing and extracting of this file is a difficult process. I'm hoping someone here can help me with this and solve this once and for all.
The file to be extracted is in the xentax thread. I strongly recommend you read that too if you haven't already.
Help is appreciated.
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: (Ubisoft) Rabbids Go Home .BF archive

Post by AnonBaiter »

>xentax
Dude...

Anyway, see if this script works on your file. If not I can try to add some support for that file.
SecretAgent2001
Posts: 8
Joined: Sun Aug 06, 2017 3:43 am

Re: (Ubisoft) Rabbids Go Home .BF archive

Post by SecretAgent2001 »

First of all, I apologize for bumping this 6 month old thread. The idea of ripping these files sprang up again, and I didn't know if I should have written a new thread or bumped the old one.
Anyways, AnonBaiter's script didn't work. RGH uses the LYN engine and not the Jade engine. That's why the Tintin script worked well on the other files, as its game uses the same engine as RGH (LYN).
However, I think with a bit of tinkering, this script can also be compatible with the LYN engine. If someone should add support to the script like AnonBaiter said, that would be great.

Here's the file I'm trying to extract again: https://mega.nz/#!OoQlkKbD!3JsIHbaqOKXM ... QB1sEEriCw
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: (Ubisoft) Rabbids Go Home .BF archive

Post by aluigi »

As far as I can see the tintin.bms script works correctly, what's the problem you encountered with it?

Currently there are 4 scripts for the "ABE" archives in my collection:
http://aluigi.org/bms/michael_jackson.bms
http://aluigi.org/bms/red_steel_2.bms
http://aluigi.org/bms/tintin.bms (best script)
http://aluigi.org/bms/zombiu.bms
SecretAgent2001
Posts: 8
Joined: Sun Aug 06, 2017 3:43 am

Re: (Ubisoft) Rabbids Go Home .BF archive

Post by SecretAgent2001 »

Well, for one thing, the files don't extract properly. Unlike the other two BF archives for sounds and movies, which extract perfectly for some reason, the one for the main game gives off hundreds of .bin, .vap, extensionless and other files that don't have any meaningful purpose. I tried looking for headers in a hex editor, and they just reveal to be random byte garbage.
I actually have tried all the scripts that you've recommended, and none of them work. That is, they still yield the same results with a slight difference: one file (a random, useless file), that gets extracted by the tintin script may be a few KB shorter than the similarly named file extracted by the michael jackson script. And the zombiu script doesn't even extract any files.

Anonbaiter said that he was 'still figuring out the file' or something, and that he 'couldn't get the directory tree just right'. So that's where I think the problem lies. Either that or some kind of compression method.
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: (Ubisoft) Rabbids Go Home .BF archive

Post by AnonBaiter »

Okay, change of plans now. A new script has to be written for that .BF format as used in Rabbids Go Home, but right now I don't feel like snatching a "sample file" for that. Not to mention that aluigi wrote the same "ABE" format four times, so that might give me some incentive as to how I'm going to plan it all out.

Here comes the question though: why did you bring up the fact that the game uses the LyN engine just now? Well, I could have found out about this game a while ago, let alone what kind of engine that game even used, but still...
SecretAgent2001
Posts: 8
Joined: Sun Aug 06, 2017 3:43 am

Re: (Ubisoft) Rabbids Go Home .BF archive

Post by SecretAgent2001 »

For the engine question, I thought that was the whole point of the 'researching' process you do for the game. It even says on RGH's Wikipedia page that it uses the LyN Engine. That's why the tintin script worked perfectly on the other two BF archives: because it uses the same engine.
All of the game's files (apart from all bik movies and most sounds) are stored in the BF archive that I've linked in the thread, so I'm afraid that's the only 'sample file' there is. There are no other game files other than the two BF files I mentioned earlier that contain the sounds and bik movies.
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: (Ubisoft) Rabbids Go Home .BF archive

Post by AnonBaiter »

The thing is, I don't trust these sites too much. For example, I had no idea that Just Dance(2009 - Nintendo Wii) used an identical archive format from what you see on some Ubisoft games that tells you it uses the Jade engine through some site until the moment I found out through the entire directory of that game.

Simply put, I prefer to stay on the side of caution.
SecretAgent2001
Posts: 8
Joined: Sun Aug 06, 2017 3:43 am

Re: (Ubisoft) Rabbids Go Home .BF archive

Post by SecretAgent2001 »

What 'site' are you talking about? Do you mean that you don't trust Wikipedia for its information or Mega for its chance that it may be a dodgy pop-up download server, which it isn't? Please explain.
If you want, I can upload the file to Dropbox or Google Drive instead of Mega.
AnonBaiter
Posts: 1125
Joined: Tue Feb 02, 2016 2:35 am

Re: (Ubisoft) Rabbids Go Home .BF archive

Post by AnonBaiter »

SecretAgent2001 wrote:What 'site' are you talking about?
Wikipedia. I feared that both the Jade and LyN articles on that one might be incomplete.
SecretAgent2001 wrote:If you want, I can upload the file to Dropbox or Google Drive instead of Mega.
Just do it. I might write the script based on this one someday.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: (Ubisoft) Rabbids Go Home .BF archive

Post by aluigi »

I checked the archive and:
  • the coverage is only 57%, which means that almost half archive is not parsed
  • the unparsed part of the archive doesn't seem to contain real data, it's just the size of each entry which is not aligned to the file size (lot of zeroes, 0xaa and useless data)
  • the extracted files are all correct (offsets and sizes match)
  • the format of the extracted files is unknown, they don't seem compressed
Unfortunately this is the format, a sort of resources container rather than a archive of files, so the result is not easily readable.
Hope it helps.
SecretAgent2001
Posts: 8
Joined: Sun Aug 06, 2017 3:43 am

Re: (Ubisoft) Rabbids Go Home .BF archive

Post by SecretAgent2001 »

AnonBaiter, here's the direct link to Dropbox if you haven't got the file already: https://www.dropbox.com/s/nr461u3iq12enrf/RGH.BF?dl=1
Unfortunately this is the format, a sort of resources container rather than a archive of files, so the result is not easily readable.

So how difficult will it be to write another script? Will it simply need a bit of tinkering to fetch the unparsed part of the file and put it to good use, or is it more complicated than that?
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: (Ubisoft) Rabbids Go Home .BF archive

Post by aluigi »

Why another script? The script does its job correctly.
There is nothing else (useful) to extract as far as I have seen.
SecretAgent2001
Posts: 8
Joined: Sun Aug 06, 2017 3:43 am

Re: (Ubisoft) Rabbids Go Home .BF archive

Post by SecretAgent2001 »

The script should extract files that aren't garbage (e.g. model data, textures, sounds, etc.). That's what I mean by creating another script.
I should also note that the PC version (yes, there's a PC demo of this game) has a similar RGH.BF file to that of the Wii version. I don't have it with me now, but if you want, I'll try to get a hold of it and put it up on dropbox for inspection.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: (Ubisoft) Rabbids Go Home .BF archive

Post by aluigi »

Well, usually the job of an extraction script (or extraction tool) is just extracting the data "as-is" inside the archive.
You get garbage if the original data is garbage, you get good files if the files are original or use known formats (better chances on PC rather than console games).

Probably you want the original software used by Ubisoft to handle these archives or you want to do the whole reversing engineering and parsing job by yourself.
Keep us update if and when you will do it since I'm sure other people are interested in this stuff.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: (Ubisoft) Rabbids Go Home .BF archive

Post by aluigi »

I'm testing an upcoming option of quickbms that allows to dump the unparsed data of the input files, an easy way to see immediately if there is something that has not been parsed by a script.
Currently, after having removed various zeroes, I see less than 300Mb of unparsed data containing also some RIFF audio.
Maybe I will check if such data is referenced somewhere but this post was mainly intended as a technical note to discuss about this new useful debugging feature.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: (Ubisoft) Rabbids Go Home .BF archive

Post by aluigi »

I have to rectify what I said in my last post because there was a bug in the work-in-progress feature of dumping the unparsed data I was implementing in quickbms.
The total unparsed data is 450355992 bytes of which 450131333 (99%) are zeroes.
That means the script did an excellent job and almost half of the archive is just useless padding (zero).
AlarodJD
Posts: 70
Joined: Thu Mar 21, 2019 1:02 am

Re: (Ubisoft) Rabbids Go Home .BF archive

Post by AlarodJD »

I have another bf archive for Just Dance how do i extract it has "BIG" header
LolHacksRule
Posts: 865
Joined: Fri Apr 20, 2018 12:41 am

Re: (Ubisoft) Rabbids Go Home .BF archive

Post by LolHacksRule »

Send the file? BF stands for BigFile according to the code.
AlarodJD
Posts: 70
Joined: Thu Mar 21, 2019 1:02 am

Re: (Ubisoft) Rabbids Go Home .BF archive

Post by AlarodJD »

Never mind it works on jade_WIP.bms