diff --git a/patches/api/patches.api b/patches/api/patches.api index f976256be..559de899f 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -424,6 +424,10 @@ public final class app/revanced/patches/openinghours/misc/fix/crash/FixCrashPatc public static final fun getFixCrashPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/orfon/detection/root/RemoveRootDetectionPatchKt { + public static final fun getRemoveRootDetectionPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/pandora/ads/DisableAudioAdsPatchKt { public static final fun getDisableAudioAdsPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } diff --git a/patches/src/main/kotlin/app/revanced/patches/orfon/detection/root/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/orfon/detection/root/Fingerprints.kt new file mode 100644 index 000000000..525d4f37d --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/orfon/detection/root/Fingerprints.kt @@ -0,0 +1,13 @@ +package app.revanced.patches.orfon.detection.root + +import app.revanced.patcher.fingerprint +import com.android.tools.smali.dexlib2.AccessFlags + +internal val isDeviceRootedFingeprint = fingerprint { + accessFlags(AccessFlags.PUBLIC) + returns("Z") + custom { method, classDef -> + method.name == "isDeviceRooted" && + classDef.endsWith("/RootChecker;") + } +} diff --git a/patches/src/main/kotlin/app/revanced/patches/orfon/detection/root/RemoveRootDetectionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/orfon/detection/root/RemoveRootDetectionPatch.kt new file mode 100644 index 000000000..594083337 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/orfon/detection/root/RemoveRootDetectionPatch.kt @@ -0,0 +1,16 @@ +package app.revanced.patches.orfon.detection.root + +import app.revanced.patcher.patch.bytecodePatch +import app.revanced.util.returnEarly + +@Suppress("unused") +val removeRootDetectionPatch = bytecodePatch( + name = "Remove root detection", + description = "Removes the check for root permissions.", +) { + compatibleWith("com.nousguide.android.orftvthek") + + execute { + isDeviceRootedFingeprint.method.returnEarly(false) + } +} \ No newline at end of file