From 6ebfaa1200a0407ab6621b36dfd08c58b9480044 Mon Sep 17 00:00:00 2001 From: st4rk Date: Fri, 4 May 2018 00:31:08 -0700 Subject: [PATCH] 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 --- ipl/hos.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ipl/hos.c b/ipl/hos.c index 5f9b787..edc1e77 100755 --- a/ipl/hos.c +++ b/ipl/hos.c @@ -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); }