diff --git a/old/nca.c b/old/nca.c index 91def85..36a3696 100644 --- a/old/nca.c +++ b/old/nca.c @@ -111,6 +111,8 @@ char *getReferenceTitleIDType(u8 type) out = "PatchId"; break; case NcmContentMetaType_Patch: + out = "OriginalId"; + break; case NcmContentMetaType_AddOnContent: out = "ApplicationId"; break; @@ -835,7 +837,13 @@ bool retrieveTitleKeyFromGameCardTicket(title_rights_ctx *rights_info, u8 *decry } // Check if the ticket has already been retrieved from the HFS0 partition in the gamecard - if (rights_info->retrieved_tik) return true; + if (rights_info->retrieved_tik) + { + // Save the decrypted NCA key area keys + memset(decrypted_nca_keys, 0, NCA_KEY_AREA_SIZE); + memcpy(decrypted_nca_keys + (NCA_KEY_AREA_KEY_SIZE * 2), rights_info->dec_titlekey, 0x10); + return true; + } // Load external keys if (!loadExternalKeys()) return false; diff --git a/old/nso.c b/old/nso.c index 29300bd..7f82c2b 100644 --- a/old/nso.c +++ b/old/nso.c @@ -1,6 +1,7 @@ #include #include #include +#include #include "nso.h" #include "lz4.h" diff --git a/old/util.c b/old/util.c index ecc75ce..06e0787 100644 --- a/old/util.c +++ b/old/util.c @@ -908,7 +908,7 @@ static bool initServices() initPmdmnt = true; /* Initialize pl service */ - result = plInitialize(); + result = plInitialize(PlServiceType_User); if (R_FAILED(result)) { consoleErrorScreen("%s: failed to initialize pl service! (0x%08X)", __func__, result);