error_code prx_load_module(std::string path, u64 flags, vm::ptr<sys_prx_load_module_option_t> pOpt) { if (s_prx_ignore.count(path)) { sys_prx.warning("Ignored module: %s", path); const auto prx = idm::make_ptr<lv2_obj, lv2_prx>(); prx->name = path.substr(path.find_last_of('/') + 1); return not_an_error(idm::last_id()); } const auto loadedkeys = fxm::get_always<LoadedNpdrmKeys_t>(); const ppu_prx_object obj = decrypt_self(fs::file(vfs::get(path)), loadedkeys->devKlic.data()); if (obj != elf_error::ok) { return CELL_PRX_ERROR_ILLEGAL_LIBRARY; } const auto prx = ppu_load_prx(obj, path.substr(path.find_last_of('/') + 1)); if (!prx) { return CELL_PRX_ERROR_ILLEGAL_LIBRARY; } ppu_initialize(*prx); sys_prx.success("Loaded module: %s", path); return not_an_error(idm::last_id()); }
void Emulator::Load(bool add_only) { Stop(); try { Init(); // Load game list (maps ABCD12345 IDs to /dev_bdvd/ locations) YAML::Node games = YAML::Load(fs::file{fs::get_config_dir() + "/games.yml", fs::read + fs::create}.to_string()); if (!games.IsMap()) { games.reset(); } LOG_NOTICE(LOADER, "Path: %s", m_path); const std::string elf_dir = fs::get_parent_dir(m_path); // Load PARAM.SFO (TODO) const auto _psf = psf::load_object([&] { if (fs::file sfov{elf_dir + "/sce_sys/param.sfo"}) { return sfov; } else { return fs::file(elf_dir + "/../PARAM.SFO"); } }()); m_title = psf::get_string(_psf, "TITLE", m_path); m_title_id = psf::get_string(_psf, "TITLE_ID"); const auto _cat = psf::get_string(_psf, "CATEGORY"); LOG_NOTICE(LOADER, "Title: %s", GetTitle()); LOG_NOTICE(LOADER, "Serial: %s", GetTitleID()); // Initialize data/cache directory m_cache_path = fs::get_data_dir(m_title_id, m_path); LOG_NOTICE(LOADER, "Cache: %s", GetCachePath()); // Load custom config-0 if (fs::file cfg_file{m_cache_path + "/config.yml"}) { LOG_NOTICE(LOADER, "Applying custom config: %s/config.yml", m_cache_path); g_cfg.from_string(cfg_file.to_string()); } // Load custom config-1 if (fs::file cfg_file{fs::get_config_dir() + "data/" + m_title_id + "/config.yml"}) { LOG_NOTICE(LOADER, "Applying custom config: data/%s/config.yml", m_title_id); g_cfg.from_string(cfg_file.to_string()); } // Load custom config-2 if (fs::file cfg_file{m_path + ".yml"}) { LOG_NOTICE(LOADER, "Applying custom config: %s.yml", m_path); g_cfg.from_string(cfg_file.to_string()); } LOG_NOTICE(LOADER, "Used configuration:\n%s\n", g_cfg.to_string()); // Load patches from different locations fxm::check_unlocked<patch_engine>()->append(fs::get_config_dir() + "data/" + m_title_id + "/patch.yml"); fxm::check_unlocked<patch_engine>()->append(m_cache_path + "/patch.yml"); // Mount all devices const std::string emu_dir_ = g_cfg.vfs.emulator_dir; const std::string emu_dir = emu_dir_.empty() ? fs::get_config_dir() : emu_dir_; const std::string home_dir = g_cfg.vfs.app_home; std::string bdvd_dir = g_cfg.vfs.dev_bdvd; vfs::mount("dev_hdd0", fmt::replace_all(g_cfg.vfs.dev_hdd0, "$(EmulatorDir)", emu_dir)); vfs::mount("dev_hdd1", fmt::replace_all(g_cfg.vfs.dev_hdd1, "$(EmulatorDir)", emu_dir)); vfs::mount("dev_flash", fmt::replace_all(g_cfg.vfs.dev_flash, "$(EmulatorDir)", emu_dir)); vfs::mount("dev_usb", fmt::replace_all(g_cfg.vfs.dev_usb000, "$(EmulatorDir)", emu_dir)); vfs::mount("dev_usb000", fmt::replace_all(g_cfg.vfs.dev_usb000, "$(EmulatorDir)", emu_dir)); vfs::mount("app_home", home_dir.empty() ? elf_dir + '/' : fmt::replace_all(home_dir, "$(EmulatorDir)", emu_dir)); // Detect boot location const std::string hdd0_game = vfs::get("/dev_hdd0/game/"); const std::string hdd0_disc = vfs::get("/dev_hdd0/disc/"); if (_cat == "DG" && m_path.find(hdd0_game + m_title_id + '/') != -1) { // Booting disc game from wrong location LOG_ERROR(LOADER, "Disc game found at invalid location: /dev_hdd0/game/%s/", m_title_id); // Move and retry from correct location if (fs::rename(hdd0_game + m_title_id, hdd0_disc + m_title_id)) { LOG_SUCCESS(LOADER, "Disc game moved to special location: /dev_hdd0/disc/%s/", m_title_id); return SetPath(hdd0_disc + m_path.substr(hdd0_game.size())), Load(); } else { LOG_ERROR(LOADER, "Failed to move disc game to /dev_hdd0/disc/%s/ (%s)", m_title_id, fs::g_tls_error); return; } } // Booting disc game if (_cat == "DG" && bdvd_dir.empty()) { // Mount /dev_bdvd/ if necessary if (auto pos = elf_dir.rfind("/PS3_GAME") + 1) { bdvd_dir = elf_dir.substr(0, pos); } } // Booting patch data if (_cat == "GD" && bdvd_dir.empty()) { // Load /dev_bdvd/ from game list if available if (auto node = games[m_title_id]) { bdvd_dir = node.Scalar(); } else { LOG_FATAL(LOADER, "Disc directory not found. Try to run the game from the actual game disc directory."); } } // Check /dev_bdvd/ if (!bdvd_dir.empty() && fs::is_dir(bdvd_dir)) { fs::file sfb_file; vfs::mount("dev_bdvd", bdvd_dir); LOG_NOTICE(LOADER, "Disc: %s", vfs::get("/dev_bdvd")); if (!sfb_file.open(vfs::get("/dev_bdvd/PS3_DISC.SFB")) || sfb_file.size() < 4 || sfb_file.read<u32>() != ".SFB"_u32) { LOG_ERROR(LOADER, "Invalid disc directory for the disc game %s", m_title_id); return; } const std::string bdvd_title_id = psf::get_string(psf::load_object(fs::file{vfs::get("/dev_bdvd/PS3_GAME/PARAM.SFO")}), "TITLE_ID"); if (bdvd_title_id != m_title_id) { LOG_ERROR(LOADER, "Unexpected disc directory for the disc game %s (found %s)", m_title_id, bdvd_title_id); return; } // Store /dev_bdvd/ location games[m_title_id] = bdvd_dir; YAML::Emitter out; out << games; fs::file(fs::get_config_dir() + "/games.yml", fs::rewrite).write(out.c_str(), out.size()); } else if (_cat == "DG" || _cat == "GD") { LOG_ERROR(LOADER, "Failed to mount disc directory for the disc game %s", m_title_id); return; } if (add_only) { LOG_NOTICE(LOADER, "Finished to add data to games.yml by boot for: %s", m_path); return; } // Check game updates const std::string hdd0_boot = hdd0_game + m_title_id + "/USRDIR/EBOOT.BIN"; if (_cat == "DG" && fs::is_file(hdd0_boot)) { // Booting game update LOG_SUCCESS(LOADER, "Updates found at /dev_hdd0/game/%s/!", m_title_id); return SetPath(hdd0_boot), Load(); } // Mount /host_root/ if necessary if (g_cfg.vfs.host_root) { vfs::mount("host_root", {}); } // Open SELF or ELF fs::file elf_file(m_path); if (!elf_file) { LOG_ERROR(LOADER, "Failed to open executable: %s", m_path); return; } // Check SELF header if (elf_file.size() >= 4 && elf_file.read<u32>() == "SCE\0"_u32) { const std::string decrypted_path = m_cache_path + "boot.elf"; fs::stat_t encrypted_stat = elf_file.stat(); fs::stat_t decrypted_stat; // Check modification time and try to load decrypted ELF if (fs::stat(decrypted_path, decrypted_stat) && decrypted_stat.mtime == encrypted_stat.mtime) { elf_file.open(decrypted_path); } else { // Decrypt SELF elf_file = decrypt_self(std::move(elf_file)); if (fs::file elf_out{decrypted_path, fs::rewrite}) { elf_out.write(elf_file.to_vector<u8>()); elf_out.close(); fs::utime(decrypted_path, encrypted_stat.atime, encrypted_stat.mtime); } else { LOG_ERROR(LOADER, "Failed to create boot.elf"); } } } ppu_exec_object ppu_exec; ppu_prx_object ppu_prx; spu_exec_object spu_exec; arm_exec_object arm_exec; if (!elf_file) { LOG_ERROR(LOADER, "Failed to decrypt SELF: %s", m_path); return; } else if (ppu_exec.open(elf_file) == elf_error::ok) { // PS3 executable g_system = system_type::ps3; m_state = system_state::ready; GetCallbacks().on_ready(); vm::ps3::init(); if (m_elf_path.empty()) { if (m_path.find(hdd0_game) != -1) { m_elf_path = "/dev_hdd0/game/" + m_path.substr(hdd0_game.size()); } else if (!bdvd_dir.empty() && fs::is_dir(bdvd_dir)) { //Disc games are on /dev_bdvd/ size_t pos = m_path.rfind("PS3_GAME"); m_elf_path = "/dev_bdvd/" + m_path.substr(pos); } else { //For homebrew m_elf_path = "/host_root/" + m_path; } LOG_NOTICE(LOADER, "Elf path: %s", m_elf_path); } ppu_load_exec(ppu_exec); fxm::import<GSRender>(Emu.GetCallbacks().get_gs_render); // TODO: must be created in appropriate sys_rsx syscall } else if (ppu_prx.open(elf_file) == elf_error::ok) { // PPU PRX (experimental) g_system = system_type::ps3; m_state = system_state::ready; GetCallbacks().on_ready(); vm::ps3::init(); ppu_load_prx(ppu_prx, m_path); } else if (spu_exec.open(elf_file) == elf_error::ok) { // SPU executable (experimental) g_system = system_type::ps3; m_state = system_state::ready; GetCallbacks().on_ready(); vm::ps3::init(); spu_load_exec(spu_exec); } else if (arm_exec.open(elf_file) == elf_error::ok) { // ARMv7 executable g_system = system_type::psv; m_state = system_state::ready; GetCallbacks().on_ready(); vm::psv::init(); if (m_elf_path.empty()) { m_elf_path = "host_root:" + m_path; LOG_NOTICE(LOADER, "Elf path: %s", m_elf_path); } arm_load_exec(arm_exec); } else { LOG_ERROR(LOADER, "Invalid or unsupported file format: %s", m_path); LOG_WARNING(LOADER, "** ppu_exec -> %s", ppu_exec.get_error()); LOG_WARNING(LOADER, "** ppu_prx -> %s", ppu_prx.get_error()); LOG_WARNING(LOADER, "** spu_exec -> %s", spu_exec.get_error()); LOG_WARNING(LOADER, "** arm_exec -> %s", arm_exec.get_error()); return; } if (g_cfg.misc.autostart && IsReady()) { Run(); } else if (IsPaused()) { m_state = system_state::ready; GetCallbacks().on_ready(); } } catch (const std::exception& e) { LOG_FATAL(LOADER, "%s thrown: %s", typeid(e).name(), e.what()); Stop(); } }
void Emulator::Load() { Stop(); try { Init(); // Open SELF or ELF fs::file elf_file(m_path); if (!elf_file) { LOG_ERROR(LOADER, "Failed to open file: %s", m_path); return; } LOG_NOTICE(LOADER, "Path: %s", m_path); const std::string elf_dir = fs::get_parent_dir(m_path); const fs::file sfov(elf_dir + "/sce_sys/param.sfo"); const fs::file sfo1(elf_dir + "/../PARAM.SFO"); // Load PARAM.SFO (TODO) const auto _psf = psf::load_object(sfov ? sfov : sfo1); m_title = psf::get_string(_psf, "TITLE", m_path); m_title_id = psf::get_string(_psf, "TITLE_ID"); LOG_NOTICE(LOADER, "Title: %s", GetTitle()); LOG_NOTICE(LOADER, "Serial: %s", GetTitleID()); // Initialize data/cache directory m_cache_path = fs::get_data_dir(m_title_id, m_path); LOG_NOTICE(LOADER, "Cache: %s", GetCachePath()); // Load custom config-0 if (fs::file cfg_file{m_cache_path + "/config.yml"}) { LOG_NOTICE(LOADER, "Applying custom config: %s/config.yml", m_cache_path); g_cfg.from_string(cfg_file.to_string()); } // Load custom config-1 if (fs::file cfg_file{fs::get_config_dir() + "data/" + m_title_id + "/config.yml"}) { LOG_NOTICE(LOADER, "Applying custom config: data/%s/config.yml", m_title_id); g_cfg.from_string(cfg_file.to_string()); } // Load custom config-2 if (fs::file cfg_file{m_path + ".yml"}) { LOG_NOTICE(LOADER, "Applying custom config: %s.yml", m_path); g_cfg.from_string(cfg_file.to_string()); } LOG_NOTICE(LOADER, "Used configuration:\n%s\n", g_cfg.to_string()); // Load patches from different locations fxm::check_unlocked<patch_engine>()->append(fs::get_config_dir() + "data/" + m_title_id + "/patch.yml"); fxm::check_unlocked<patch_engine>()->append(m_cache_path + "/patch.yml"); // Mount all devices const std::string emu_dir_ = g_cfg.vfs.emulator_dir; const std::string emu_dir = emu_dir_.empty() ? fs::get_config_dir() : emu_dir_; const std::string home_dir = g_cfg.vfs.app_home; std::string bdvd_dir = g_cfg.vfs.dev_bdvd; vfs::mount("dev_hdd0", fmt::replace_all(g_cfg.vfs.dev_hdd0, "$(EmulatorDir)", emu_dir)); vfs::mount("dev_hdd1", fmt::replace_all(g_cfg.vfs.dev_hdd1, "$(EmulatorDir)", emu_dir)); vfs::mount("dev_flash", fmt::replace_all(g_cfg.vfs.dev_flash, "$(EmulatorDir)", emu_dir)); vfs::mount("dev_usb", fmt::replace_all(g_cfg.vfs.dev_usb000, "$(EmulatorDir)", emu_dir)); vfs::mount("dev_usb000", fmt::replace_all(g_cfg.vfs.dev_usb000, "$(EmulatorDir)", emu_dir)); vfs::mount("app_home", home_dir.empty() ? elf_dir + '/' : fmt::replace_all(home_dir, "$(EmulatorDir)", emu_dir)); // Mount /dev_bdvd/ if necessary if (bdvd_dir.empty()) { size_t pos = elf_dir.rfind("PS3_GAME"); std::string temp = elf_dir.substr(0, pos); if ((pos != std::string::npos) && fs::is_file(temp + "/PS3_DISC.SFB")) { bdvd_dir = temp; } } if (!bdvd_dir.empty() && fs::is_dir(bdvd_dir)) { vfs::mount("dev_bdvd", fmt::replace_all(bdvd_dir, "$(EmulatorDir)", emu_dir)); LOG_NOTICE(LOADER, "Disc: %s", vfs::get("/dev_bdvd")); } // Mount /host_root/ if necessary if (g_cfg.vfs.host_root) { vfs::mount("host_root", {}); } // Check SELF header if (elf_file.size() >= 4 && elf_file.read<u32>() == "SCE\0"_u32) { const std::string decrypted_path = m_cache_path + "boot.elf"; fs::stat_t encrypted_stat = elf_file.stat(); fs::stat_t decrypted_stat; // Check modification time and try to load decrypted ELF if (fs::stat(decrypted_path, decrypted_stat) && decrypted_stat.mtime == encrypted_stat.mtime) { elf_file.open(decrypted_path); } else { // Decrypt SELF elf_file = decrypt_self(std::move(elf_file)); if (fs::file elf_out{decrypted_path, fs::rewrite}) { elf_out.write(elf_file.to_vector<u8>()); elf_out.close(); fs::utime(decrypted_path, encrypted_stat.atime, encrypted_stat.mtime); } else { LOG_ERROR(LOADER, "Failed to create boot.elf"); } } } ppu_exec_object ppu_exec; ppu_prx_object ppu_prx; spu_exec_object spu_exec; arm_exec_object arm_exec; if (!elf_file) { LOG_ERROR(LOADER, "Failed to decrypt SELF: %s", m_path); return; } else if (ppu_exec.open(elf_file) == elf_error::ok) { // PS3 executable g_system = system_type::ps3; m_state = system_state::ready; GetCallbacks().on_ready(); vm::ps3::init(); if (m_elf_path.empty()) { if (!bdvd_dir.empty() && fs::is_dir(bdvd_dir)) { //Disc games are on /dev_bdvd/ size_t pos = m_path.rfind("PS3_GAME"); m_elf_path = "/dev_bdvd/" + m_path.substr(pos); } else if (m_path.find(vfs::get("/dev_hdd0/game/")) != -1) { m_elf_path = "/dev_hdd0/game/" + m_path.substr(vfs::get("/dev_hdd0/game/").size()); } else { //For homebrew m_elf_path = "/host_root/" + m_path; } LOG_NOTICE(LOADER, "Elf path: %s", m_elf_path); } ppu_load_exec(ppu_exec); fxm::import<GSRender>(Emu.GetCallbacks().get_gs_render); // TODO: must be created in appropriate sys_rsx syscall } else if (ppu_prx.open(elf_file) == elf_error::ok) { // PPU PRX (experimental) g_system = system_type::ps3; m_state = system_state::ready; GetCallbacks().on_ready(); vm::ps3::init(); ppu_load_prx(ppu_prx, ""); } else if (spu_exec.open(elf_file) == elf_error::ok) { // SPU executable (experimental) g_system = system_type::ps3; m_state = system_state::ready; GetCallbacks().on_ready(); vm::ps3::init(); spu_load_exec(spu_exec); } else if (arm_exec.open(elf_file) == elf_error::ok) { // ARMv7 executable g_system = system_type::psv; m_state = system_state::ready; GetCallbacks().on_ready(); vm::psv::init(); if (m_elf_path.empty()) { m_elf_path = "host_root:" + m_path; LOG_NOTICE(LOADER, "Elf path: %s", m_elf_path); } arm_load_exec(arm_exec); } else { LOG_ERROR(LOADER, "Invalid or unsupported file format: %s", m_path); LOG_WARNING(LOADER, "** ppu_exec -> %s", ppu_exec.get_error()); LOG_WARNING(LOADER, "** ppu_prx -> %s", ppu_prx.get_error()); LOG_WARNING(LOADER, "** spu_exec -> %s", spu_exec.get_error()); LOG_WARNING(LOADER, "** arm_exec -> %s", arm_exec.get_error()); return; } if (g_cfg.misc.autostart && IsReady()) { Run(); } else if (IsPaused()) { m_state = system_state::ready; GetCallbacks().on_ready(); } } catch (const std::exception& e) { LOG_FATAL(LOADER, "%s thrown: %s", typeid(e).name(), e.what()); Stop(); } }
int module_start(SceSize argc, const void *args) { ksceIoRemove("ux0:dump/kplugin_log.txt"); ksceIoRmdir("ux0:dump/out"); ksceIoMkdir("ux0:dump/out", 6); ksceIoMkdir("ux0:dump/out/os0-", 6); ksceIoMkdir("ux0:dump/out/vs0-", 6); ksceIoMkdir("ux0:dump/out/vs0-/app", 6); ksceIoMkdir("ux0:dump/out/os0-/kd", 6); ksceIoMkdir("ux0:dump/out/os0-/ue", 6); ksceIoMkdir("ux0:dump/out/os0-/us", 6); ksceIoMkdir("ux0:dump/out/vs0-/data", 6); ksceIoMkdir("ux0:dump/out/vs0-/sys", 6); ksceIoMkdir("ux0:dump/out/vs0-/vsh", 6); ksceIoMkdir("ux0:dump/out/vs0-/vsh/common", 6); ksceIoMkdir("ux0:dump/out/vs0-/vsh/shell", 6); ksceIoMkdir("ux0:dump/out/vs0-/sys/external", 6); ksceIoMkdir("ux0:dump/out/vs0-/data/external", 6); ksceIoMkdir("ux0:dump/out/vs0-/data/external/webcore", 6); //Operating System modules and pspemu ipl decrypt_self("os0:kd/acmgr.skprx", "ux0:dump/out/os0-/kd/acmgr.skprx", 0, 1, 0); decrypt_self("os0:kd/authmgr.skprx", "ux0:dump/out/os0-/kd/authmgr.skprx", 0, 1, 0); decrypt_self("os0:kd/bootimage.skprx", "ux0:dump/out/os0-/kd/bootimage.skprx", 0, 1, 0); decrypt_self("os0:kd/bsod.skprx", "ux0:dump/out/os0-/kd/bsod.skprx", 0, 1, 0); decrypt_self("os0:kd/buserror.skprx", "ux0:dump/out/os0-/kd/buserror.skprx", 0, 1, 0); decrypt_self("os0:kd/crashdump.skprx", "ux0:dump/out/os0-/kd/crashdump.skprx", 0, 1, 0); decrypt_self("os0:kd/dbgsdio.skprx", "ux0:dump/out/os0-/kd/dbgsdio.skprx", 0, 1, 0); decrypt_self("os0:kd/dbgusb.skprx", "ux0:dump/out/os0-/kd/dbgusb.skprx", 0, 1, 0); decrypt_self("os0:kd/deci4p_cpup.skprx", "ux0:dump/out/os0-/kd/deci4p_cpup.skprx", 0, 1, 0); decrypt_self("os0:kd/deci4p_ctrlp.skprx", "ux0:dump/out/os0-/kd/deci4p_ctrlp.skprx", 0, 1, 0); decrypt_self("os0:kd/deci4p_dbgp.skprx", "ux0:dump/out/os0-/kd/deci4p_dbgp.skprx", 0, 1, 0); decrypt_self("os0:kd/deci4p_dfmgr.skprx", "ux0:dump/out/os0-/kd/deci4p_dfmgr.skprx", 0, 1, 0); decrypt_self("os0:kd/deci4p_drfp.skprx", "ux0:dump/out/os0-/kd/deci4p_drfp.skprx", 0, 1, 0); decrypt_self("os0:kd/deci4p_dtracep.skprx", "ux0:dump/out/os0-/kd/deci4p_dtracep.skprx", 0, 1, 0); decrypt_self("os0:kd/deci4p_loadp.skprx", "ux0:dump/out/os0-/kd/deci4p_loadp.skprx", 0, 1, 0); decrypt_self("os0:kd/deci4p_pamp.skprx", "ux0:dump/out/os0-/kd/deci4p_pamp.skprx", 0, 1, 0); decrypt_self("os0:kd/deci4p_rdrfp.skprx", "ux0:dump/out/os0-/kd/deci4p_rdrfp.skprx", 0, 1, 0); decrypt_self("os0:kd/deci4p_scttyp.skprx", "ux0:dump/out/os0-/kd/deci4p_scttyp.skprx", 0, 1, 0); decrypt_self("os0:kd/deci4p_sdbgp.skprx", "ux0:dump/out/os0-/kd/deci4p_sdbgp.skprx", 0, 1, 0); decrypt_self("os0:kd/deci4p_sdeci2p.skprx", "ux0:dump/out/os0-/kd/deci4p_sdeci2p.skprx", 0, 1, 0); decrypt_self("os0:kd/deci4p_sdfctl.skprx", "ux0:dump/out/os0-/kd/deci4p_sdfctl.skprx", 0, 1, 0); decrypt_self("os0:kd/deci4p_sdfmgr.skprx", "ux0:dump/out/os0-/kd/deci4p_sdfmgr.skprx", 0, 1, 0); decrypt_self("os0:kd/deci4p_sdrfp.skprx", "ux0:dump/out/os0-/kd/deci4p_sdrfp.skprx", 0, 1, 0); decrypt_self("os0:kd/deci4p_sttyp.skprx", "ux0:dump/out/os0-/kd/deci4p_sttyp.skprx", 0, 1, 0); decrypt_self("os0:kd/deci4p_tmcp.skprx", "ux0:dump/out/os0-/kd/deci4p_tmcp.skprx", 0, 1, 0); decrypt_self("os0:kd/deci4p_tsmp.skprx", "ux0:dump/out/os0-/kd/deci4p_tsmp.skprx", 0, 1, 0); decrypt_self("os0:kd/deci4p_ttyp.skprx", "ux0:dump/out/os0-/kd/deci4p_ttyp.skprx", 0, 1, 0); decrypt_self("os0:kd/deci4p_userp.skprx", "ux0:dump/out/os0-/kd/deci4p_userp.skprx", 0, 1, 0); decrypt_self("os0:kd/deci4p_vcp.skprx", "ux0:dump/out/os0-/kd/deci4p_vcp.skprx", 0, 1, 0); decrypt_self("os0:kd/display.skprx", "ux0:dump/out/os0-/kd/display.skprx", 0, 1, 0); decrypt_self("os0:kd/dmacmgr.skprx", "ux0:dump/out/os0-/kd/dmacmgr.skprx", 0, 1, 0); decrypt_self("os0:kd/enum_wakeup.skprx", "ux0:dump/out/os0-/kd/enum_wakeup.skprx", 0, 1, 0); decrypt_self("os0:kd/excpmgr.skprx", "ux0:dump/out/os0-/kd/excpmgr.skprx", 0, 1, 0); decrypt_self("os0:kd/exfatfs.skprx", "ux0:dump/out/os0-/kd/exfatfs.skprx", 0, 1, 0); decrypt_self("os0:kd/gcauthmgr.skprx", "ux0:dump/out/os0-/kd/gcauthmgr.skprx", 0, 1, 0); decrypt_self("os0:kd/gpucoredump_es4.skprx", "ux0:dump/out/os0-/kd/gpucoredump_es4.skprx", 0, 1, 0); decrypt_self("os0:kd/hdmi.skprx", "ux0:dump/out/os0-/kd/hdmi.skprx", 0, 1, 0); decrypt_self("os0:kd/intrmgr.skprx", "ux0:dump/out/os0-/kd/intrmgr.skprx", 0, 1, 0); decrypt_self("os0:kd/iofilemgr.skprx", "ux0:dump/out/os0-/kd/iofilemgr.skprx", 0, 1, 0); decrypt_self("os0:kd/krm.skprx", "ux0:dump/out/os0-/kd/krm.skprx", 0, 1, 0); decrypt_self("os0:kd/lcd.skprx", "ux0:dump/out/os0-/kd/lcd.skprx", 0, 1, 0); decrypt_self("os0:kd/lowio.skprx", "ux0:dump/out/os0-/kd/lowio.skprx", 0, 1, 0); decrypt_self("os0:kd/magicgate.skprx", "ux0:dump/out/os0-/kd/magicgate.skprx", 0, 1, 0); decrypt_self("os0:kd/marlin_hci.skprx", "ux0:dump/out/os0-/kd/marlin_hci.skprx", 0, 1, 0); decrypt_self("os0:kd/mgkeymgr.skprx", "ux0:dump/out/os0-/kd/mgkeymgr.skprx", 0, 1, 0); decrypt_self("os0:kd/mgvideo.skprx", "ux0:dump/out/os0-/kd/mgvideo.skprx", 0, 1, 0); decrypt_self("os0:kd/modulemgr.skprx", "ux0:dump/out/os0-/kd/modulemgr.skprx", 0, 1, 0); decrypt_self("os0:kd/msif.skprx", "ux0:dump/out/os0-/kd/msif.skprx", 0, 1, 0); decrypt_self("os0:kd/oled.skprx", "ux0:dump/out/os0-/kd/oled.skprx", 0, 1, 0); decrypt_self("os0:kd/pamgr.skprx", "ux0:dump/out/os0-/kd/pamgr.skprx", 0, 1, 0); decrypt_self("os0:kd/pcbc.skprx", "ux0:dump/out/os0-/kd/pcbc.skprx", 0, 1, 0); decrypt_self("os0:kd/processmgr.skprx", "ux0:dump/out/os0-/kd/processmgr.skprx", 0, 1, 0); decrypt_self("os0:kd/rtc.skprx", "ux0:dump/out/os0-/kd/rtc.skprx", 0, 1, 0); decrypt_self("os0:kd/sdbgsdio.skprx", "ux0:dump/out/os0-/kd/sdbgsdio.skprx", 0, 1, 0); decrypt_self("os0:kd/sdif.skprx", "ux0:dump/out/os0-/kd/sdif.skprx", 0, 1, 0); decrypt_self("os0:kd/sdstor.skprx", "ux0:dump/out/os0-/kd/sdstor.skprx", 0, 1, 0); decrypt_self("os0:kd/smsc_proxy.skprx", "ux0:dump/out/os0-/kd/smsc_proxy.skprx", 0, 1, 0); decrypt_self("os0:kd/sm_comm.skprx", "ux0:dump/out/os0-/kd/sm_comm.skprx", 0, 1, 0); decrypt_self("os0:kd/ss_mgr.skprx", "ux0:dump/out/os0-/kd/ss_mgr.skprx", 0, 1, 0); decrypt_self("os0:kd/syscon.skprx", "ux0:dump/out/os0-/kd/syscon.skprx", 0, 1, 0); decrypt_self("os0:kd/syslibtrace.skprx", "ux0:dump/out/os0-/kd/syslibtrace.skprx", 0, 1, 0); decrypt_self("os0:kd/sysmem.skprx", "ux0:dump/out/os0-/kd/sysmem.skprx", 0, 1, 0); decrypt_self("os0:kd/sysstatemgr.skprx", "ux0:dump/out/os0-/kd/sysstatemgr.skprx", 0, 1, 0); decrypt_self("os0:kd/systimer.skprx", "ux0:dump/out/os0-/kd/systimer.skprx", 0, 1, 0); decrypt_self("os0:kd/threadmgr.skprx", "ux0:dump/out/os0-/kd/threadmgr.skprx", 0, 1, 0); decrypt_self("os0:kd/usbdev_serial.skprx", "ux0:dump/out/os0-/kd/usbdev_serial.skprx", 0, 1, 0); decrypt_self("os0:kd/usbpspcm.skprx", "ux0:dump/out/os0-/kd/usbpspcm.skprx", 0, 1, 0); decrypt_self("os0:kd/usbstor.skprx", "ux0:dump/out/os0-/kd/usbstor.skprx", 0, 1, 0); decrypt_self("os0:kd/usbstormg.skprx", "ux0:dump/out/os0-/kd/usbstormg.skprx", 0, 1, 0); decrypt_self("os0:kd/usbstorvstor.skprx", "ux0:dump/out/os0-/kd/usbstorvstor.skprx", 0, 1, 0); decrypt_self("os0:kd/usb_ether_smsc.skprx", "ux0:dump/out/os0-/kd/usb_ether_smsc.skprx", 0, 1, 0); decrypt_self("os0:kd/vipimg.skprx", "ux0:dump/out/os0-/kd/vipimg.skprx", 0, 1, 0); decrypt_self("os0:kd/vnzimg.skprx", "ux0:dump/out/os0-/kd/vnzimg.skprx", 0, 1, 0); decrypt_self("os0:kd/wlanbt_robin_img_ax.skprx", "ux0:dump/out/os0-/kd/wlanbt_robin_img_ax.skprx", 0, 1, 0); decrypt_self("os0:psp2bootconfig.skprx", "ux0:dump/out/os0-/psp2bootconfig.skprx", 0, 1, 0); decrypt_self("os0:psp2config_dolce.skprx", "ux0:dump/out/os0-/psp2config_dolce.skprx", 0, 1, 0); decrypt_self("os0:psp2config_vita.skprx", "ux0:dump/out/os0-/psp2config_vita.skprx", 0, 1, 0); decrypt_self("os0:ue/cui_setupper.self", "ux0:dump/out/os0-/ue/cui_setupper.self", 0, 1, 1); decrypt_self("os0:ue/safemode.self", "ux0:dump/out/os0-/ue/safemode.self", 0, 1, 1); decrypt_self("os0:us/avcodec_us.suprx", "ux0:dump/out/os0-/us/avcodec_us.suprx", 0, 1, 1); decrypt_self("os0:us/driver_us.suprx", "ux0:dump/out/os0-/us/driver_us.suprx", 0, 1, 1); decrypt_self("os0:us/libgpu_es4.suprx", "ux0:dump/out/os0-/us/libgpu_es4.suprx", 0, 1, 1); decrypt_self("os0:us/libgxm_es4.suprx", "ux0:dump/out/os0-/us/libgxm_es4.suprx", 0, 1, 1); decrypt_self("os0:us/libkernel.suprx", "ux0:dump/out/os0-/us/libkernel.suprx", 0, 1, 1); //System apps and pspemu flash0 decrypt_self("vs0:app/NPXS10000/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10000_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10001/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10001_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10001/np_party_app.suprx", "ux0:dump/out/vs0-/app/NPXS10001_np_party_app.suprx", 0, 1, 1); decrypt_self("vs0:app/NPXS10002/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10002_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10003/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10003_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10004/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10004_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10006/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10006_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10008/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10008_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10009/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10009_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10010/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10010_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10012/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10012_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10013/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10013_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10013/gaikai-player.suprx", "ux0:dump/out/vs0-/app/NPXS10013_gaikai-player.suprx", 0, 1, 1); decrypt_self("vs0:app/NPXS10013/libSceSecondScreen.suprx", "ux0:dump/out/vs0-/app/NPXS10013_libSceSecondScreen.suprx", 0, 1, 1); decrypt_self("vs0:app/NPXS10014/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10014_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10015/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10015_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10015/system_settings_core.suprx", "ux0:dump/out/vs0-/app/NPXS10015_system_settings_core.suprx", 0, 1, 1); decrypt_self("vs0:app/NPXS10018/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10018_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10021/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10021_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10021/tel_reg.suprx", "ux0:dump/out/vs0-/app/NPXS10021_tel_reg.suprx", 0, 1, 1); decrypt_self("vs0:app/NPXS10023/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10023_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10024/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10024_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10025/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10025_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10026/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10026_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10027/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10027_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10028/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10028_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10028/pcff.skprx", "ux0:dump/out/vs0-/app/NPXS10028_pcff.skprx", 0, 1, 0); decrypt_self("vs0:app/NPXS10029/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10029_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10030/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10030_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10031/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10031_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10032/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10032_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10036/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10036_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10063/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10063_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10065/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10065_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10065/grief_report_dialog.suprx", "ux0:dump/out/vs0-/app/NPXS10065_grief_report_dialog.suprx", 0, 1, 1); decrypt_self("vs0:app/NPXS10068/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10068_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10072/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10072_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10072/email_engine.suprx", "ux0:dump/out/vs0-/app/NPXS10072_email_engine.suprx", 0, 1, 1); decrypt_self("vs0:app/NPXS10073/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10073_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10077/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10077_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10078/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10078_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10079/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10079_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10080/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10080_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10081/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10081_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10082/spawn.self", "ux0:dump/out/vs0-/app/NPXS10082_spawn.self", 0, 1, 1); decrypt_self("vs0:app/NPXS10083/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10083_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10084/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10084_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10085/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10085_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10091/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10091_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10092/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10092_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10094/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10094_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10095/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10095_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10095/stitch_core_prx.suprx", "ux0:dump/out/vs0-/app/NPXS10095_stitch_core_prx.suprx", 0, 1, 1); decrypt_self("vs0:app/NPXS10095/stitch_prx.suprx", "ux0:dump/out/vs0-/app/NPXS10095_stitch_prx.suprx", 0, 1, 1); decrypt_self("vs0:app/NPXS10098/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10098_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10098/gaikai-player.suprx", "ux0:dump/out/vs0-/app/NPXS10098_gaikai-player.suprx", 0, 1, 1); decrypt_self("vs0:app/NPXS10100/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10100_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10101/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10101_eboot.bin", 0, 1, 1); decrypt_self("vs0:app/NPXS10103/ds4_pairing.self", "ux0:dump/out/vs0-/app/NPXS10103_ds4_pairing.self", 0, 1, 1); decrypt_self("vs0:app/NPXS10104/eboot.bin", "ux0:dump/out/vs0-/app/NPXS10104_eboot.bin", 0, 1, 1); //Plugins and VSH decrypt_self("vs0:data/external/webcore/jx_web_filtering.suprx", "ux0:dump/out/vs0-/data/external/webcore/jx_web_filtering.suprx", 0, 1, 1); decrypt_self("vs0:data/external/webcore/ScePsp2Compat.suprx", "ux0:dump/out/vs0-/data/external/webcore/ScePsp2Compat.suprx", 0, 1, 1); decrypt_self("vs0:data/external/webcore/SceWebKitModule.suprx", "ux0:dump/out/vs0-/data/external/webcore/SceWebKitModule.suprx", 0, 1, 1); decrypt_self("vs0:data/external/webcore/vita_jsextobj.suprx", "ux0:dump/out/vs0-/data/external/webcore/vita_jsextobj.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/activity_db.suprx", "ux0:dump/out/vs0-/sys/external/activity_db.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/adhoc_matching.suprx", "ux0:dump/out/vs0-/sys/external/adhoc_matching.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/apputil.suprx", "ux0:dump/out/vs0-/sys/external/apputil.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/apputil_ext.suprx", "ux0:dump/out/vs0-/sys/external/apputil_ext.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/audiocodec.suprx", "ux0:dump/out/vs0-/sys/external/audiocodec.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/avcdec_for_player.suprx", "ux0:dump/out/vs0-/sys/external/avcdec_for_player.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/bgapputil.suprx", "ux0:dump/out/vs0-/sys/external/bgapputil.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/bXCe.suprx", "ux0:dump/out/vs0-/sys/external/bXCe.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/common_gui_dialog.suprx", "ux0:dump/out/vs0-/sys/external/common_gui_dialog.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/dbrecovery_utility.suprx", "ux0:dump/out/vs0-/sys/external/dbrecovery_utility.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/dbutil.suprx", "ux0:dump/out/vs0-/sys/external/dbutil.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/friend_select.suprx", "ux0:dump/out/vs0-/sys/external/friend_select.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/incoming_dialog.suprx", "ux0:dump/out/vs0-/sys/external/incoming_dialog.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/ini_file_processor.suprx", "ux0:dump/out/vs0-/sys/external/ini_file_processor.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libatrac.suprx", "ux0:dump/out/vs0-/sys/external/libatrac.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libc.suprx", "ux0:dump/out/vs0-/sys/external/libc.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libcdlg.suprx", "ux0:dump/out/vs0-/sys/external/libcdlg.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libcdlg_calendar_review.suprx", "ux0:dump/out/vs0-/sys/external/libcdlg_calendar_review.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libcdlg_cameraimport.suprx", "ux0:dump/out/vs0-/sys/external/libcdlg_cameraimport.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libcdlg_checkout.suprx", "ux0:dump/out/vs0-/sys/external/libcdlg_checkout.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libcdlg_companion.suprx", "ux0:dump/out/vs0-/sys/external/libcdlg_companion.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libcdlg_compat.suprx", "ux0:dump/out/vs0-/sys/external/libcdlg_compat.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libcdlg_cross_controller.suprx", "ux0:dump/out/vs0-/sys/external/libcdlg_cross_controller.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libcdlg_friendlist.suprx", "ux0:dump/out/vs0-/sys/external/libcdlg_friendlist.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libcdlg_friendlist2.suprx", "ux0:dump/out/vs0-/sys/external/libcdlg_friendlist2.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libcdlg_game_custom_data.suprx", "ux0:dump/out/vs0-/sys/external/libcdlg_game_custom_data.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libcdlg_game_custom_data_impl.suprx", "ux0:dump/out/vs0-/sys/external/libcdlg_game_custom_data_impl.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libcdlg_ime.suprx", "ux0:dump/out/vs0-/sys/external/libcdlg_ime.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libcdlg_invitation.suprx", "ux0:dump/out/vs0-/sys/external/libcdlg_invitation.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libcdlg_invitation_impl.suprx", "ux0:dump/out/vs0-/sys/external/libcdlg_invitation_impl.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libcdlg_main.suprx", "ux0:dump/out/vs0-/sys/external/libcdlg_main.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libcdlg_msg.suprx", "ux0:dump/out/vs0-/sys/external/libcdlg_msg.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libcdlg_near.suprx", "ux0:dump/out/vs0-/sys/external/libcdlg_near.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libcdlg_netcheck.suprx", "ux0:dump/out/vs0-/sys/external/libcdlg_netcheck.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libcdlg_npeula.suprx", "ux0:dump/out/vs0-/sys/external/libcdlg_npeula.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libcdlg_npprofile2.suprx", "ux0:dump/out/vs0-/sys/external/libcdlg_npprofile2.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libcdlg_np_message.suprx", "ux0:dump/out/vs0-/sys/external/libcdlg_np_message.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libcdlg_np_sns_fb.suprx", "ux0:dump/out/vs0-/sys/external/libcdlg_np_sns_fb.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libcdlg_np_trophy_setup.suprx", "ux0:dump/out/vs0-/sys/external/libcdlg_np_trophy_setup.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libcdlg_photoimport.suprx", "ux0:dump/out/vs0-/sys/external/libcdlg_photoimport.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libcdlg_photoreview.suprx", "ux0:dump/out/vs0-/sys/external/libcdlg_photoreview.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libcdlg_remote_osk.suprx", "ux0:dump/out/vs0-/sys/external/libcdlg_remote_osk.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libcdlg_savedata.suprx", "ux0:dump/out/vs0-/sys/external/libcdlg_savedata.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libcdlg_twitter.suprx", "ux0:dump/out/vs0-/sys/external/libcdlg_twitter.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libcdlg_tw_login.suprx", "ux0:dump/out/vs0-/sys/external/libcdlg_tw_login.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libcdlg_videoimport.suprx", "ux0:dump/out/vs0-/sys/external/libcdlg_videoimport.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libclipboard.suprx", "ux0:dump/out/vs0-/sys/external/libclipboard.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libcodecengine_perf.suprx", "ux0:dump/out/vs0-/sys/external/libcodecengine_perf.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libdbg.suprx", "ux0:dump/out/vs0-/sys/external/libdbg.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libfiber.suprx", "ux0:dump/out/vs0-/sys/external/libfiber.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libfios2.suprx", "ux0:dump/out/vs0-/sys/external/libfios2.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libg729.suprx", "ux0:dump/out/vs0-/sys/external/libg729.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libgameupdate.suprx", "ux0:dump/out/vs0-/sys/external/libgameupdate.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libgxm_dbg_es4.suprx", "ux0:dump/out/vs0-/sys/external/libgxm_dbg_es4.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libhandwriting.suprx", "ux0:dump/out/vs0-/sys/external/libhandwriting.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libhttp.suprx", "ux0:dump/out/vs0-/sys/external/libhttp.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libime.suprx", "ux0:dump/out/vs0-/sys/external/libime.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libipmi_nongame.suprx", "ux0:dump/out/vs0-/sys/external/libipmi_nongame.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/liblocation.suprx", "ux0:dump/out/vs0-/sys/external/liblocation.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/liblocation_extension.suprx", "ux0:dump/out/vs0-/sys/external/liblocation_extension.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/liblocation_factory.suprx", "ux0:dump/out/vs0-/sys/external/liblocation_factory.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/liblocation_internal.suprx", "ux0:dump/out/vs0-/sys/external/liblocation_internal.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libmln.suprx", "ux0:dump/out/vs0-/sys/external/libmln.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libmlnapplib.suprx", "ux0:dump/out/vs0-/sys/external/libmlnapplib.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libmlndownloader.suprx", "ux0:dump/out/vs0-/sys/external/libmlndownloader.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libnaac.suprx", "ux0:dump/out/vs0-/sys/external/libnaac.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libnet.suprx", "ux0:dump/out/vs0-/sys/external/libnet.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libnetctl.suprx", "ux0:dump/out/vs0-/sys/external/libnetctl.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libngs.suprx", "ux0:dump/out/vs0-/sys/external/libngs.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libpaf.suprx", "ux0:dump/out/vs0-/sys/external/libpaf.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libpaf_web_map_view.suprx", "ux0:dump/out/vs0-/sys/external/libpaf_web_map_view.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libperf.suprx", "ux0:dump/out/vs0-/sys/external/libperf.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libpgf.suprx", "ux0:dump/out/vs0-/sys/external/libpgf.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libpvf.suprx", "ux0:dump/out/vs0-/sys/external/libpvf.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/librazorcapture_es4.suprx", "ux0:dump/out/vs0-/sys/external/librazorcapture_es4.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/librazorhud_es4.suprx", "ux0:dump/out/vs0-/sys/external/librazorhud_es4.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/librudp.suprx", "ux0:dump/out/vs0-/sys/external/librudp.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libsas.suprx", "ux0:dump/out/vs0-/sys/external/libsas.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libsceavplayer.suprx", "ux0:dump/out/vs0-/sys/external/libsceavplayer.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libSceBeisobmf.suprx", "ux0:dump/out/vs0-/sys/external/libSceBeisobmf.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libSceBemp2sys.suprx", "ux0:dump/out/vs0-/sys/external/libSceBemp2sys.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libSceCompanionUtil.suprx", "ux0:dump/out/vs0-/sys/external/libSceCompanionUtil.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libSceDtcpIp.suprx", "ux0:dump/out/vs0-/sys/external/libSceDtcpIp.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libSceFt2.suprx", "ux0:dump/out/vs0-/sys/external/libSceFt2.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libscejpegarm.suprx", "ux0:dump/out/vs0-/sys/external/libscejpegarm.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libscejpegencarm.suprx", "ux0:dump/out/vs0-/sys/external/libscejpegencarm.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libSceJson.suprx", "ux0:dump/out/vs0-/sys/external/libSceJson.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libscemp4.suprx", "ux0:dump/out/vs0-/sys/external/libscemp4.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libSceMp4Rec.suprx", "ux0:dump/out/vs0-/sys/external/libSceMp4Rec.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libSceMusicExport.suprx", "ux0:dump/out/vs0-/sys/external/libSceMusicExport.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libSceNearDialogUtil.suprx", "ux0:dump/out/vs0-/sys/external/libSceNearDialogUtil.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libSceNearUtil.suprx", "ux0:dump/out/vs0-/sys/external/libSceNearUtil.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libScePhotoExport.suprx", "ux0:dump/out/vs0-/sys/external/libScePhotoExport.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libScePromoterUtil.suprx", "ux0:dump/out/vs0-/sys/external/libScePromoterUtil.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libSceScreenShot.suprx", "ux0:dump/out/vs0-/sys/external/libSceScreenShot.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libSceShutterSound.suprx", "ux0:dump/out/vs0-/sys/external/libSceShutterSound.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libSceSqlite.suprx", "ux0:dump/out/vs0-/sys/external/libSceSqlite.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libSceTelephonyUtil.suprx", "ux0:dump/out/vs0-/sys/external/libSceTelephonyUtil.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libSceTeleportClient.suprx", "ux0:dump/out/vs0-/sys/external/libSceTeleportClient.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libSceTeleportServer.suprx", "ux0:dump/out/vs0-/sys/external/libSceTeleportServer.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libSceVideoExport.suprx", "ux0:dump/out/vs0-/sys/external/libSceVideoExport.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libSceVideoSearchEmpr.suprx", "ux0:dump/out/vs0-/sys/external/libSceVideoSearchEmpr.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libSceXml.suprx", "ux0:dump/out/vs0-/sys/external/libSceXml.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libshellsvc.suprx", "ux0:dump/out/vs0-/sys/external/libshellsvc.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libssl.suprx", "ux0:dump/out/vs0-/sys/external/libssl.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libsulpha.suprx", "ux0:dump/out/vs0-/sys/external/libsulpha.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libsystemgesture.suprx", "ux0:dump/out/vs0-/sys/external/libsystemgesture.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libult.suprx", "ux0:dump/out/vs0-/sys/external/libult.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libvoice.suprx", "ux0:dump/out/vs0-/sys/external/libvoice.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/libvoiceqos.suprx", "ux0:dump/out/vs0-/sys/external/libvoiceqos.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/livearea_util.suprx", "ux0:dump/out/vs0-/sys/external/livearea_util.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/mail_api_for_local_libc.suprx", "ux0:dump/out/vs0-/sys/external/mail_api_for_local_libc.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/near_profile.suprx", "ux0:dump/out/vs0-/sys/external/near_profile.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/notification_util.suprx", "ux0:dump/out/vs0-/sys/external/notification_util.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/np_activity.suprx", "ux0:dump/out/vs0-/sys/external/np_activity.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/np_activity_sdk.suprx", "ux0:dump/out/vs0-/sys/external/np_activity_sdk.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/np_basic.suprx", "ux0:dump/out/vs0-/sys/external/np_basic.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/np_commerce2.suprx", "ux0:dump/out/vs0-/sys/external/np_commerce2.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/np_common.suprx", "ux0:dump/out/vs0-/sys/external/np_common.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/np_common_ps4.suprx", "ux0:dump/out/vs0-/sys/external/np_common_ps4.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/np_friend_privacylevel.suprx", "ux0:dump/out/vs0-/sys/external/np_friend_privacylevel.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/np_kdc.suprx", "ux0:dump/out/vs0-/sys/external/np_kdc.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/np_manager.suprx", "ux0:dump/out/vs0-/sys/external/np_manager.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/np_matching2.suprx", "ux0:dump/out/vs0-/sys/external/np_matching2.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/np_message.suprx", "ux0:dump/out/vs0-/sys/external/np_message.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/np_message_contacts.suprx", "ux0:dump/out/vs0-/sys/external/np_message_contacts.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/np_message_dialog_impl.suprx", "ux0:dump/out/vs0-/sys/external/np_message_dialog_impl.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/np_message_padding.suprx", "ux0:dump/out/vs0-/sys/external/np_message_padding.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/np_party.suprx", "ux0:dump/out/vs0-/sys/external/np_party.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/np_ranking.suprx", "ux0:dump/out/vs0-/sys/external/np_ranking.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/np_signaling.suprx", "ux0:dump/out/vs0-/sys/external/np_signaling.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/np_sns_facebook.suprx", "ux0:dump/out/vs0-/sys/external/np_sns_facebook.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/np_trophy.suprx", "ux0:dump/out/vs0-/sys/external/np_trophy.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/np_tus.suprx", "ux0:dump/out/vs0-/sys/external/np_tus.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/np_utility.suprx", "ux0:dump/out/vs0-/sys/external/np_utility.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/np_webapi.suprx", "ux0:dump/out/vs0-/sys/external/np_webapi.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/party_member_list.suprx", "ux0:dump/out/vs0-/sys/external/party_member_list.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/psmkdc.suprx", "ux0:dump/out/vs0-/sys/external/psmkdc.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/pspnet_adhoc.suprx", "ux0:dump/out/vs0-/sys/external/pspnet_adhoc.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/signin_ext.suprx", "ux0:dump/out/vs0-/sys/external/signin_ext.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/sqlite.suprx", "ux0:dump/out/vs0-/sys/external/sqlite.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/store_checkout_plugin.suprx", "ux0:dump/out/vs0-/sys/external/store_checkout_plugin.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/trigger_util.suprx", "ux0:dump/out/vs0-/sys/external/trigger_util.suprx", 0, 1, 1); decrypt_self("vs0:sys/external/web_ui_plugin.suprx", "ux0:dump/out/vs0-/sys/external/web_ui_plugin.suprx", 0, 1, 1); decrypt_self("vs0:vsh/common/app_settings.suprx", "ux0:dump/out/vs0-/vsh/common/app_settings.suprx", 0, 1, 1); decrypt_self("vs0:vsh/common/auth_plugin.suprx", "ux0:dump/out/vs0-/vsh/common/auth_plugin.suprx", 0, 1, 1); decrypt_self("vs0:vsh/common/av_content_handler.suprx", "ux0:dump/out/vs0-/vsh/common/av_content_handler.suprx", 0, 1, 1); decrypt_self("vs0:vsh/common/backup_restore.suprx", "ux0:dump/out/vs0-/vsh/common/backup_restore.suprx", 0, 1, 1); decrypt_self("vs0:vsh/common/content_operation.suprx", "ux0:dump/out/vs0-/vsh/common/content_operation.suprx", 0, 1, 1); decrypt_self("vs0:vsh/common/dbrecovery_plugin.suprx", "ux0:dump/out/vs0-/vsh/common/dbrecovery_plugin.suprx", 0, 1, 1); decrypt_self("vs0:vsh/common/dbsetup.suprx", "ux0:dump/out/vs0-/vsh/common/dbsetup.suprx", 0, 1, 1); decrypt_self("vs0:vsh/common/libBEAVCorePlayer.suprx", "ux0:dump/out/vs0-/vsh/common/libBEAVCorePlayer.suprx", 0, 1, 1); decrypt_self("vs0:vsh/common/libFflMp4.suprx", "ux0:dump/out/vs0-/vsh/common/libFflMp4.suprx", 0, 1, 1); decrypt_self("vs0:vsh/common/libical.suprx", "ux0:dump/out/vs0-/vsh/common/libical.suprx", 0, 1, 1); decrypt_self("vs0:vsh/common/libicalss.suprx", "ux0:dump/out/vs0-/vsh/common/libicalss.suprx", 0, 1, 1); decrypt_self("vs0:vsh/common/libmarlin.suprx", "ux0:dump/out/vs0-/vsh/common/libmarlin.suprx", 0, 1, 1); decrypt_self("vs0:vsh/common/libmarlindownloader.suprx", "ux0:dump/out/vs0-/vsh/common/libmarlindownloader.suprx", 0, 1, 1); decrypt_self("vs0:vsh/common/libmarlin_pb.suprx", "ux0:dump/out/vs0-/vsh/common/libmarlin_pb.suprx", 0, 1, 1); decrypt_self("vs0:vsh/common/libmtp.suprx", "ux0:dump/out/vs0-/vsh/common/libmtp.suprx", 0, 1, 1); decrypt_self("vs0:vsh/common/libmtphttp.suprx", "ux0:dump/out/vs0-/vsh/common/libmtphttp.suprx", 0, 1, 1); decrypt_self("vs0:vsh/common/libmtphttp_wrapper.suprx", "ux0:dump/out/vs0-/vsh/common/libmtphttp_wrapper.suprx", 0, 1, 1); decrypt_self("vs0:vsh/common/libSenvuabsFFsdk.suprx", "ux0:dump/out/vs0-/vsh/common/libSenvuabsFFsdk.suprx", 0, 1, 1); decrypt_self("vs0:vsh/common/libvideoprofiler.suprx", "ux0:dump/out/vs0-/vsh/common/libvideoprofiler.suprx", 0, 1, 1); decrypt_self("vs0:vsh/common/mail_api_for_local.suprx", "ux0:dump/out/vs0-/vsh/common/mail_api_for_local.suprx", 0, 1, 1); decrypt_self("vs0:vsh/common/mms/AACPromoter.suprx", "ux0:dump/out/vs0-/vsh/common/mms/AACPromoter.suprx", 0, 1, 1); decrypt_self("vs0:vsh/common/mms/bmp_promoter.suprx", "ux0:dump/out/vs0-/vsh/common/mms/bmp_promoter.suprx", 0, 1, 1); decrypt_self("vs0:vsh/common/mms/gif_promoter.suprx", "ux0:dump/out/vs0-/vsh/common/mms/gif_promoter.suprx", 0, 1, 1); decrypt_self("vs0:vsh/common/mms/jpeg_promoter.suprx", "ux0:dump/out/vs0-/vsh/common/mms/jpeg_promoter.suprx", 0, 1, 1); decrypt_self("vs0:vsh/common/mms/meta_gen.suprx", "ux0:dump/out/vs0-/vsh/common/mms/meta_gen.suprx", 0, 1, 1); decrypt_self("vs0:vsh/common/mms/Mp3Promoter.suprx", "ux0:dump/out/vs0-/vsh/common/mms/Mp3Promoter.suprx", 0, 1, 1); decrypt_self("vs0:vsh/common/mms/MsvPromoter.suprx", "ux0:dump/out/vs0-/vsh/common/mms/MsvPromoter.suprx", 0, 1, 1); decrypt_self("vs0:vsh/common/mms/png_promoter.suprx", "ux0:dump/out/vs0-/vsh/common/mms/png_promoter.suprx", 0, 1, 1); decrypt_self("vs0:vsh/common/mms/RiffPromoter.suprx", "ux0:dump/out/vs0-/vsh/common/mms/RiffPromoter.suprx", 0, 1, 1); decrypt_self("vs0:vsh/common/mms/SensMe.suprx", "ux0:dump/out/vs0-/vsh/common/mms/SensMe.suprx", 0, 1, 1); decrypt_self("vs0:vsh/common/mms/tiff_promoter.suprx", "ux0:dump/out/vs0-/vsh/common/mms/tiff_promoter.suprx", 0, 1, 1); decrypt_self("vs0:vsh/common/mtpr3.suprx", "ux0:dump/out/vs0-/vsh/common/mtpr3.suprx", 0, 1, 1); decrypt_self("vs0:vsh/common/mtp_client.suprx", "ux0:dump/out/vs0-/vsh/common/mtp_client.suprx", 0, 1, 1); decrypt_self("vs0:vsh/common/np_grief_report.suprx", "ux0:dump/out/vs0-/vsh/common/np_grief_report.suprx", 0, 1, 1); decrypt_self("vs0:vsh/game/gamecard_installer_plugin.suprx", "ux0:dump/out/vs0-/vsh/game/gamecard_installer_plugin.suprx", 0, 1, 1); decrypt_self("vs0:vsh/game/gamedata_plugin.suprx", "ux0:dump/out/vs0-/vsh/game/gamedata_plugin.suprx", 0, 1, 1); decrypt_self("vs0:vsh/initialsetup/initialsetup.self", "ux0:dump/out/vs0-/vsh/initialsetup/initialsetup.self", 0, 1, 1); decrypt_self("vs0:vsh/online_storage/online_storage_plugin.suprx", "ux0:dump/out/vs0-/vsh/online_storage/online_storage_plugin.suprx", 0, 1, 1); decrypt_self("vs0:vsh/shell/auth_reset_plugin.suprx", "ux0:dump/out/vs0-/vsh/shell/auth_reset_plugin.suprx", 0, 1, 1); decrypt_self("vs0:vsh/shell/idu_update_plugin.suprx", "ux0:dump/out/vs0-/vsh/shell/idu_update_plugin.suprx", 0, 1, 1); decrypt_self("vs0:vsh/shell/ime_plugin.suprx", "ux0:dump/out/vs0-/vsh/shell/ime_plugin.suprx", 0, 1, 1); decrypt_self("vs0:vsh/shell/impose_net_plugin.suprx", "ux0:dump/out/vs0-/vsh/shell/impose_net_plugin.suprx", 0, 1, 1); decrypt_self("vs0:vsh/shell/liblocation_permission.suprx", "ux0:dump/out/vs0-/vsh/shell/liblocation_permission.suprx", 0, 1, 1); decrypt_self("vs0:vsh/shell/liblocation_provider.suprx", "ux0:dump/out/vs0-/vsh/shell/liblocation_provider.suprx", 0, 1, 1); decrypt_self("vs0:vsh/shell/livespace_db.suprx", "ux0:dump/out/vs0-/vsh/shell/livespace_db.suprx", 0, 1, 1); decrypt_self("vs0:vsh/shell/location_dialog_plugin.suprx", "ux0:dump/out/vs0-/vsh/shell/location_dialog_plugin.suprx", 0, 1, 1); decrypt_self("vs0:vsh/shell/shell.self", "ux0:dump/out/vs0-/vsh/shell/shell.self", 0, 1, 1); decrypt_self("vs0:vsh/shell/telephony/initial_check/tel_initial_check_plugin.suprx", "ux0:dump/out/vs0-/vsh/shell/telephony/initial_check/tel_initial_check_plugin.suprx", 0, 1, 1); return SCE_KERNEL_START_SUCCESS; }