From e552163d9efe8cae6ec4e629326c359f4bbea18c Mon Sep 17 00:00:00 2001 From: ShirkNeko <109797057+ShirkNeko@users.noreply.github.com> Date: Tue, 30 Sep 2025 23:08:34 +0800 Subject: [PATCH] Revert "manager: Removed `SUSFS_UMOUNT_FOR_ZYGOTE_ISO_SERVICE` which are no longer used in susfs 1.5.10." This reverts commit 475b3998a1cbceed58f9ebd9e7464f71f3e3107c. - bump susfs version 1.5.10 --- manager/app/src/main/assets/ksu_susfs_1.5.10 | Bin 21296 -> 21808 bytes .../ultra/ui/component/SuSFSConfigTabs.kt | 56 ++++++++++++++++++ .../com/sukisu/ultra/ui/screen/SuSFSConfig.kt | 15 +++++ .../com/sukisu/ultra/ui/util/SuSFSManager.kt | 34 +++++++++++ .../ultra/ui/util/SuSFSModuleScripts.kt | 13 ++++ .../app/src/main/res/values-in/strings.xml | 4 ++ .../app/src/main/res/values-ja/strings.xml | 4 ++ .../app/src/main/res/values-ru/strings.xml | 4 ++ .../app/src/main/res/values-tr/strings.xml | 4 ++ .../app/src/main/res/values-vi/strings.xml | 4 ++ .../src/main/res/values-zh-rCN/strings.xml | 4 ++ .../src/main/res/values-zh-rHK/strings.xml | 4 ++ .../src/main/res/values-zh-rTW/strings.xml | 4 ++ manager/app/src/main/res/values/strings.xml | 4 ++ 14 files changed, 154 insertions(+) diff --git a/manager/app/src/main/assets/ksu_susfs_1.5.10 b/manager/app/src/main/assets/ksu_susfs_1.5.10 index d05b7367fdfd9742a847d8c47cd074102c85866b..b627a1e5057cb544b778a6374a4f3533b041ff3d 100644 GIT binary patch delta 7032 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 delta 6549 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, + umountForZygoteIsoService: Boolean, isLoading: Boolean, onAddUmount: () -> Unit, onRemoveUmount: (String) -> Unit, onEditUmount: ((String) -> Unit)? = null, + onToggleUmountForZygoteIsoService: (Boolean) -> Unit ) { Box(modifier = Modifier.fillMaxSize()) { LazyColumn( modifier = Modifier.fillMaxSize(), verticalArrangement = Arrangement.spacedBy(12.dp) ) { + if (isSusVersion158()) { + item { + Card( + modifier = Modifier.fillMaxWidth(), + colors = CardDefaults.cardColors( + containerColor = MaterialTheme.colorScheme.surface + ), + shape = RoundedCornerShape(12.dp) + ) { + Row( + modifier = Modifier + .fillMaxWidth() + .padding(12.dp), + horizontalArrangement = Arrangement.SpaceBetween, + verticalAlignment = Alignment.CenterVertically + ) { + Column( + modifier = Modifier.weight(1f) + ) { + Row( + verticalAlignment = Alignment.CenterVertically + ) { + Icon( + imageVector = Icons.Default.Security, + contentDescription = null, + tint = MaterialTheme.colorScheme.primary, + modifier = Modifier.size(18.dp) + ) + Spacer(modifier = Modifier.width(8.dp)) + Text( + text = stringResource(R.string.umount_zygote_iso_service), + style = MaterialTheme.typography.titleMedium, + fontWeight = FontWeight.Medium, + color = MaterialTheme.colorScheme.onSurface + ) + } + Spacer(modifier = Modifier.height(6.dp)) + Text( + text = stringResource(R.string.umount_zygote_iso_service_description), + style = MaterialTheme.typography.bodyMedium, + color = MaterialTheme.colorScheme.onSurfaceVariant, + lineHeight = 14.sp + ) + } + Switch( + checked = umountForZygoteIsoService, + onCheckedChange = onToggleUmountForZygoteIsoService, + enabled = !isLoading + ) + } + } + } + } + if (tryUmounts.isEmpty()) { item { EmptyStateCard( diff --git a/manager/app/src/main/java/com/sukisu/ultra/ui/screen/SuSFSConfig.kt b/manager/app/src/main/java/com/sukisu/ultra/ui/screen/SuSFSConfig.kt index a06927b7..e645aeee 100644 --- a/manager/app/src/main/java/com/sukisu/ultra/ui/screen/SuSFSConfig.kt +++ b/manager/app/src/main/java/com/sukisu/ultra/ui/screen/SuSFSConfig.kt @@ -101,6 +101,8 @@ fun SuSFSConfigScreen( // SUS挂载隐藏控制状态 var hideSusMountsForAllProcs by remember { mutableStateOf(true) } + var umountForZygoteIsoService by remember { mutableStateOf(false) } + // Kstat配置相关状态 var kstatConfigs by remember { mutableStateOf(emptySet()) } var addKstatPaths by remember { mutableStateOf(emptySet()) } @@ -254,6 +256,7 @@ fun SuSFSConfigScreen( hideSusMountsForAllProcs = SuSFSManager.getHideSusMountsForAllProcs(context) enableHideBl = SuSFSManager.getEnableHideBl(context) enableCleanupResidue = SuSFSManager.getEnableCleanupResidue(context) + umountForZygoteIsoService = SuSFSManager.getUmountForZygoteIsoService(context) enableAvcLogSpoofing = SuSFSManager.getEnableAvcLogSpoofing(context) loadSlotInfo() @@ -424,6 +427,7 @@ fun SuSFSConfigScreen( hideSusMountsForAllProcs = SuSFSManager.getHideSusMountsForAllProcs(context) enableHideBl = SuSFSManager.getEnableHideBl(context) enableCleanupResidue = SuSFSManager.getEnableCleanupResidue(context) + umountForZygoteIsoService = SuSFSManager.getUmountForZygoteIsoService(context) enableAvcLogSpoofing = SuSFSManager.getEnableAvcLogSpoofing(context) } isLoading = false @@ -1259,6 +1263,7 @@ fun SuSFSConfigScreen( SuSFSTab.TRY_UMOUNT -> { TryUmountContent( tryUmounts = tryUmounts, + umountForZygoteIsoService = umountForZygoteIsoService, isLoading = isLoading, onAddUmount = { showAddUmountDialog = true }, onRemoveUmount = { umountEntry -> @@ -1273,6 +1278,16 @@ fun SuSFSConfigScreen( onEditUmount = { umountEntry -> editingUmount = umountEntry showAddUmountDialog = true + }, + onToggleUmountForZygoteIsoService = { enabled -> + coroutineScope.launch { + isLoading = true + val success = SuSFSManager.setUmountForZygoteIsoService(context, enabled) + if (success) { + umountForZygoteIsoService = enabled + } + isLoading = false + } } ) } diff --git a/manager/app/src/main/java/com/sukisu/ultra/ui/util/SuSFSManager.kt b/manager/app/src/main/java/com/sukisu/ultra/ui/util/SuSFSManager.kt index 167015c8..30e24d14 100644 --- a/manager/app/src/main/java/com/sukisu/ultra/ui/util/SuSFSManager.kt +++ b/manager/app/src/main/java/com/sukisu/ultra/ui/util/SuSFSManager.kt @@ -48,6 +48,7 @@ object SuSFSManager { private const val KEY_HIDE_SUS_MOUNTS_FOR_ALL_PROCS = "hide_sus_mounts_for_all_procs" private const val KEY_ENABLE_CLEANUP_RESIDUE = "enable_cleanup_residue" private const val KEY_ENABLE_HIDE_BL = "enable_hide_bl" + private const val KEY_UMOUNT_FOR_ZYGOTE_ISO_SERVICE = "umount_for_zygote_iso_service" private const val KEY_ENABLE_AVC_LOG_SPOOFING = "enable_avc_log_spoofing" @@ -157,6 +158,7 @@ object SuSFSManager { val support158: Boolean, val enableHideBl: Boolean, val enableCleanupResidue: Boolean, + val umountForZygoteIsoService: Boolean, val enableAvcLogSpoofing: Boolean ) { /** @@ -266,6 +268,7 @@ object SuSFSManager { support158 = isSusVersion158(), enableHideBl = getEnableHideBl(context), enableCleanupResidue = getEnableCleanupResidue(context), + umountForZygoteIsoService = getUmountForZygoteIsoService(context), enableAvcLogSpoofing = getEnableAvcLogSpoofing(context) ) } @@ -329,6 +332,13 @@ object SuSFSManager { fun getEnableCleanupResidue(context: Context): Boolean = getPrefs(context).getBoolean(KEY_ENABLE_CLEANUP_RESIDUE, false) + // Zygote隔离服务卸载控制 + fun saveUmountForZygoteIsoService(context: Context, enabled: Boolean) = + getPrefs(context).edit { putBoolean(KEY_UMOUNT_FOR_ZYGOTE_ISO_SERVICE, enabled) } + + fun getUmountForZygoteIsoService(context: Context): Boolean = + getPrefs(context).getBoolean(KEY_UMOUNT_FOR_ZYGOTE_ISO_SERVICE, false) + // AVC日志欺骗配置 fun saveEnableAvcLogSpoofing(context: Context, enabled: Boolean) = getPrefs(context).edit { putBoolean(KEY_ENABLE_AVC_LOG_SPOOFING, enabled) } @@ -527,6 +537,7 @@ object SuSFSManager { KEY_HIDE_SUS_MOUNTS_FOR_ALL_PROCS to getHideSusMountsForAllProcs(context), KEY_ENABLE_HIDE_BL to getEnableHideBl(context), KEY_ENABLE_CLEANUP_RESIDUE to getEnableCleanupResidue(context), + KEY_UMOUNT_FOR_ZYGOTE_ISO_SERVICE to getUmountForZygoteIsoService(context), KEY_ENABLE_AVC_LOG_SPOOFING to getEnableAvcLogSpoofing(context), ) } @@ -1197,6 +1208,29 @@ object SuSFSManager { } } + // Zygote隔离服务卸载控制 + suspend fun setUmountForZygoteIsoService(context: Context, enabled: Boolean): Boolean { + if (!isSusVersion158()) { + return false + } + + val result = executeSusfsCommandWithOutput(context, "umount_for_zygote_iso_service ${if (enabled) 1 else 0}") + val success = result.isSuccess && result.output.isEmpty() + + if (success) { + saveUmountForZygoteIsoService(context, enabled) + if (isAutoStartEnabled(context)) updateMagiskModule(context) + showToast(context, if (enabled) + context.getString(R.string.umount_zygote_iso_service_enabled) + else + context.getString(R.string.umount_zygote_iso_service_disabled) + ) + } else { + showToast(context, context.getString(R.string.susfs_command_failed)) + } + return success + } + // 添加kstat配置 suspend fun addKstatStatically(context: Context, path: String, ino: String, dev: String, nlink: String, size: String, atime: String, atimeNsec: String, mtime: String, mtimeNsec: String, diff --git a/manager/app/src/main/java/com/sukisu/ultra/ui/util/SuSFSModuleScripts.kt b/manager/app/src/main/java/com/sukisu/ultra/ui/util/SuSFSModuleScripts.kt index dc45682b..1cf9cf82 100644 --- a/manager/app/src/main/java/com/sukisu/ultra/ui/util/SuSFSModuleScripts.kt +++ b/manager/app/src/main/java/com/sukisu/ultra/ui/util/SuSFSModuleScripts.kt @@ -392,6 +392,8 @@ object ScriptGenerator { appendLine() } + generateUmountZygoteIsoServiceSection(config.umountForZygoteIsoService, config.support158) + // 添加AVC日志欺骗设置 generateAvcLogSpoofingSection(config.enableAvcLogSpoofing) @@ -399,6 +401,17 @@ object ScriptGenerator { } } + // 添加新的生成方法 + private fun StringBuilder.generateUmountZygoteIsoServiceSection(umountForZygoteIsoService: Boolean, support158: Boolean) { + if (support158) { + appendLine("# 设置Zygote隔离服务卸载状态") + val umountValue = if (umountForZygoteIsoService) 1 else 0 + appendLine("\"${'$'}SUSFS_BIN\" umount_for_zygote_iso_service $umountValue") + appendLine("echo \"$(get_current_time): Zygote隔离服务卸载设置为: ${if (umountForZygoteIsoService) "启用" else "禁用"}\" >> \"${'$'}LOG_FILE\"") + appendLine() + } + } + /** * 生成post-mount.sh脚本内容 */ diff --git a/manager/app/src/main/res/values-in/strings.xml b/manager/app/src/main/res/values-in/strings.xml index 315ef753..8887462e 100644 --- a/manager/app/src/main/res/values-in/strings.xml +++ b/manager/app/src/main/res/values-in/strings.xml @@ -552,6 +552,10 @@ Pembaruan konfigurasi Kstat Pembaruan jalur Kstat Pembaruan full clone Susfs + Lepas Layanan Isolasi Zygote + Aktifkan opsi ini untuk melepaskan titik pemasangan layanan isolasi Zygote saat sistem mulai + Lepas layanan isolasi Zygote diaktifkan + Lepas layanan isolasi Zygote dinonaktifkan Jalur Aplikasi Jalur lainnya Lainnya diff --git a/manager/app/src/main/res/values-ja/strings.xml b/manager/app/src/main/res/values-ja/strings.xml index d6491d24..1feec5cd 100644 --- a/manager/app/src/main/res/values-ja/strings.xml +++ b/manager/app/src/main/res/values-ja/strings.xml @@ -552,6 +552,10 @@ Kstat の構成を更新 Kstat のパスを更新 フルクローンの SuSFS を更新 + Zygote 分離サービスをアンマウント + このオプションを有効化すると、システムの起動時に Zygote 分離サービスのマウントポイントがアンマウントされます。 + Zygote 分離サービスのアンマウントが有効です + Zygote 分離サービスのアンマウントが無効です アプリのパス その他のパス その他 diff --git a/manager/app/src/main/res/values-ru/strings.xml b/manager/app/src/main/res/values-ru/strings.xml index 8c0271b4..0f84799c 100644 --- a/manager/app/src/main/res/values-ru/strings.xml +++ b/manager/app/src/main/res/values-ru/strings.xml @@ -552,6 +552,10 @@ Обновить конфиг Kstat Обновить путь Kstat Полное обновление клона SuSFS + Размонтировать сервис изоляции Zygote + Включите эту опцию, чтобы размонтировать точки монтирования Zygote при запуске системы + Размонтирование служб Zygote включено + Размонтирование служб Zygote выключено Путь к приложению Другие пути Другое diff --git a/manager/app/src/main/res/values-tr/strings.xml b/manager/app/src/main/res/values-tr/strings.xml index 0ee722cb..b513a103 100644 --- a/manager/app/src/main/res/values-tr/strings.xml +++ b/manager/app/src/main/res/values-tr/strings.xml @@ -550,6 +550,10 @@ Kstat yapılandırması güncellendi Kstat yolu güncellendi Susfs tam klon güncellemesi + Zygote İzolasyon Servisi Bağlantısını Kes + Sistem başlangıcında Zygote izolasyon servisi bağlama noktalarının bağlantısını kesmek için bu seçeneği etkinleştirin + Zygote izolasyon servisi bağlantı kesme etkinleştirildi + Zygote izolasyon servisi bağlantı kesme devre dışı bırakıldı Uygulama Yolu Diğer yollar Diğer diff --git a/manager/app/src/main/res/values-vi/strings.xml b/manager/app/src/main/res/values-vi/strings.xml index e2a3b00d..ba7b7d86 100644 --- a/manager/app/src/main/res/values-vi/strings.xml +++ b/manager/app/src/main/res/values-vi/strings.xml @@ -550,6 +550,10 @@ Cập nhật cấu hình Kstat Cập nhật Đường dẫn Kstat Cập nhật bản sao SuSFS đầy đủ + Umount dịch vụ cô lập Zygote + Umount các điểm dịch vụ cô lập Zygote khi khởi động hệ thống + Umount dịch vụ cô lập Zygote đã bật + Umount dịch vụ cô lập Zygote đã tắt Đường dẫn ứng dụng Đường dẫn khác Khác diff --git a/manager/app/src/main/res/values-zh-rCN/strings.xml b/manager/app/src/main/res/values-zh-rCN/strings.xml index ab412dfb..f05f6cbf 100644 --- a/manager/app/src/main/res/values-zh-rCN/strings.xml +++ b/manager/app/src/main/res/values-zh-rCN/strings.xml @@ -550,6 +550,10 @@ Kstat 配置更新 Kstat 路径更新 Susfs 完整克隆更新 + 卸载 Zygote 隔离服务 + 启用此选项将在系统启动时卸载 Zygote 隔离服务挂载点 + Zygote 隔离服务卸载已启用 + Zygote 隔离服务卸载已禁用 应用路径 其他路径 其他 diff --git a/manager/app/src/main/res/values-zh-rHK/strings.xml b/manager/app/src/main/res/values-zh-rHK/strings.xml index 8d18f778..f2faba62 100644 --- a/manager/app/src/main/res/values-zh-rHK/strings.xml +++ b/manager/app/src/main/res/values-zh-rHK/strings.xml @@ -547,6 +547,10 @@ Kstat 配置更新 Kstat 路徑更新 Susfs 完整克隆更新 + 解除安裝 Zygote 隔離服務 + 啟用此選項將喺系統啟動時解除安裝 Zygote 隔離服務掛載點 + Zygote 隔離服務解除安裝已啟用 + Zygote 隔離服務解除安裝已禁用 應用路徑 其他路徑 其他 diff --git a/manager/app/src/main/res/values-zh-rTW/strings.xml b/manager/app/src/main/res/values-zh-rTW/strings.xml index 64b3e9f9..7676aceb 100644 --- a/manager/app/src/main/res/values-zh-rTW/strings.xml +++ b/manager/app/src/main/res/values-zh-rTW/strings.xml @@ -550,6 +550,10 @@ Kstat 配置已更新 Kstat 路徑已更新 Susfs 完整複製更新 + 卸載 Zygote 隔離服務 + 啟用此選項將在系統啟動時卸載 Zygote 隔離服務掛載點 + Zygote 隔離服務卸載已啟用 + Zygote 隔離服務卸載已停用 應用路徑 其他路徑 其他 diff --git a/manager/app/src/main/res/values/strings.xml b/manager/app/src/main/res/values/strings.xml index d0d40f9d..e8cdabf7 100644 --- a/manager/app/src/main/res/values/strings.xml +++ b/manager/app/src/main/res/values/strings.xml @@ -552,6 +552,10 @@ Kstat config update Kstat path update Susfs update full clone + Unmount Zygote Isolation Service + Enable this option to unmount Zygote isolation service mount points at system startup + Zygote isolation service unmount enabled + Zygote isolation service unmount disabled Application Path Other paths Other