mirror of
https://github.com/d0k3/GodMode9.git
synced 2025-06-26 21:52:48 +00:00
SetNcchKey(): Prevent unnecessary usage of SHA registers
This commit is contained in:
parent
eff96b3e5b
commit
310159f0cb
@ -172,12 +172,18 @@ u32 SetNcchKey(NcchHeader* ncch, u32 keyid) {
|
|||||||
|
|
||||||
// key Y for seed and non seed
|
// key Y for seed and non seed
|
||||||
if (keyid && (ncch->flags[7] & 0x20)) { // seed crypto
|
if (keyid && (ncch->flags[7] & 0x20)) { // seed crypto
|
||||||
|
static u8 seedkeyY[16+16] = { 0 };
|
||||||
|
static u8 lsignature[16] = { 0 };
|
||||||
|
static u64 ltitleId = 0;
|
||||||
|
if ((memcmp(lsignature, ncch->signature, 16) != 0) || (ltitleId != ncch->programId)) {
|
||||||
u8 keydata[16+16];
|
u8 keydata[16+16];
|
||||||
u8 seedkeyY[16+16];
|
|
||||||
memcpy(keydata, ncch->signature, 16);
|
memcpy(keydata, ncch->signature, 16);
|
||||||
if (GetNcchSeed(keydata + 16, ncch) != 0)
|
if (GetNcchSeed(keydata + 16, ncch) != 0)
|
||||||
return 1;
|
return 1;
|
||||||
sha_quick(seedkeyY, keydata, 32, SHA256_MODE);
|
sha_quick(seedkeyY, keydata, 32, SHA256_MODE);
|
||||||
|
memcpy(lsignature, ncch->signature, 16);
|
||||||
|
ltitleId = ncch->programId;
|
||||||
|
}
|
||||||
setup_aeskeyY(keyslot, seedkeyY);
|
setup_aeskeyY(keyslot, seedkeyY);
|
||||||
} else { // no seed crypto
|
} else { // no seed crypto
|
||||||
setup_aeskeyY(keyslot, ncch->signature);
|
setup_aeskeyY(keyslot, ncch->signature);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user