[Crypto] Edat cleanup

This commit is contained in:
Jake 2017-04-22 02:09:35 -05:00 committed by Ivan
parent 5f26c2fc8f
commit 16d7eb4f55
4 changed files with 21 additions and 35 deletions

View file

@ -1088,12 +1088,7 @@ bool SELFDecrypter::DecryptNPDRM(u8 *metadata, u32 metadata_size)
u8 klicensee_key[0x10];
memcpy(klicensee_key, key_v.GetKlicenseeKey(), 0x10);
// Use klicensee if available.
if (memcmp(klicensee_key, std::array<u8, 0x10>{0}.data(), 0x10))
{
memcpy(npdrm_key, klicensee_key, 0x10);
}
else if (ctrl->npdrm.license == 1) // Network license.
if (ctrl->npdrm.license == 1) // Network license.
{
LOG_ERROR(LOADER, "SELF: Can't decrypt network NPDRM!");
return false;
@ -1109,8 +1104,11 @@ bool SELFDecrypter::DecryptNPDRM(u8 *metadata, u32 metadata_size)
}
else if (ctrl->npdrm.license == 3) // Free license.
{
// Use the NP_KLIC_FREE.
memcpy(npdrm_key, NP_KLIC_FREE, 0x10);
// Use klicensee if available.
if (memcmp(klicensee_key, std::array<u8, 0x10>{0}.data(), 0x10))
memcpy(npdrm_key, klicensee_key, 0x10);
else
memcpy(npdrm_key, NP_KLIC_FREE, 0x10);
}
else
{