What's new

BioHazard Zero ARC format cracked

MarkGrass

New member
Code:
#########################################################
#	Resident Evil/BioHazard Zero .ARC Archive	#
#		   By Mark Grass			#
#########################################################

VERSION INFO:
V1_08-12-06 - Initial release of this documentation.

NOTES:
This ARC format differs from the RARC format used
commonly in several Gamecube titles from Nintendo that
was cracked by thakis, respectively.

A file with the ARC extension could really be a LZ
compressed archive, or perhaps another file with the
MHP extension is really a ARC format file (not all
default extensions are proper).

Some ARC archives are missing their 32 byte header. Files
that are missing headerless begin with the File String
starting at offset 0x00.

In this documented example the File String Offset is 0x20!
y = Subsitute for a HEX Value.

INDEX:
ARC HEADER
	-Number Of Files
	-File String Offset
FILE STRING
	-File Location
	-File Size
	-File Name
	-File Extension

#########################################################
#		    ARC HEADER				#
#########################################################
*********************************************************
*	        -Number Of Files-			*
*  The total number of files in the .ARC is stored at	*
*  offset 0x00000006, and is 2 bytes. It is defined in	*
*  HEX Value.						*
*********************************************************

EXAMPLE:
If offsets 0x00000006~0x00000007 read:
0024

That means there's 32 files located within the archive.

*********************************************************
*	       -File String Offset-			*
*  The File String Offset defines the start location of	*
*  the File# 1 descriptor. It is 2 bytes, and is located*
*  at offset 0x0000000A. Its value is defined in HEX.	*
*********************************************************

EXAMPLE:
If offsets 0x0000000A~0x0000000B read:
0020

That means the "File String" begins at offset 0x00000020.

#########################################################
#		   File String				#
#########################################################
*********************************************************
*		-File Locations-			*
*  File locations are stored at every 0x20 HEX byte	*
*  increase starting from the offset defined by the File*
*  String Offset, and is 4 bytes. They are defined in	*
*  HEX Value.						*
*********************************************************

EXAMPLE:
0x00000020~0x00000023 - Location of File# 1
0x00000040~0x00000043 - Location of File# 2

...and so on until all files are accounted for.

EXAMPLE:
If offsets 0x00000020~0x00000023 read:
000004A0

That means that File# 1 begins at offset 0x000004A0 
(from the begining of the file: offset 0x00).

*********************************************************
*		  -File Sizes-				*
*  File sizes are stored at every 0x20 HEX byte increase*
*  starting at offset 0x000000y4, and is 8bytes. They	*
*  are defined in HEX Value.				*
*********************************************************

EXAMPLE:
If offsets 0x00000024~0x00000027 read:
0042A580

Then the specific file descripted is 42A580 in HEX Value
size.

*********************************************************
*		  -File Names-				*
*  File names are stored at every 0x20 HEX byte increase*
*  starting at offset 0x000000y8, and is 8bytes. They	*
*  are defined in Binary Text Strings.			*
*********************************************************

EXAMPLE:
If offsets 0x00000028~0x0000002F read:
trc00

The file is named "trc00".

*********************************************************
*	        -File Extensions-			*
*  File extensions are stored at every 0x20 HEX byte	*
*  increase starting at offset 0x000000y0, and is 8	*
*  bytes. They are defined in Binary Text Strings.	*
*********************************************************

EXAMPLE:
If offsets 0x00000030~0x00000037 read:
arc

The file has the extension "arc".


After simply cracking that ARC format, I ran into a problem. I have found a bunch of LZ compressed files archived into those ARC files, but I can't find a decompressor to extract/view the contents. I am providing a sample LZ compressed archive in very high hopes that someone can write a small app to decompress the contents and vise-versa.

http://rapidshare.de/files/29188657/config.lz.html
 

BlueFalcon7

New member
is biohazard zero by any chance made by amusment vision (AV) or SEGA? Because I found .lz files, and .arc files in F-Zero GX.

The .arc, and .lz might be like one to archive the files, and one to compress the archive like a .tar.bz2. So in other words, maybe the .lz is like a filesystem in a file, and is uncompressed.
 
OP
M

MarkGrass

New member
BioHazard Zero is made by Capcom, so it's possible that the ARC/LZ files found in BH0 and F-Zero GX are a common Gamecube format (unless already proven otherwise).

The .arc, and .lz might be like one to archive the files, and one to compress the archive like a .tar.bz2.

Very possible considering I found a plethora of LZ compressed files archived into ARC files. I haven't found any compressed ARC files, but all the LZ files archived into those ARC files are definitely compressed some how.
 
Last edited:

Top