Yu Gi Oh! Power of Chaos Data File Format

http://yugiohextractor.sourceforge.net

If this document contains some error in the english translation please send me a mail to udprogramación@yahoo.com.

The document establishes the nomenclature 0xXX to indicate a hexagesimal number, for example 0xF3, unless it is indicated explicitly. As hexagesimal editor I recommend Hex Workshop or  UltraEdit 32.


* File Header of the Virtual File System

Offset Bytes Description
0x00000000 8 The ASCII characters:  KCEJYUGI (C# byte[8] )
0x00000008 4 Number of files (C# uint)

* File description. (Only one description for each contained file)

Offset Bytes Description
0x000000C 256 Encrypted file name.  (lo que sobra se llena con 0x0) (C# byte[256])
0x000010C 4 Begin of the file offset, based in the begin of the container file. (C# uint)
0x0000110 4 File size. (C# uint)
0x0000114 4 File Size (apparently always is the same as the previous data) (C# uint)

The file name is illegible since they invert the first 4 bits with the last 4 bits of each character, or it can be described as a rotation of 4 bits toward the left or the same thing a rotation of 1 bit, 4 times toward the left. To make it llegible the inverse process should be made and rotate the bits 4 times toward the right. For example if we have the byte 0x4A (01001010) when rotating it 4 times to the right it would be 0xA4(10100100).


Step for step would be this way: (0x4A)01001010 -> 00100101 -> 10010010 -> 01001001 -> 10100100(0xA4)


Immediately after having finished all the file descriptions, they follow the data of each one of the files.


Example: If you have a file named example.dat and this file contains three files:

File Name File Name ASCII Deencrypted (Hex) File name ASCII encrypted (Hex) File Size
foto.bmp 66 6F 74 6F 2E 62 6D 70 66 F6 47 F6 E2 26 D6 07 1000 (0x03E8) bytes
sonido.wav 73 6F 6E 69 64 6F 2E 77 61 76 37 F6 E6 96 46 F6 E2 77 16 67 2000 (0x07D0) bytes
texto.txt 74 65 78 74 6F 2E 74 78 74 47 56 87 47 F6 E2 47 87 47 500 (0x01F4) bytes
 

In the following table you should take into account that the file name should be filled with 0x0 until fill to 256 bytes. For example foto.bmp is conformed by 8 ASCII characters or the same 8 bytes, then you should fill 248 bytes with 0x0.

Offset Description Content
0x0000 Header KCEJYUGI, 0x0003
0x000C  foto.bmp description 66 F6 47 F6 E2 26 D6 07, 0x0330, 0x03E8
0x0118 sonido.wav description 37 F6 E6 96 46 F6 E2 77 16 67, 0x0718, 0x07D0
0x0224 texto.txt description 47 56 87 47 F6 E2 47 87 47, 0x0EE8, 0x01F4
0x0330 Data of  foto.bmp 1000 bytes.
0x0718 Data of  sonido.wav 2000 bytes.
0x0EE8 Data of  texto.txt 500 bytes
0x10DC End of File.  

SourceForge.net Logo   Ernesto Gutiérrez Arrázola  2005 - Bogotá - Colombia