Talk:HDD Encryption

From PS3 Developer wiki
Revision as of 15:57, 14 September 2013 by 144.64.108.101 (talk)
Jump to navigation Jump to search

Getting keys the easier way

First you need to get the sb_iso_spu_module.self individuals seed that can be found in the metadata header:

D9 2D 65 DB 05 7D 49 E1 A6 6F 22 74 B8 BA C5 08
83 84 4E D7 56 CA 79 51 63 62 EA 8A DA C6 03 26
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
C3 B3 B5 AA CC 74 CD 6A 48 EF AB F4 4D CD F1 6E
37 9F 55 F5 77 7D 09 FB EE DE 07 05 8E 94 BE 08
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

also found in lv1ldr

Using your console specific eid_root_key/iv (e.g. from metldr dump) and libeeid you can then generate the keys directly by calling

u8 indivs[0x100];
u8 chunk1[0x40] = {0xD9, 0x2D, /*...*/, 0x00};
u8 chunk2[0x40] = {0xC3, 0xB3, /*...*/, 0x00};
indiv_gen(chunk1, chunk2, NULL, NULL, indivs);

Now you have your console specific ATA data key in indivs[0x00-0x20] and the ATA tweak key in indivs[0x40-0x60] :)

About "ENCDEC IV and key"

This key/iv pair set by metldr is your eid_root_key, it's not just used for one purpose. (-> https://nwert.wordpress.com/2012/07/11/eeid-cryptography/)

HDD's end

This was found at the end of an HDD backup, 41 sectors from the end, 33 sectors in size, followed by zero bytes (8 sectors) It's very uncanny how this is formed after decryption. Maybe there's a new layer of encryption at the end of the disc?

https://dl.dropboxusercontent.com/u/35197530/hddend.bin