keygen for 3.0.x, 4.0.x, 5.0.x added, 3.0.X FW booting, fixed TSEC wrong offset for 4.0.X

This commit is contained in:
st4rk 2018-05-04 00:31:08 -07:00
parent 8b9e65e76f
commit 6ebfaa1200

View file

@ -209,11 +209,13 @@ static int keygen(u8 *keyblob, u32 kb, void *tsec_fw)
se_aes_key_clear(14);
se_aes_crypt_ctr(13, keyblob + 0x20, 0x90, keyblob + 0x20, 0x90, keyblob + 0x10);
// keyslot 11
se_aes_key_set(11, keyblob + 0x20 + 0x80, 0x10);
se_aes_key_set(12, keyblob + 0x20, 0x10);
//TODO: for some reason SE likes to hang if we don't execute an operation here.
memcpy(tmp, mkey_keyseed_retail, 0x10);
se_aes_crypt_block_ecb(12, 0, tmp, tmp);
// keyslot 14
memcpy(tmp, new_masterkey_seed, 0x10);
se_aes_unwrap_key(14, 12, tmp);
@ -235,8 +237,6 @@ static int keygen(u8 *keyblob, u32 kb, void *tsec_fw)
}
break;
}
free(tmp);
}