H&S Injection: set savedata size to zero

Thanks @TurdPooCharger!
This commit is contained in:
d0k3 2018-04-13 17:12:17 +02:00
parent f3782909c9
commit ed6e7a2b91

View File

@ -1892,12 +1892,14 @@ u32 InjectHealthAndSafety(const char* path, const char* destdrv) {
ret = 1; 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)) { if ((ret == 0) && (LoadNcchHeaders(&ncch, &exthdr, NULL, path_cxi, 0) == 0)) {
ncch.programId = tid_hs; ncch.programId = tid_hs;
ncch.partitionId = tid_hs; ncch.partitionId = tid_hs;
exthdr.jump_id = tid_hs; exthdr.jump_id = tid_hs;
exthdr.aci_title_id = tid_hs; exthdr.aci_title_id = tid_hs;
exthdr.aci_limit_title_id = tid_hs; exthdr.aci_limit_title_id = tid_hs;
exthdr.savedata_size = 0;
memcpy(ncch.signature, sig, 0x100); memcpy(ncch.signature, sig, 0x100);
sha_quick(ncch.hash_exthdr, &exthdr, 0x400, SHA256_MODE); sha_quick(ncch.hash_exthdr, &exthdr, 0x400, SHA256_MODE);
if ((fvx_qwrite(path_cxi, &ncch, 0, sizeof(NcchHeader), NULL) != FR_OK) || if ((fvx_qwrite(path_cxi, &ncch, 0, sizeof(NcchHeader), NULL) != FR_OK) ||