Gameloft GLLib data.bar (Windows Mobile)

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

Gameloft GLLib data.bar (Windows Mobile)

Post by LolHacksRule »

I'm planning to datamine a lot of Gameloft's legacy Java titles. I stumbled upon the Samsung Windows Mobile version of the game however, the messy filesystem is crammed into a file called 0000data.005 where the file name after extraction is data.bar. The format is not a simple zip archive but it's relatively easy to document. Is it possible for a QuickBMS script to get made for extracting the filesystem from this file? It would help a lot.

It seems it's also used with other GL titles on WinMobile.

https://raw.githubusercontent.com/LolHacksRule/GameFileFormatsRE/main/Gameloft/GameloftBubbleBash2SamsungBarFile.bt
Last edited by LolHacksRule on Fri Jan 07, 2022 7:24 pm, edited 1 time in total.
LolHacksRule
Posts: 865
Joined: Fri Apr 20, 2018 12:41 am

Re: Bubble Bash 2 data.bar (Samsung Windows Mobile)

Post by LolHacksRule »

Actually, I decided to solve it myself! This also seems to work with other Win Mobile ports from GL.

Code: Select all

#Reading of data.bar in WinPhone ports from Gameloft
#Wow my first QuickBMS script -LHR

endian big
get FILES short
for i = 0 < FILES
    get STRINGSIZE short
   getdstring FNAME STRINGSIZE
   get OFFSET long
   get FILEBYTESIZE long
    putarray 0 i OFFSET
   log FNAME OFFSET FILEBYTESIZE
next i
savepos BASE_OFF
for i = 0 < FILES
    getarray FILEBYTESIZE 0 i
    math FILEBYTESIZE - OFFSET
    math OFFSET + BASE_OFF
next i