Ubisoft Massive Snowdrop Engine: BVM header (Binary Variant Map, data serialization)

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
LolHacksRule
Posts: 865
Joined: Fri Apr 20, 2018 12:41 am

Ubisoft Massive Snowdrop Engine: BVM header (Binary Variant Map, data serialization)

Post by LolHacksRule »

The samples are from Mario + Rabbids Kingdom Battle, I think they are game-specific but take what you can get. Will someone figure out a way of converting the files to plaintext C++ files? Some files in games that are usually serialized are sometimes plaintext but not always... All I know so far is the byte after the header is the node count and its inverted when more than 255 nodes are used. http://tiny.cc/MRKB_BASE_BINARYSCRIPTS (Mario+Rabbids files)

Here's some hex info.

Code: Select all

4bytes (header): FF 42 56 4D (ÿBVM)
1-2bytes: Total node count, files with more than 255 nodes adds an extra byte.
1byte: Byte count for node name/string values (REPEATS FOR MULTIPLE NODES)
06-??: Node name/string value (REPEATS FOR MULTIPLE NODES)
DEPENDENT ON FILE: End of nodes/string values, ends at 01 after the last name/string value.
BEYOND: Hex values for booleans, floats, filenames, varmaps, uid, uid refs <empty> and ints, also node and string IDs.
LolHacksRule
Posts: 865
Joined: Fri Apr 20, 2018 12:41 am

Re: Ubisoft Massive Snowdrop Engine: BVM header (Binary Variant Map, data serialization)

Post by LolHacksRule »

Some scripts aren't serialized (like MGRAPHOBJECT, MUIGRAPH) for MRKB's base. http://tiny.cc/MRKB_BASE_NOTBINARY
Oh and here's the scripts that are never serialized for MRKB's base (EDITORDATA files that are 4b are excluded due to having no data). http://tiny.cc/MRKB_BASE_SCRIPTS
LolHacksRule
Posts: 865
Joined: Fri Apr 20, 2018 12:41 am

Re: Ubisoft Massive Snowdrop Engine: BVM header (Binary Variant Map, data serialization)

Post by LolHacksRule »

MRKB PixelPack DLC scripts coming soon
LolHacksRule
Posts: 865
Joined: Fri Apr 20, 2018 12:41 am

Re: Ubisoft Massive Snowdrop Engine: BVM header (Binary Variant Map, data serialization)

Post by LolHacksRule »

Thanks I honestly started to try my best at deserializing these before I saw this, MVARs are the ones I find the easiest currently, stupid question do I have to compile exes or just read its code to get ideas
Sir Kane
Posts: 16
Joined: Sun Mar 27, 2016 7:20 pm

Re: Ubisoft Massive Snowdrop Engine: BVM header (Binary Variant Map, data serialization)

Post by Sir Kane »

It's meant to be used as reference for writing your own code. It won't compile as is since that code is just the loading part.
LolHacksRule
Posts: 865
Joined: Fri Apr 20, 2018 12:41 am

Re: Ubisoft Massive Snowdrop Engine: BVM header (Binary Variant Map, data serialization)

Post by LolHacksRule »

Oh ok thanks then
LolHacksRule
Posts: 865
Joined: Fri Apr 20, 2018 12:41 am

Re: Ubisoft Massive Snowdrop Engine: BVM header (Binary Variant Map, data serialization)

Post by LolHacksRule »

Never made my own program yet... Guess I gotta look at other people's serializer tools source to get an idea
LolHacksRule
Posts: 865
Joined: Fri Apr 20, 2018 12:41 am

Re: Ubisoft Massive Snowdrop Engine: BVM header (Binary Variant Map, data serialization)

Post by LolHacksRule »

Currently did the usage command print