locale.big (FIFA ONLINE 4)

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
HPAndroid
Posts: 67
Joined: Sun Mar 04, 2018 1:29 am

locale.big (FIFA ONLINE 4)

Post by HPAndroid »

Aluigi can you help me with this file?
It is located in FIFA ONLINE 4 data \ loc folder. Hope you can help!
Thank you! :)
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: locale.big (FIFA ONLINE 4)

Post by aluigi »

It's the classical BIG4 format without encryption (that's a good news compared to FO3):
http://aluigi.org/bms/ea_big4.bms
HPAndroid
Posts: 67
Joined: Sun Mar 04, 2018 1:29 am

Re: locale.big (FIFA ONLINE 4)

Post by HPAndroid »

aluigi wrote:It's the classical BIG4 format without encryption (that's a good news compared to FO3):
http://aluigi.org/bms/ea_big4.bms

Very thank you! :D
Again, can you extract the eng_us.db file? This is the part that I have after extracting the locale.big file. :)
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: locale.big (FIFA ONLINE 4)

Post by aluigi »

Check if there are already tools for similar files used in past games
HPAndroid
Posts: 67
Joined: Sun Mar 04, 2018 1:29 am

Re: locale.big (FIFA ONLINE 4)

Post by HPAndroid »

aluigi wrote:Check if there are already tools for similar files used in past games

Thank you! :D
I have found the tool for this file! It works very efficiently. :)
HPAndroid
Posts: 67
Joined: Sun Mar 04, 2018 1:29 am

vie_vn.big (FO4)

Post by HPAndroid »

I have a file with the .big format, it's in the project that I'm working on. But I have not figured out how to extract this file. Hope somebody can help me! :(
Thank you very much! :)
This is the link: https://drive.google.com/file/d/1qclLuQ ... sp=sharing
beedy
Posts: 81
Joined: Sat Aug 26, 2017 8:09 am

Re: locale.big (FIFA ONLINE 4)

Post by beedy »

HPAndroid wrote:
aluigi wrote:Check if there are already tools for similar files used in past games

Thank you! :D
I have found the tool for this file! It works very efficiently. :)

What is the tool you found? I'm able to check some t3db local strings in nhl series.
HPAndroid
Posts: 67
Joined: Sun Mar 04, 2018 1:29 am

FO4 .big file

Post by HPAndroid »

This is a fairly familiar format! :lol: But it seems I can not extract it :cry: . Hope somebody can help me!
Thank you very much! :)
This is the link: https://drive.google.com/file/d/1LqFNB8 ... sp=sharing
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: locale.big (FIFA ONLINE 4)

Post by aluigi »

@HPAndroid
STOP opening new topics
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: locale.big (FIFA ONLINE 4)

Post by aluigi »

Regarding the 2 files you uploaded, they seem in some way "similar" to those used in FO3 with the complete absence of any header in the first 0x40 bytes which are just zeroes.

vie_vn.big uses a "data" field instead of the classical "chunk" compressed methods and therefore can't work with the work-around used in FO3 while data.big is ok but it's necessary to remove the initial 'idstring "BIg4"' command from the script (http://aluigi.org/bms/raw_ea_10fb_dumper.bms) and you should use the http://aluigi.org/bms/chunklzx.bms script on each dumped file

I was thinking to something a bit automatic but it requires some work, for example:

Code: Select all

math SKIP = 4   # \x00 because it's aligned and limits false positives
get ARCHIVE_SIZE asize
for OFFSET = 0x40 != ARCHIVE_SIZE
    goto OFFSET
   for OK = 1 != 0
        findloc NEXT_OFFSET string "\x00\x00\x00\x00chunk" 0 "" # chunkref and chunkzip
      if NEXT_OFFSET == ""
         math NEXT_OFFSET = ARCHIVE_SIZE
      endif

        if NEXT_OFFSET == ARCHIVE_SIZE
            math OK = 0
        else
            math NEXT_OFFSET + SKIP
            if NEXT_OFFSET & 0xf
                goto NEXT_OFFSET
            else
                math OK = 0 #break
            endif
        endif
   next
    math SIZE = NEXT_OFFSET
    if OFFSET != 0
        include "chunklzx.bms"
    endif
next OFFSET = NEXT_OFFSET
Then open chunklzx.bms and replace the first 4 instructions (those with "NAME") with the following:
string NAME p "%08x.dat" OFFSET

Now you can use the script I pasted above with data.big, just be sure to have the edited chunklzx.bms script in the same folder with the script and quickbms.exe.
quickbms will ask you to overwrite the output file, it's probably a bug so just answer with 'a' to avoid it.
The output files will have no extension so be ready to open all of them with a hex editor.

I hope it's not too complicated just follow the instructions and it will work.
HPAndroid
Posts: 67
Joined: Sun Mar 04, 2018 1:29 am

Re: locale.big (FIFA ONLINE 4)

Post by HPAndroid »

aluigi wrote:@HPAndroid
STOP opening new topics

Very very thank you! Aluigi! :)
I am also very sorry for creating a new topic. Since I found the file to be extracted in a different way, I created a new topic. I am very sorry, I will draw experience! :(
Have fun! :D :mrgreen: :)
HPAndroid
Posts: 67
Joined: Sun Mar 04, 2018 1:29 am

Re: locale.big (FIFA ONLINE 4)

Post by HPAndroid »

aluigi wrote:Regarding the 2 files you uploaded, they seem in some way "similar" to those used in FO3 with the complete absence of any header in the first 0x40 bytes which are just zeroes.

vie_vn.big uses a "data" field instead of the classical "chunk" compressed methods and therefore can't work with the work-around used in FO3 while data.big is ok but it's necessary to remove the initial 'idstring "BIg4"' command from the script (http://aluigi.org/bms/raw_ea_10fb_dumper.bms) and you should use the http://aluigi.org/bms/chunklzx.bms script on each dumped file

I was thinking to something a bit automatic but it requires some work, for example:

Code: Select all

math SKIP = 4   # \x00 because it's aligned and limits false positives
get ARCHIVE_SIZE asize
for OFFSET = 0x40 != ARCHIVE_SIZE
    goto OFFSET
   for OK = 1 != 0
        findloc NEXT_OFFSET string "\x00\x00\x00\x00chunk" 0 "" # chunkref and chunkzip
      if NEXT_OFFSET == ""
         math NEXT_OFFSET = ARCHIVE_SIZE
      endif

        if NEXT_OFFSET == ARCHIVE_SIZE
            math OK = 0
        else
            math NEXT_OFFSET + SKIP
            if NEXT_OFFSET & 0xf
                goto NEXT_OFFSET
            else
                math OK = 0 #break
            endif
        endif
   next
    math SIZE = NEXT_OFFSET
    if OFFSET != 0
        include "chunklzx.bms"
    endif
next OFFSET = NEXT_OFFSET
Then open chunklzx.bms and replace the first 4 instructions (those with "NAME") with the following:
string NAME p "%08x.dat" OFFSET

Now you can use the script I pasted above with data.big, just be sure to have the edited chunklzx.bms script in the same folder with the script and quickbms.exe.
quickbms will ask you to overwrite the output file, it's probably a bug so just answer with 'a' to avoid it.
The output files will have no extension so be ready to open all of them with a hex editor.

I hope it's not too complicated just follow the instructions and it will work.

Aluigi! You have the script for this file
https://drive.google.com/file/d/1G_VGan ... sp=sharing