Important information: this site is currently scheduled to go offline indefinitely by end of the year.

Call of Duty: Black Ops 3 FD inner compression

Read or post about compression. And decompression. Or ask questions how to decompress your files.
Post Reply
mix
ultra-n00b
Posts: 9
Joined: Tue Jul 15, 2008 7:14 pm
Been thanked: 1 time

Call of Duty: Black Ops 3 FD inner compression

Post by mix »

Hello,

in CoDBO3 there are FD files which are not encrypted, and I assume they would contain localization files. After signature, there's ZLIB compressed data. After decompressing, there seems to be yet another compression method used. It's possibly something dictionary based. Thanks for any collaboration.

Pictures of the inner compression:
Image

Link to ZLIB decompressed blocks: https://www.sendspace.com/file/ntktcg
RedEyeX32
ultra-n00b
Posts: 8
Joined: Sun Sep 21, 2014 9:38 pm
Been thanked: 2 times

Re: Call of Duty: Black Ops 3 FD inner compression

Post by RedEyeX32 »

mix wrote:Hello,

in CoDBO3 there are FD files which are not encrypted, and I assume they would contain localization files. After signature, there's ZLIB compressed data. After decompressing, there seems to be yet another compression method used. It's possibly something dictionary based. Thanks for any collaboration.

Pictures of the inner compression:
Image

Link to ZLIB decompressed blocks: https://www.sendspace.com/file/ntktcg
They are using LZO1X as the other layer of compression.
mix
ultra-n00b
Posts: 9
Joined: Tue Jul 15, 2008 7:14 pm
Been thanked: 1 time

Re: Call of Duty: Black Ops 3 FD inner compression

Post by mix »

Could you provide some more detail? How did you determine lzo1x? I tried lzo1x_decompress from minilzo and couldn't make it work. At which offset does the lzo compressed block start (I assume at least first 4 bytes to be a header)?
RedEyeX32
ultra-n00b
Posts: 8
Joined: Sun Sep 21, 2014 9:38 pm
Been thanked: 2 times

Re: Call of Duty: Black Ops 3 FD inner compression

Post by RedEyeX32 »

mix wrote:Could you provide some more detail? How did you determine lzo1x? I tried lzo1x_decompress from minilzo and couldn't make it work. At which offset does the lzo compressed block start (I assume at least first 4 bytes to be a header)?
Data seems to start at offset 0x04, I will try later today.
Seems like it is some other kind of LZ variant.
mix
ultra-n00b
Posts: 9
Joined: Tue Jul 15, 2008 7:14 pm
Been thanked: 1 time

Re: Call of Duty: Black Ops 3 FD inner compression

Post by mix »

So any ideas a about the compression type?
Post Reply