Editing Seeds
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 445: | Line 445: | ||
[[Iso_module|Isolated modules]] <- used as reference for EID specific seeds, amongst others | [[Iso_module|Isolated modules]] <- used as reference for EID specific seeds, amongst others | ||
= EID Structure = | |||
EID is made of 6 "partitions" from EID0 to EID5. | |||
== EID0 == | |||
EID0 embeds 11 sections. | |||
=== EID0 Section === | |||
* Size: 0xC0 bytes. | |||
{|class="wikitable" | |||
|- | |||
! Description !! Length !! Note | |||
|- | |||
| Data || 0x10 || contains the actual data of the file (either idps or psid) | |||
|- | |||
| plaintext public key || 0x28 || contains the section's public key (without padding) | |||
|- | |||
| R || 0x14 || part of the ecdsa signature pair (r,s) | |||
|- | |||
| S || 0x14 || part of the ecdsa signature pair (r,s) | |||
|- | |||
| public key || 0x28 || ecdsa public key (can be used to verify ecdsa signature RS) | |||
|- | |||
| encrypted private key || 0x20 || encrypted blob that contains the section's private key (with padding) | |||
|- | |||
| cmac || 0x10 || hash of the previous information in CMAC mode | |||
|- | |||
| padding || 0x8 || zero byte padding for AES 128 bits encryption | |||
|} | |||
* [https://web.archive.org/web/20141118233713/http://pastie.org/6169158 naehrwert's EID0 section 0 ECDSA verification] | |||
== EID1 == | |||
* Size: 0x2A0 bytes. | |||
{|class="wikitable" | |||
|- | |||
! Offset !! Length !! Description | |||
|- | |||
| 0 || 0x10 || INIT Seed | |||
|- | |||
| 0x10 || 0x80 || AUTH1 Reencrypted Keyseeds | |||
|- | |||
| 0x90 || 0x80 || AUTH2 Reencrypted Keyseeds | |||
|- | |||
| 0x110 || 0x40 || Keyseeds (Time Service Purpose) | |||
|- | |||
| 0x150 || 0x10 || KeySeed (SNVS/Time Related) | |||
|- | |||
| 0x160 || 0x120 || Padding (Zeroes) | |||
|- | |||
| 0x280 || 0x10 || CMAC of Encrypted Data Using Master Key 0x20 if on EEPROM to CMAC (and encrypt/decrypt) or Master Key 0x10 if on FLASH | |||
|- | |||
| 0x290 || 0x10 || CMAC of Encrypted FLASH Data Using Perconsole Key encrypted using root key and EID1 Seeds | |||
|} | |||
== EID2 == | |||
* Size: 0x730 bytes. | |||
Related to BD drive. See [[Hypervisor_Reverse_Engineering#Remarrying]]. | |||
{|class="wikitable" | |||
|- | |||
! Description !! Length !! Note | |||
|- | |||
| Header || 0x20 || | |||
|- | |||
| P(rimary) block || 0x80 || contains bd drive info | |||
|- | |||
| S(econdary) block || 0x690 || contains bd drive info | |||
|} | |||
== EID3 == | |||
* Size: 0x100 bytes. | |||
Related to Communicatio. See [[Hypervisor_Reverse_Engineering#Communication]]. | |||
{|class="wikitable" | |||
|- | |||
! Offset !! Description !! Length !! Note | |||
|- | |||
| 0x00 || Header || 0x20 || contains ckp_management_id, size of cprm keys + sha1 digest + padding and nonce | |||
|- | |||
| 0x20 || cprm player keys || 0xB8 || | |||
|- | |||
| 0xD8 || sha1 digest || 0x14 || sha1 digest of previous section | |||
|- | |||
| 0xEC || padding || 0x4 || | |||
|- | |||
| 0xF0 || omac1 digest || 0x10 || omac1 digest of whole eid3 | |||
|} | |||
== EID4 == | |||
* Size: 0x30 bytes. | |||
{|class="wikitable" | |||
|- | |||
! Description !! Length !! Note | |||
|- | |||
| Drive Key 1 || 0x10 || Encrypts data sent from host to bd drive | |||
|- | |||
| Drive Key 2 || 0x10 || Decrypts data sent from bd drive to host | |||
|- | |||
| CMAC/OMAC1 || 0x10 || Hash of the previous bytes in CMAC/OMAC1 mode | |||
|} | |||
== EID5 == | |||
* Size: 0xA00 bytes. | |||
The largest and quite possibly the most important EID of all 6. It's unknown what is inside this specific EID. We'll probably never know what's inside it without analyzing every possible clue about the PS3. And even then, it might be impossible to find its real use. Its size is similar to EID0, but it has an additional 0x1A0 bytes. | |||
{{Reverse engineering}}<noinclude>[[Category:Main]]</noinclude> | {{Reverse engineering}}<noinclude>[[Category:Main]]</noinclude> |