diff --git a/app/src/main/java/io/github/beakthoven/TrickyStoreOSS/Main.kt b/app/src/main/java/io/github/beakthoven/TrickyStoreOSS/Main.kt index ba4c5c6..dbde2ec 100644 --- a/app/src/main/java/io/github/beakthoven/TrickyStoreOSS/Main.kt +++ b/app/src/main/java/io/github/beakthoven/TrickyStoreOSS/Main.kt @@ -41,7 +41,7 @@ private fun initializeInterceptors() { } private fun clearKeyStore() { - val targetUIDs = PkgConfig.getTargetPackageUids() + val targetUIDs = PkgConfig.getKSClearPackageUids() Logger.i("Clearing keystore for ${targetUIDs.size} target packages") targetUIDs.forEach { uid -> diff --git a/app/src/main/java/io/github/beakthoven/TrickyStoreOSS/config/Config.kt b/app/src/main/java/io/github/beakthoven/TrickyStoreOSS/config/Config.kt index 127359e..7b68095 100644 --- a/app/src/main/java/io/github/beakthoven/TrickyStoreOSS/config/Config.kt +++ b/app/src/main/java/io/github/beakthoven/TrickyStoreOSS/config/Config.kt @@ -180,17 +180,25 @@ object PkgConfig { return (hackPackages + generatePackages + packageModes.keys).toSet() } - fun getTargetPackageUids(): Set { - val result = mutableSetOf() + fun getKSClearPackageUids(): Set { + val uids = mutableSetOf() val pm = getPm() ?: return emptySet() val flags = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) 0L else 0 val userId = Process.myUid() / 100000 - getTargetPackages().forEach { pkg -> + val detectorPackages = setOf( + "io.github.vvb2060.keyattestation", + "io.github.vvb2060.mahoshojo", + "io.github.qwq233.keyattestation" + ) + + val KeyStoreClearPackages = getTargetPackages().intersect(detectorPackages) + + KeyStoreClearPackages.forEach { pkg -> kotlin.runCatching { val appInfo = pm.getApplicationInfo(pkg, flags, userId) if (appInfo != null) { - result.add(appInfo.uid) + uids.add(appInfo.uid) Logger.d("Got UID ${appInfo.uid} for package: $pkg") } else { Logger.e("ApplicationInfo is null for package: $pkg") @@ -200,7 +208,7 @@ object PkgConfig { } } - return result + return uids } @Volatile