View Single Post
  #243  
Old 14-03-2022, 14:45
Razor12911's Avatar
Razor12911 Razor12911 is offline
Programmer
 
Join Date: Jul 2012
Location: South Africa
Posts: 3,646
Thanks: 2,026
Thanked 10,417 Times in 2,211 Posts
Razor12911 is on a distinguished road
WWE 2K22 research information

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:
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 set to level 6. So if you plan on decompressing all the streams, it's important that you know the decompressed stream size as Hydra streams can either be Kraken, Mermaid/Selkie or Leviathan in terms of their format (Leviathan streams cannot be processed directly by xtool properly if decompressed size is unknown)

The attachment contains decrypted headers for the first 15GB.

Code:
[0] Performing scan from block 0000000000000000 to 0000000000003E87 (16008)
[0] Actual hydra stream found at 0000000000000000 (16008 >> 71384)

[0] Processing streams on block 0000000000000000 to 0000000000003E87 (16008)
[0] Processed hydra stream at 0000000000000000 (16008 >> 71384 >> 16008) using l6,c0,t256 successfully
Attached Files
File Type: 7z wwe2k22_decrypted_headers.7z (2.41 MB, 28 views)
File Type: 7z sample.7z (48.7 KB, 18 views)

Last edited by Razor12911; 14-03-2022 at 14:52.
Reply With Quote
The Following 7 Users Say Thank You to Razor12911 For This Useful Post:
:( Sad8669 (14-03-2022), anotherLostAccount (20-04-2022), Gehrman (15-03-2022), GTX590 (18-03-2022), L33THAK0R (14-03-2022), ScOOt3r (14-03-2022), Wanterlude (17-03-2022)