[SOLVED] EA .VIV (BIGH) variant (from 2009)

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
AlphaTwentyThree
Posts: 909
Joined: Sat Aug 09, 2014 11:21 am

[SOLVED] EA .VIV (BIGH) variant (from 2009)

Post by AlphaTwentyThree »

Hi Luigi of all people

Quite unbelieavably, I've actually found some EA viv archives where your script doesn't work: https://1fichier.com/?r9g7icbg6x1ytojoavhk

Featured in "The Godfather II" for Xbox 360. As the game is already from 2009 I was really surprised...
If you could add this version, I'd be extremely thankful. :)
Last edited by AlphaTwentyThree on Fri Jan 21, 2022 8:50 am, edited 1 time in total.
AlphaTwentyThree
Posts: 909
Joined: Sat Aug 09, 2014 11:21 am

Re: EA .VIV (BIGH) variant (from 2009)

Post by AlphaTwentyThree »

I've adjusted the script for this particular variant. No idea how to properly implement it into your version though...

Code: Select all

# *.VIV archives from "The Godfather II"
# (c) 2022-01-02 by AlphaTwentyThree of ZenHAX
#
# script for QuickBMS http://quickbms.aluigi.org

endian big
idstring "BIG"
get VER byte
get FSIZE long
get FILES long
get HSIZE long
get BNAME basename
for i = 0 < FILES

    get OFFSET long
    get SIZE long
   get CRC long
   if SIZE != 0
      savepos TMP
      goto OFFSET
      getDstring EXT 3
      if EXT == "SCH"
         set EXT "vp6"
      elif EXT == "MVh"
         set EXT "vp6"
      elif EXT == "ols"
         set EXT "gf2"
      else
         goto OFFSET
         get TYPE byte
         if TYPE == 3
            set EXT "exa.snu"
         endif
      endif
      goto TMP
      string NAME p "%s_0x%08x.%s" BNAME CRC EXT
      log NAME OFFSET SIZE
   endif
next i