Add new apps into presets, move detector/checker apps into new preset

This commit also fixes the apps are not hidden from the Play Store.

NOTE: DO NOT enable the "Detector/Checker apps" preset for the Play Store, otherwise you cannot check for the Play Integrity.
This commit is contained in:
frknkrc44 2025-10-11 16:52:46 +03:00
commit 11d35b3e5f
No known key found for this signature in database
GPG key ID: 784AE1CC0DCFD34F
8 changed files with 70 additions and 50 deletions

View file

@ -114,6 +114,7 @@
<string name="preset_root_apps">Root managers/Rooted apps</string>
<string name="preset_custom_rom">Custom ROM apps</string>
<string name="preset_sus_apps">Suspicious apps</string>
<string name="preset_detector_apps">Detector/Checker apps</string>
<!-- Settings preset names -->
<string name="settings_preset_accessibility">Accessibility</string>

View file

@ -8,6 +8,7 @@ import icu.nullptr.hidemyapplist.common.Utils.getInstalledApplicationsCompat
import icu.nullptr.hidemyapplist.common.Utils.getPackageInfoCompat
import icu.nullptr.hidemyapplist.common.app_presets.BasePreset
import icu.nullptr.hidemyapplist.common.app_presets.CustomROMPreset
import icu.nullptr.hidemyapplist.common.app_presets.DetectorAppsPreset
import icu.nullptr.hidemyapplist.common.app_presets.RootAppsPreset
import icu.nullptr.hidemyapplist.common.app_presets.SuspiciousAppsPreset
import icu.nullptr.hidemyapplist.common.app_presets.XposedModulesPreset
@ -100,6 +101,7 @@ class AppPresets private constructor() {
presetList.add(RootAppsPreset())
presetList.add(XposedModulesPreset())
presetList.add(SuspiciousAppsPreset())
presetList.add(DetectorAppsPreset())
}
}

View file

@ -6,8 +6,8 @@ import icu.nullptr.hidemyapplist.common.Constants.GSF_PACKAGE_NAME
import icu.nullptr.hidemyapplist.common.Constants.VENDING_PACKAGE_NAME
object CommonUtils {
val gmsPackages = arrayOf(GMS_PACKAGE_NAME, GSF_PACKAGE_NAME, VENDING_PACKAGE_NAME)
val riskyPackages = arrayOf<String>() + gmsPackages
val gmsPackages = arrayOf(GMS_PACKAGE_NAME, GSF_PACKAGE_NAME)
val riskyPackages = arrayOf(VENDING_PACKAGE_NAME) + gmsPackages
val isAppDataIsolationEnabled: Boolean
get() = SystemProperties.getBoolean(Constants.ANDROID_APP_DATA_ISOLATION_ENABLED_PROPERTY, true)

View file

@ -3,7 +3,7 @@ package icu.nullptr.hidemyapplist.common.app_presets
import android.content.pm.ApplicationInfo
import icu.nullptr.hidemyapplist.common.Utils
class CustomROMPreset() : BasePreset("custom_rom") {
class CustomROMPreset : BasePreset("custom_rom") {
override val exactPackageNames = setOf(
"io.chaldeaprjkt.gamespace"
)

View file

@ -0,0 +1,58 @@
package icu.nullptr.hidemyapplist.common.app_presets
import android.content.pm.ApplicationInfo
class DetectorAppsPreset : BasePreset("detector_apps") {
override val exactPackageNames = setOf(
// Detector apps
"com.reveny.nativecheck",
"icu.nullptr.nativetest",
"io.github.rabehx.securify",
"com.zhenxi.hunter",
"io.github.vvb2060.mahoshojo",
"io.github.huskydg.memorydetector",
"org.akanework.checker",
"icu.nullptr.applistdetector",
"com.byxiaorun.detector",
"com.kimchangyoun.rootbeerFresh.sample",
"com.androidfung.drminfo",
"com.kikyps.crackme",
"org.matrix.demo",
"com.rem01gaming.disclosure",
"luna.safe.luna",
"com.AndroLua",
"com.detect.mt",
"io.liankong.riskdetector",
"com.suisho.rc",
"com.ahmed.security_tester",
"id.my.pjm.qbcd_okr_dvii",
"wu.Zygisk.Detector",
"com.atominvention.rootchecker",
// Play Integrity checkers
"krypton.tbsafetychecker",
"gr.nikolasspyr.integritycheck",
"com.henrikherzig.playintegritychecker",
"com.thend.integritychecker",
"com.flinkapps.safteynet",
// Other checkers
"com.bryancandi.knoxcheck",
)
override fun canBeAddedIntoPreset(appInfo: ApplicationInfo): Boolean {
val packageName = appInfo.packageName
// All Garfield packages
if (packageName.startsWith("me.garfieldhan.")) {
return true
}
// Key attestation apps
if (packageName.endsWith(".keyattestation")) {
return true
}
return false
}
}

View file

@ -4,7 +4,7 @@ import android.content.pm.ApplicationInfo
import icu.nullptr.hidemyapplist.common.Utils
import java.util.zip.ZipFile
class RootAppsPreset() : BasePreset("root_apps") {
class RootAppsPreset : BasePreset("root_apps") {
override val exactPackageNames = setOf(
// rooted apps
"io.github.a13e300.ksuwebui",

View file

@ -6,45 +6,14 @@ import java.util.zip.ZipFile
class SuspiciousAppsPreset : BasePreset("sus_apps") {
override val exactPackageNames = setOf(
"com.reveny.vbmetafix.service",
"com.microsoft.rdc.androidx",
"berserker.android.apps.sshdroid",
// File managers
"com.speedsoftware.rootexplorer",
"me.zhanghai.android.files",
"com.lonelycatgames.Xplore",
"org.fossify.filemanager",
// Detector apps
"com.reveny.nativecheck",
"icu.nullptr.nativetest",
"io.github.rabehx.securify",
"com.zhenxi.hunter",
"io.github.vvb2060.mahoshojo",
"io.github.huskydg.memorydetector",
"org.akanework.checker",
"icu.nullptr.applistdetector",
"com.byxiaorun.detector",
"com.kimchangyoun.rootbeerFresh.sample",
"com.androidfung.drminfo",
"com.kikyps.crackme",
"org.matrix.demo",
"com.rem01gaming.disclosure",
"luna.safe.luna",
"com.AndroLua",
"com.detect.mt",
"io.liankong.riskdetector",
"com.suisho.rc",
"com.ahmed.security_tester",
"id.my.pjm.qbcd_okr_dvii",
"wu.Zygisk.Detector",
"com.atominvention.rootchecker",
// Play Integrity checkers
"krypton.tbsafetychecker",
"gr.nikolasspyr.integritycheck",
"com.henrikherzig.playintegritychecker",
"com.thend.integritychecker",
"com.flinkapps.safteynet",
// Other checkers
"com.bryancandi.knoxcheck",
)
val libNames = arrayOf(
@ -68,11 +37,6 @@ class SuspiciousAppsPreset : BasePreset("sus_apps") {
return true
}
// All Garfield packages
if (packageName.startsWith("me.garfieldhan.")) {
return true
}
// All Shizuku apps
if (packageName.startsWith("moe.shizuku.")) {
return true
@ -108,11 +72,6 @@ class SuspiciousAppsPreset : BasePreset("sus_apps") {
return true
}
// Key attestation apps
if (packageName.endsWith(".keyattestation")) {
return true
}
ZipFile(appInfo.sourceDir).use { zipFile ->
if (findAppsFromLibs(zipFile, libNames) || findAppsFromAssets(zipFile, assetNames)) {
return true

View file

@ -3,7 +3,7 @@ package icu.nullptr.hidemyapplist.common.app_presets
import android.content.pm.ApplicationInfo
import java.util.zip.ZipFile
class XposedModulesPreset() : BasePreset("xposed") {
class XposedModulesPreset : BasePreset("xposed") {
override val exactPackageNames = setOf<String>()
override fun canBeAddedIntoPreset(appInfo: ApplicationInfo): Boolean {