WWE 2K22 [CAK & PCK Files!!!]

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
MuslimCyberGames
Posts: 220
Joined: Sun Nov 06, 2016 3:28 pm

WWE 2K22 [CAK & PCK Files!!!]

Post by MuslimCyberGames »

Image
WWE2K22

Hello, can anyone make some script for unpack/repack this files?

I attach some files for a test: (But, the file is a bit big)

- Bakedfiles.cak [1.39 GB] = CEK DISINI
- Story.pck [91.7 MB] = CEK DISINI

Thanks for helping.

Sorry for my bad English.
JackTheRipper
Posts: 51
Joined: Mon Jan 10, 2022 12:12 am

Re: WWE 2K22 [CAK & PCK Files!!!]

Post by JackTheRipper »

MuslimCyberGames wrote:Image
WWE2K22

Hello, can anyone make some script for unpack/repack this files?

I attach some files for a test: (But, the file is a bit big)

- Bakedfiles.cak [1.39 GB] = CEK DISINI
- Story.pck [91.7 MB] = CEK DISINI

Thanks for helping.

Sorry for my bad English.

The *.CAK files seems encrypted?
MSQ
Posts: 20
Joined: Sat Oct 30, 2021 7:59 pm

Re: WWE 2K22 [CAK & PCK Files!!!]

Post by MSQ »

https://www.fileforums.com/showpost.php ... tcount=243
Razor12911 wrote:Straight away I'll say working on this game has been a headache especially since there is no information online so I'll post some information if someone wants to continue to work on it but doesn't know where to start.

This game is heavily obfuscated/encrypted. The header structed is encrypted, the data itself is encrypted. They used weak xor encryption which is weak but the catch is these keys are different for each stream/block that's encrypted, they are generated based on a generated hash to produce a 256 byte key.

Since I had no idea how to decrypt the header to get these hash values, I just hijacked the exe by injecting code then to be able to obtain decrypted headers which has a structure that looks like this

Code: Select all

type
  PWWEStruct = ^TWWEStruct;

  TWWEStruct = record
    Position, Hash: Int64; {not sure if Hash is 32-bit or 64-bit}
    StreamIndex, CSize, Format, DSize, Unk1, FileIndex: Int32; {FileIndex = bakedfile##.cak}
  end;


As for compression that was used, they used Hydra which comes from oodle library hence you see oo2core_9_win64.dll