Ubisoft LyN engine .bf archive format

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
mbc07
Posts: 12
Joined: Sun Oct 13, 2019 7:19 pm

Ubisoft LyN engine .bf archive format

Post by mbc07 »

So, at the time I started working on this, there were 4 different scripts available on QuickBMS homepage for this format, but all of them had their own set of issues and some didn't work at all, even when paired with .bf archives from the game it was supposed to work with (e.g. michael_jackson.bms). Based on the existing scripts and other analysis I conducted on the .bf files from several Ubisoft games (still a few left), I wrote the script attached below.

The goal is to eventually support all LyN engine games as well as possible with a single BMS script, and to extract as much as possible instead of falling apart if an unknown variant is thrown at the script. The current version is still a beta but it's already working very well, even with games that didn't work with any of the previous scripts (e.g. PS3 versions of Just Dance 3 and Michael Jackson: The Experience).

Fully working
  • ABBA: You Can Dance [Wii]
  • The Black Eyed Peas Experience [Wii]
  • Just Dance 2, 3, 4, Wii and Wii 2 [Wii]
  • Just Dance 3 and 4 [PS3]
  • Just Dance 4 [Wii U/X360]
  • Just Dance Greatest Hits and Summer Party [Wii]
  • Michael Jackson: The Experience [PS3/Wii]

Partially working
  • The Adventures of Tintin: The Game [Wii]: the .bik.bf and .wav.bf archives can be fully extracted but some files from the main .bf archive uses a not fully understood compression format and are extracted as is.
  • From Dust [PS3]: The Tex_* and Wor_* archives can be fully extracted but offset calculation for some files from the Gen_Common.lin.bf archive is wrong, prematurely ending the script with an extraction error.
  • Red Steel 2 [Wii]: The .bik.bf and .sns.bf archives can be fully extracted but the file size calculation for some compressed files from the main .bf archive is wrong, ending the script prematurely unless SKIP_DECOMP flag inside the script is set to 1, which will force all compressed files to be extracted as is.

Not working
  • ZombiU [Wii U]: archives from this game are reportedly version 5 but have significant differences from other version 5 games (e.g. all Just Dance and spin-offs). Completely broken at the moment.
  • Zombi [PC/PS4/XOne]: same as ZombiU.

Untested
  • The Adventures of Tintin: The Game [3DS/PC/PS3/X360]
  • From Dust [PC/X360]
  • Any other game made with Ubisoft's LyN engine not listed here