[MOBILE] Chimeraland/ Fancyworld

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
Drawing
Posts: 112
Joined: Fri Aug 05, 2016 6:17 pm

[MOBILE] Chimeraland/ Fancyworld

Post by Drawing »

Hi guys,

Name: Chimeraland / FancyWorld
Download: https://apkcombo.com/it/chimeraland/com ... ancyworld/

Recently tencent released this stunning mobile game.

However .obb files cannot be extracted.

Here header of main.obb :

Image

Can anyone take a look?

Greetings,
Drawing
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: [MOBILE] Chimeraland/ Fancyworld

Post by aluigi »

There is a script on my website for the PPkg1.0 format, can you check it?
http://aluigi.org/bms/seek_fairy.bms
Drawing
Posts: 112
Joined: Fri Aug 05, 2016 6:17 pm

Re: [MOBILE] Chimeraland/ Fancyworld

Post by Drawing »

aluigi wrote:There is a script on my website for the PPkg1.0 format, can you check it?
http://aluigi.org/bms/seek_fairy.bms



script doesn t seem to work

Image
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: [MOBILE] Chimeraland/ Fancyworld

Post by aluigi »

Can you upload the first few megabytes of the OBB? (because that APK is almost 4Gb)
Maybe you can use the filecutter script for generating the files we need:
http://aluigi.org/bms/filecutter.bms
Drawing
Posts: 112
Joined: Fri Aug 05, 2016 6:17 pm

Re: [MOBILE] Chimeraland/ Fancyworld

Post by Drawing »

Here you are cutted main.obb and patch.obb

https://www.mediafire.com/file/8eem51ylsv996fm/sample.rar/file
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: [MOBILE] Chimeraland/ Fancyworld

Post by aluigi »

Ok, I adapted the script to this slightly different version:
http://aluigi.org/bms/chimeraland.bms

Please let me know if quickbms gives you any error, a screenshot or copy&paste of the error will help me to fix it
Drawing
Posts: 112
Joined: Fri Aug 05, 2016 6:17 pm

Re: [MOBILE] Chimeraland/ Fancyworld

Post by Drawing »

aluigi wrote:Ok, I adapted the script to this slightly different version:
http://aluigi.org/bms/chimeraland.bms

Please let me know if quickbms gives you any error, a screenshot or copy&paste of the error will help me to fix it



It shows error, however patch.obb was almost completely extracted.

Image
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: [MOBILE] Chimeraland/ Fancyworld

Post by aluigi »

The first error is caused by a non-compressed file, I can fix it easily.
But the second one is a problem because it seems encrypted, additionally the field that I thought was related to compression here is zero instead of 2 while the data is compressed because compressed and uncompressed size are indeed different.
Also the flag is 0x100 like all the other files.
In short I don't have any way to recognize if this file is encrypted/invalid or not, luckily it's just the last file so "who cares" :D

Anyway I updated the script by checking if that field is 0, 1 or 2 and, long story short, it can dump ("as-is") also the last weird file of the patch archive.
Drawing
Posts: 112
Joined: Fri Aug 05, 2016 6:17 pm

Re: [MOBILE] Chimeraland/ Fancyworld

Post by Drawing »

Thanks a lot aluigi :)
RegistA34
Posts: 1
Joined: Wed Jul 20, 2022 6:30 am

Re: [MOBILE] Chimeraland/ Fancyworld

Post by RegistA34 »

Hi ALuigi, wanted to thank you so much for developing the BMS utility and also the scripts. I was wondering if you could post the updated script that you talked about it in this thread. It seems the script currently doesn't handle the flag index of "3" which I can tell you from looking at the offsets where the script stops that they are OGG files. I can post some of the data from the .obb file so you could see what the data/header looks like. Would it be possible for you to update the script so that it saves these files that have the "3" flag as .ogg files? Thanks again!

Edit: Gotta love when issues just work themselves out :D

After reading the documentation a bit I ended up trying to add the following lines into the chimeraland.bms script which worked to get all the .ogg files.

Code: Select all

    elif ZIP == 3
        log "" OFFSET ZSIZE


If anyone is reading this and wants to modify their script, add these lines below the following ones:

Code: Select all

    elif ZIP == 2
        # comtype zlib
        # clog "" OFFSET ZSIZE SIZE