From ed6e7a2b9187d55496754da8b8cccfaeb9c65558 Mon Sep 17 00:00:00 2001 From: d0k3 Date: Fri, 13 Apr 2018 17:12:17 +0200 Subject: [PATCH] H&S Injection: set savedata size to zero Thanks @TurdPooCharger! --- arm9/source/utils/gameutil.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/arm9/source/utils/gameutil.c b/arm9/source/utils/gameutil.c index 96a2616..64e56c1 100644 --- a/arm9/source/utils/gameutil.c +++ b/arm9/source/utils/gameutil.c @@ -1891,13 +1891,15 @@ u32 InjectHealthAndSafety(const char* path, const char* destdrv) { if (CryptNcchNcsdBossFirmFile(path, path_cxi, GAME_NCCH, CRYPTO_DECRYPT, 0, 0, NULL, NULL) != 0) ret = 1; - // fix up the injected H&S NCCH header / extheader (copy H&S signature, title ID to multiple locations) + // fix up the injected H&S NCCH header / extheader (copy H&S signature, title ID to multiple locations) + // also set savedata size to zero (thanks @TurdPooCharger) if ((ret == 0) && (LoadNcchHeaders(&ncch, &exthdr, NULL, path_cxi, 0) == 0)) { ncch.programId = tid_hs; ncch.partitionId = tid_hs; exthdr.jump_id = tid_hs; exthdr.aci_title_id = tid_hs; exthdr.aci_limit_title_id = tid_hs; + exthdr.savedata_size = 0; memcpy(ncch.signature, sig, 0x100); sha_quick(ncch.hash_exthdr, &exthdr, 0x400, SHA256_MODE); if ((fvx_qwrite(path_cxi, &ncch, 0, sizeof(NcchHeader), NULL) != FR_OK) ||