diff --git a/Source/Atmosphere/stratosphere/loader/source/patch.py b/Source/Atmosphere/stratosphere/loader/source/patch.py deleted file mode 100644 index 7ea5d7c1..00000000 --- a/Source/Atmosphere/stratosphere/loader/source/patch.py +++ /dev/null @@ -1,74 +0,0 @@ -#!python3 - -import sys -import os - -def file_replace_str(file_path, search_replace_list): - assert file_path - assert search_replace_list - with open(file_path, "r") as f: - content = f.read() - - for entry in search_replace_list: - (search, replace) = entry - if search in content: - content = content.replace(search, replace) - else: - assert replace in content, f"Pattern \"{search}\" not found" - - with open(file_path, "w") as f: - f.write(content) - - -dir_path = os.path.dirname(__file__) - -os.chdir(dir_path) -os.system("git reset --hard") - -ldr_process_creation = os.path.join(dir_path, "ldr_process_creation.cpp") -file_replace_str(ldr_process_creation, - [("""#include "ldr_ro_manager.hpp" - -namespace ams::ldr {""", -"""#include "ldr_ro_manager.hpp" -#include "oc/oc_loader.hpp" - -namespace ams::ldr {"""), - (""" NsoHeader g_nso_headers[Nso_Count]; - - Result ValidateProgramVersion(ncm::ProgramId program_id, u32 version) {""", - """ NsoHeader g_nso_headers[Nso_Count]; - - /* Pcv/Ptm check cache. */ - bool g_is_pcv; - bool g_is_ptm; - - Result ValidateProgramVersion(ncm::ProgramId program_id, u32 version) {"""), - (""" R_UNLESS(meta->aci->program_id <= meta->acid->program_id_max, ldr::ResultInvalidProgramId()); - - /* Validate the kernel capabilities. */""", - """ R_UNLESS(meta->aci->program_id <= meta->acid->program_id_max, ldr::ResultInvalidProgramId()); - - /* Check if nca is pcv or ptm */ - g_is_pcv = meta->aci->program_id == ncm::SystemProgramId::Pcv; - g_is_ptm = meta->aci->program_id == ncm::SystemProgramId::Ptm; - - /* Validate the kernel capabilities. */"""), - (""" LocateAndApplyIpsPatchesToModule(nso_header->module_id, map_address, nso_size); - }""", - """ LocateAndApplyIpsPatchesToModule(nso_header->module_id, map_address, nso_size); - - /* Apply pcv and ptm patches. */ - if (g_is_pcv) - oc::pcv::Patch(map_address, nso_size); - if (g_is_ptm) - oc::ptm::Patch(map_address, nso_size); - }""")]) - -ldr_meta = os.path.join(dir_path, "ldr_meta.cpp") -file_replace_str(ldr_meta, - [(""" Result ValidateAcidSignature(Meta *meta) { - /* Loader did not check signatures prior to 10.0.0. */""", - """ Result ValidateAcidSignature(Meta *meta) { - R_SUCCEED(); - /* Loader did not check signatures prior to 10.0.0. */""")])