Line 11: |
Line 11: |
| |- | | |- |
| | 0x0000 | | | 0x0000 |
− | | 0x0004 | + | | 0x0003 |
− | | 4 | + | | 0x04 |
| | Signature type (always 0x10001 for RSA-2048) | | | Signature type (always 0x10001 for RSA-2048) |
| |- | | |- |
| | 0x0004 | | | 0x0004 |
− | | 0x0104 | + | | 0x0103 |
− | | 256 | + | | 0x100 |
| | Signature by a certificate's key (everything after this field is covered by this signature) | | | Signature by a certificate's key (everything after this field is covered by this signature) |
| |- | | |- |
| | 0x0104 | | | 0x0104 |
− | | 0x0140 | + | | 0x013f |
− | | 60 | + | | 0x3b |
| | Padding (Always 0) | | | Padding (Always 0) |
| |- | | |- |
| | 0x0140 | | | 0x0140 |
− | | 0x0180 | + | | 0x017f |
− | | 64 | + | | 0x40 |
| | Signature issuer | | | Signature issuer |
| |- | | |- |
| | 0x0180 | | | 0x0180 |
− | | 0x01bf | + | | 0x01be |
− | | 63 | + | | 0x3f |
| | Unknown (0, unless it is a VC game) | | | Unknown (0, unless it is a VC game) |
| |- | | |- |
| | 0x01bf | | | 0x01bf |
− | | 0x01cf | + | | 0x01ce |
− | | 16 | + | | 0x10 |
| | Encrypted title key | | | Encrypted title key |
| |- | | |- |
| | 0x01cf | | | 0x01cf |
− | | 0x01dc | + | | 0x01db |
− | | 13 | + | | 0x0d |
| | Unknown | | | Unknown |
| |- | | |- |
| | 0x01dc | | | 0x01dc |
− | | 0x01e4 | + | | 0x01e3 |
− | | 8 | + | | 0x08 |
| | Title ID / [http://en.wikipedia.org/wiki/Initialization_Vector Initialization Vector] (IV) used for AES-[http://en.wikipedia.org/wiki/Cipher_Block_Chaining#Cipher-block_chaining_.28CBC.29 CBC] encryption | | | Title ID / [http://en.wikipedia.org/wiki/Initialization_Vector Initialization Vector] (IV) used for AES-[http://en.wikipedia.org/wiki/Cipher_Block_Chaining#Cipher-block_chaining_.28CBC.29 CBC] encryption |
| |- | | |- |
| | 0x01e4 | | | 0x01e4 |
− | | 0x01f1 | + | | 0x01f0 |
− | | 13 | + | | 0x0d |
| | Unknown | | | Unknown |
| |- | | |- |
| | 0x01f1 | | | 0x01f1 |
− | | 0x01f2 | + | | 0x01f1 |
− | | 1 | + | | 0x01 |
| | Common Key index (1 = Korean Common key, 0 = "normal" Common key) | | | Common Key index (1 = Korean Common key, 0 = "normal" Common key) |
| |- | | |- |
| | 0x01f2 | | | 0x01f2 |
− | | 0x0222 | + | | 0x0221 |
− | | 48 | + | | 0x30 |
| | Unknown. Is all 0 for non-VC, for VC, all 0 except last byte is 1. | | | Unknown. Is all 0 for non-VC, for VC, all 0 except last byte is 1. |
| |- | | |- |
| | 0x0222 | | | 0x0222 |
− | | 0x0242 | + | | 0x0241 |
− | | 32 | + | | 0x20 |
| | Always 0xFF (?) | | | Always 0xFF (?) |
| |- | | |- |
| | 0x0242 | | | 0x0242 |
− | | 0x0244 | + | | 0x0243 |
− | | 2 | + | | 0x02 |
| | Padding (Always 0) | | | Padding (Always 0) |
| |- | | |- |
| | 0x0244 | | | 0x0244 |
− | | 0x0248 | + | | 0x0247 |
− | | 4 | + | | 0x04 |
| | Enable time limit (1 = Enabled, 0 = Disabled) | | | Enable time limit (1 = Enabled, 0 = Disabled) |
| |- | | |- |
| | 0x0248 | | | 0x0248 |
− | | 0x024a | + | | 0x0249 |
− | | 4 | + | | 0x02 |
| | Time limit (Seconds) | | | Time limit (Seconds) |
| |- | | |- |
| | 0x024a | | | 0x024a |
− | | 0x02a4 | + | | 0x02a3 |
− | | 90 | + | | 0x5a |
| | Padding (Always 0) | | | Padding (Always 0) |
| |} | | |} |
| | | |
| To get the title key decrypt the 16 bytes at offset 0x1bf with the Common Key using the Title ID (offset 0x1dc) as the initialization vector (the last 8 bytes of the IV should be zero). | | To get the title key decrypt the 16 bytes at offset 0x1bf with the Common Key using the Title ID (offset 0x1dc) as the initialization vector (the last 8 bytes of the IV should be zero). |