Unity Unity3d UnityFS

From XentaxWiki
Jump to: navigation, search

Back to index | Edit this page

Unity3d

  • Format Type : Archive
  • Endian Order : Little Endian / Big Endian
  • Signature : UnityFS


Format Specifications

// Unity3d file format

// header
8 bytes (char) - signature + null // "UnityFS"
4 bytes (uint32) - version  // 6 or 7
6 bytes (char) - minimum player version + null  // e.g. "5.x.x."
12 bytes (char) - file engine version + null // e.g. "2017.4.35f1." - "Punishing: Gray Raven"
                                             //      "2018.4.24f1." - "Shadowverse" / "Wings of Destiny M"
                                             //      "2018.4.5f1.." - "Blacksad: Under The Skin"
                                             //      "2019.4.22f1." - "Game of Nightmares"
                                             //      "2019.4.23f1." - "Argonavis"
8 bytes (uint64) - archive size
4 bytes (uint32) - compressed "info block" data size
4 bytes (uint32) - uncompressed "info block" data size
4 bytes (uint32) - flags


// info block
// Note: this section may be compressed with LZ4
{
   // blocks info
   16 bytes - hash
   4 bytes (uint32) - number of blocks  
   num_of_blocks *
   {
      4 bytes (uint32) - uncompressed block size
      4 bytes (uint32) - compressed block size
      2 bytes (uint16) - flags
   }

   // paths info
   4 bytes (uint32) - number of paths
   num_of_paths *
   {
      8 bytes (uint64) - path location
      8 bytes (uint64) - size of the uncompressed data
      4 bytes (uint32) - flags  // 0x04 - serialized file
      37 bytes (char) - filepath  // e.g. "CAB-c0f952eacf35e09957047188fc534360"
   }
}

   
// data
num_of_files *
{
   x bytes - file data  // may be compressed with LZ4
}  

MultiEx BMS Script

Not written yet.

quickBMS Scripts

Notes and Comments

  • UnityFS is a new asset bundle format introduced in Unity 5 Engine.
  • Files inside archive may be compressed with LZ4 compression method.
  • Archive may be partially or fully encrypted with XOR or with AES.
  • In some games filenames of unity3d archives may be hashed, for example "06477b71ac17b5740482e85abc24da14" and they don't have *.unity3d extension.

Games

List of games using this file format:

  • Alternative girls 2 (Android) (no extension)
  • Argonavis from BanG Dream! AAside (Android) (no extension) (encrypted with XOR, key is "CB 69 BF 09")
  • Blacksad: Under The Skin (no extension?)
  • Game of Nightmares (iOS) (no extension) (encrypted with XOR, key is "0x0B", more info here)
  • NEO: The World Ends With You (PC) (*.unity3d) (Encrypted with AES-128-CBC, read more here)
  • Punishing: Gray Raven (Android) (no extension) (Unity 2017.4.35f1) (Game version: 1.9.1 (global) ) (not encrypted, but "Kuro" word is added before "UnityFS" signature)
  • Shadowverse (Android) (*.unity3d)
  • Wings of Destiny M (Android) (*.unity3d) (encrypted?)

Compatible Programs

See Also

Gallery