EA games DBPF compression

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
StreamThread
Posts: 54
Joined: Fri May 27, 2016 2:28 pm

EA games DBPF compression

Post by StreamThread »

Hello

I'm unpacked a ".big" archives of MVF 2005 game by EA. Some unpacked files have '0x10BF' bytes at beginning, so looks like a 'firm' EA compression DBPF. Decompression of these files is possible?

The File infos block from ".big" archives not contain a uncompressed sizes of that files. So, I'm tried commands like 'Clog fileName fileOffset compressedSize comressedSize' or 'Clog fileName fileOffset compressedSize 100000' with seted 'comtype DBPF'. How obvious, this give a error because of wrong uncompressed sizes.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: EA games DBPF compression

Post by aluigi »

It's the refpack algorithm which I call dk2 in quickbms becuse the first time it has been reverse engineered was with Dungeon Keeper 2, but don't worry you can call it comtype EA or comtype RefPack too.
The decompressed size is calculated automatically so it's enough to use the following:

Code: Select all

comtype dk2
get SIZE asize
clog "out.dat" 0 SIZE SIZE
comtype dk2_compress performs the recompression in case you are interested in it.
StreamThread
Posts: 54
Joined: Fri May 27, 2016 2:28 pm

Re: EA games DBPF compression

Post by StreamThread »

Thanks =)

So the unpack script looks now:

Code: Select all

#MVP Baseball 2005 *.big 'BIGF' #Electronic Arts 

comtype EA
IDString "BIGF"

get bigfSz long
endian big
get fileCnt long
get dataOffset long

for I = 1 to fileCnt
endian big
get fOffset long
get fSize long
endian little
get fName string

savepos curPos
goto fOffset
get comID short

if comID == 0xFB10
cLog fName fOffset fSize fSize
else
log fName fOffset fSize
endif

goto curPos
next I


And BIGF samples in attach just in case )
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: EA games DBPF compression

Post by aluigi »

Why not using the existent script?
http://aluigi.org/bms/ea_big4.bms
StreamThread
Posts: 54
Joined: Fri May 27, 2016 2:28 pm

Re: EA games DBPF compression

Post by StreamThread »

aluigi wrote:Why not using the existent script?
http://aluigi.org/bms/ea_big4.bms


I'm not found that. And just write a script for self was more interesting :D