Just Cause 3 Arc/Tab format.

The Original Forum. Game archives, full of resources. How to open them? Get help here.
OrangeC
double-veteran
double-veteran
Posts: 841
Joined: Sun Apr 20, 2008 2:58 am
Has thanked: 5 times
Been thanked: 33 times

Just Cause 3 Arc/Tab format.

Post by OrangeC » Tue Dec 01, 2015 6:03 pm

If anyone can take a look thanks.

https://www.sendspace.com/file/w516pe

Ekey
M-M-M-Monster veteran
M-M-M-Monster veteran
Posts: 1638
Joined: Wed Mar 31, 2010 6:54 am
Has thanked: 62 times
Been thanked: 817 times

Re: Just Cause 3 Arc/Tab format.

Post by Ekey » Wed Dec 02, 2015 12:40 am

You provided invalid TAB file (game33.tab) for ARC (game34.arc). Anyway try this http://aluigi.altervista.org/bms/justcause2.bms

Gh0stBlade
Moderator
Posts: 672
Joined: Mon Jul 05, 2010 8:55 pm
Has thanked: 20 times
Been thanked: 304 times

Re: Just Cause 3 Arc/Tab format.

Post by Gh0stBlade » Wed Dec 02, 2015 9:31 pm

Very simple format. Looked at this yesterday.

1. .tab files contain the filetable, offsets to files and their hashes.
2. .arc contains the actual filedata.
3. Each tab is paired with an .arc file. It also has a .txt file paired containing all the filenames including their hashes (looks like devs accidentally left them over).
4. Don't ask me about compression, some files might be compressed and there's probably a flag somewhere. It should be zlib.

Code: Select all

struct tabFileEntry
{
	unsigned int m_hashedName;
	unsigned int m_fileOffset;
	unsigned int m_fileSize;
};

struct tab
{
	unsigned int m_magic;//"TAB "
	unsigned short m_unk00;//Probably version always 2
	unsigned short m_unk01;//Always 1?
	unsigned long  m_unk02;//Alignment?
	tabFileEntry[numFiles];
};

numFiles = (tabfileSize-0xC)/0xC;
Click the thanks button if I helped!

User avatar
shakotay2
MEGAVETERAN
MEGAVETERAN
Posts: 2605
Joined: Fri Apr 20, 2012 9:24 am
Location: Nexus, searching for Jim Kirk
Has thanked: 638 times
Been thanked: 1332 times

Re: Just Cause 3 Arc/Tab format.

Post by shakotay2 » Thu Dec 03, 2015 12:58 am

yeah, totally easy. You can even cut an uncompressed file from the .arc using a hexeditor and create a wav from it using daemon1's fmod_extr:
2107115430.zip

Code: Select all

HASH       BYTEOFFSET SIZE       DCOMP SIZE  NAME      
========== ========== ========== ==========  ==========
0x9437BC85 0x00000000 0x0000DD10 0x0000DD10  sound/dialogue/bra/mission_mm220_dial_gameplay_shieldup_010.wavc
btw: it's not from the .arc in the opening post - it's from game55.arc in another parallel thread that obviously has been deleted to not confuse people. :)
You do not have the required permissions to view the files attached to this post.
Bigchillghost, Reverse Engineering a Game Model: viewtopic.php?f=29&t=17889
extracting simple models: viewtopic.php?f=29&t=10894
Make_H2O-ForzaHor3-jm9.zip
"You quoted the whole thing, what a mess."

iUltimateLP
ultra-n00b
Posts: 6
Joined: Wed Dec 10, 2014 5:24 pm
Been thanked: 1 time

Re: Just Cause 3 Arc/Tab format.

Post by iUltimateLP » Thu Dec 03, 2015 10:23 am

Yep, that was my post.. No matter, is there any easier way than cutting this with a hex editor? I mean, the files are 800MB big :D

User avatar
shakotay2
MEGAVETERAN
MEGAVETERAN
Posts: 2605
Joined: Fri Apr 20, 2012 9:24 am
Location: Nexus, searching for Jim Kirk
Has thanked: 638 times
Been thanked: 1332 times

Re: Just Cause 3 Arc/Tab format.

Post by shakotay2 » Thu Dec 03, 2015 1:18 pm

easy ways are boring, aren't they?

here you go (tested with Sound Archive game55.arc only!):

Code: Select all

# Just Cause 3, tested with Sound Archive game55.arc only!
# script for QuickBMS http://quickbms.aluigi.org

open FDDE "tab" 0
open FDDE "arc" 1

set EXT string "fsb"

get ARC_SIZE asize 1
get TAB_SIZE asize
goto 12

for i = 0
    savepos CURR_OFF
    if CURR_OFF >= TAB_SIZE
        cleanexit
    endif
    get NAME_CRC long
    get OFFSET long
    get FSIZE long

    math OFFSET += 16
    math FSIZE -= 16
    
    string NAME p= "%08x.%s" NAME_CRC EXT
    log NAME OFFSET FSIZE 1
next i
Will extract 1365 fsb files from game55.arc.
Filenames are not "un-hashed", sry.
Last edited by shakotay2 on Thu Dec 03, 2015 1:33 pm, edited 1 time in total.
Bigchillghost, Reverse Engineering a Game Model: viewtopic.php?f=29&t=17889
extracting simple models: viewtopic.php?f=29&t=10894
Make_H2O-ForzaHor3-jm9.zip
"You quoted the whole thing, what a mess."

Ekey
M-M-M-Monster veteran
M-M-M-Monster veteran
Posts: 1638
Joined: Wed Mar 31, 2010 6:54 am
Has thanked: 62 times
Been thanked: 817 times

Re: Just Cause 3 Arc/Tab format.

Post by Ekey » Thu Dec 03, 2015 1:25 pm

Almost finish.

See below.
Last edited by Ekey on Thu Dec 03, 2015 3:57 pm, edited 1 time in total.

User avatar
CzlowiekDrzewo
n00b
Posts: 12
Joined: Sun Aug 17, 2014 10:46 am
Has thanked: 5 times

Re: Just Cause 3 Arc/Tab format.

Post by CzlowiekDrzewo » Thu Dec 03, 2015 2:45 pm

How can I find a particular file in an .arc archive using hash names in Hex Editor?

iUltimateLP
ultra-n00b
Posts: 6
Joined: Wed Dec 10, 2014 5:24 pm
Been thanked: 1 time

Re: Just Cause 3 Arc/Tab format.

Post by iUltimateLP » Thu Dec 03, 2015 3:04 pm

CzlowiekDrzewo wrote:How can I find a particular file in an .arc archive using hash names in Hex Editor?
Get the Byte offset and the length, then a great hex editor like HxD, open the arc file where its inside, calculate the end adress with a hex calculator (byte offset + length), and mark all bytes between the start and end adress. Copy that in a new file and save it as the extension you need, and your done. In HxD you can use Ctrl+E for easier selecting of a range of bytes :)

Ekey
M-M-M-Monster veteran
M-M-M-Monster veteran
Posts: 1638
Joined: Wed Mar 31, 2010 6:54 am
Has thanked: 62 times
Been thanked: 817 times

Re: Just Cause 3 Arc/Tab format.

Post by Ekey » Thu Dec 03, 2015 3:56 pm

Ok, unpacker is out. I will share packer later.

https://www.sendspace.com/file/nel9xi

iUltimateLP
ultra-n00b
Posts: 6
Joined: Wed Dec 10, 2014 5:24 pm
Been thanked: 1 time

Re: Just Cause 3 Arc/Tab format.

Post by iUltimateLP » Thu Dec 03, 2015 6:50 pm

Ekey wrote:Ok, unpacker is out. I will share packer later.

https://www.sendspace.com/file/nel9xi
Nice, but how to actually extract a file? This looks more like a viewer to me..

Ekey
M-M-M-Monster veteran
M-M-M-Monster veteran
Posts: 1638
Joined: Wed Mar 31, 2010 6:54 am
Has thanked: 62 times
Been thanked: 817 times

Re: Just Cause 3 Arc/Tab format.

Post by Ekey » Thu Dec 03, 2015 7:23 pm

iUltimateLP wrote:
Ekey wrote:Ok, unpacker is out. I will share packer later.

https://www.sendspace.com/file/nel9xi
Nice, but how to actually extract a file? This looks more like a viewer to me..
Just open tab index file. Extracting files will be automaticly! You must see output directory with extracted files in same tab folder > Unpacked. Examples:

Code: Select all

Tab Location: e:\Games\Just Cause 3\archives_win64\game2.tab
Output directory will be here: e:\Games\Just Cause 3\archives_win64\Unpacked
Packer for test only
https://www.sendspace.com/file/hmugmy

Make backup files!

iUltimateLP
ultra-n00b
Posts: 6
Joined: Wed Dec 10, 2014 5:24 pm
Been thanked: 1 time

Re: Just Cause 3 Arc/Tab format.

Post by iUltimateLP » Thu Dec 03, 2015 7:35 pm

Ah lol didn't know that, thanks for your work!!

MightWeasel
ultra-n00b
Posts: 1
Joined: Wed Dec 02, 2015 4:50 pm

Re: Just Cause 3 Arc/Tab format.

Post by MightWeasel » Thu Dec 03, 2015 7:58 pm

Can anyone help me getting a high rez image file of the map pls? Would be very appreciated.

Gh0stBlade
Moderator
Posts: 672
Joined: Mon Jul 05, 2010 8:55 pm
Has thanked: 20 times
Been thanked: 304 times

Re: Just Cause 3 Arc/Tab format.

Post by Gh0stBlade » Fri Dec 04, 2015 1:21 pm

I don't have the game, is anyone able to share a model file?
Click the thanks button if I helped!

Post Reply