Exient XGS Engine: Angry Birds GO/Transformers *.XAL (XGS Asset List)

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

Exient XGS Engine: Angry Birds GO/Transformers *.XAL (XGS Asset List)

Post by LolHacksRule »

Anyone going to try to figure out these files? It is a list of files the game will load. The CDN (cache_assets.xal) version has MD5 hashes, not so sure about other versions...
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Exient XGS Engine: Angry Birds GO/Transformers *.XAL (XGS Asset List)

Post by aluigi »

Code: Select all

idstring "XAL\0"
get DUMMY long
get FILES long
getdstring DUMMY 3
for i = 0 < FILES
    get NAMESZ short
    get DUMMY long
    getdstring HASH 16
    getdstring HASH 16
    get DUMMY long
    getdstring DUMMY 10
    get DUMMY long
    get DUMMY long
    get DUMMY long
    getdstring NAME NAMESZ

    #string HASH b HASH
    print "%HASH|hex 16% %NAME%"
next i
LolHacksRule
Posts: 865
Joined: Fri Apr 20, 2018 12:41 am

Re: Exient XGS Engine: Angry Birds GO/Transformers *.XAL (XGS Asset List)

Post by LolHacksRule »

Thanks so much.
LolHacksRule
Posts: 865
Joined: Fri Apr 20, 2018 12:41 am

Re: Exient XGS Engine: Angry Birds GO/Transformers *.XAL (XGS Asset List)

Post by LolHacksRule »

This version of assets.xal from ABT v1.47.2's APK doesn't find any hashes yet there are some according to file hashes, filenames are fine though. I found the culprit, the hashes are repeated twice for some reason. Hash is above filename below it like MD5HASH data/XXX.xxx, also 0x08 is filecount.
LolHacksRule
Posts: 865
Joined: Fri Apr 20, 2018 12:41 am

Re: Exient XGS Engine: Angry Birds GO/Transformers *.XAL (XGS Asset List)

Post by LolHacksRule »

Here's a mod for it to work with single hashes.

Code: Select all

#Modified by LolHacksRule

idstring "XAL\0"
get DUMMY long
get FILES long
getdstring DUMMY 3
for i = 0 < FILES
    get NAMESZ short
    get DUMMY long
    getdstring HASH 16
    #getdstring HASH 16
   getdstring DUMMY 16
    get DUMMY long
    getdstring DUMMY 10
    get DUMMY long
    get DUMMY long
    get DUMMY long
    getdstring NAME NAMESZ

    #string HASH b HASH
    print "MD5: %HASH|hex 16% File: %NAME%"
next i