hey guys i just wanted to know if anyone is willing to open up the cpk files of diablo 3 i used the cpk script but it didnt work
here is a small sample i took off the game
http://www.mediafire.com/download/q26n6 ... c/CPKs.rar
The Forum is up for sale: XeNTaX Forum looking for new owner
diablo 3 (XBOX 360)
-
Thief1987
- advanced
- Posts: 72
- Joined: Wed Jan 18, 2012 5:11 am
- Has thanked: 1 time
- Been thanked: 29 times
Re: diablo 3 (XBOX 360)
It's not criware cpk, it's custom blizzard format, and seems it's have encrypt filetable, on ps3 used zlib compression, don't know about xbox
ps xbox version also use zlib
ps xbox version also use zlib
-
EcheloCross
- veteran
- Posts: 88
- Joined: Sat Feb 27, 2010 6:57 pm
- Has thanked: 40 times
- Been thanked: 77 times
Re: diablo 3 (XBOX 360)
The main header has a few bits of info.
-File entry count
-zlib blocks start
-possible checksum before padding near end of main header
-a few other unknowns
The next section looks encrypted.
There is a section after the one that looks encrypted that seems to go up kind of sequentially.
After that the name pointer table starts, and after that the names table.
Next the zlib blocks start.
Zlib blocks go:
The zlib blocks are not in the same order as the name table afaik. It may be for small files like enUS_Patch.cpk from the title updates.
Also I found encrypted blocks intermingled with the zlib blocks. Its a simple xor key and routine to decrypt them. Decrypted data is more zlib blocks for the ones I've decrypted so far.
Once the zlib blocks are decompressed I see a lot of files with 0xDEADBEEF magic. Some of the decompressed file entries are made up of 2 or more of the decompressed blocks.
This format is slightly reminding me of the Dead or Alive 5 format.
-File entry count
-zlib blocks start
-possible checksum before padding near end of main header
-a few other unknowns
The next section looks encrypted.
There is a section after the one that looks encrypted that seems to go up kind of sequentially.
After that the name pointer table starts, and after that the names table.
Next the zlib blocks start.
Zlib blocks go:
Code: Select all
for (int i = 0; i < FileEntryCount; i++)
{
ushort decompressedSize;
ushort unkFlag; //maybe compression level
ushort compressedSize;
char zlibBlock[compressedSize];
}
Also I found encrypted blocks intermingled with the zlib blocks. Its a simple xor key and routine to decrypt them. Decrypted data is more zlib blocks for the ones I've decrypted so far.
Once the zlib blocks are decompressed I see a lot of files with 0xDEADBEEF magic. Some of the decompressed file entries are made up of 2 or more of the decompressed blocks.
This format is slightly reminding me of the Dead or Alive 5 format.

