From dc89be0e94880733f862b250d95d4848f02c594d Mon Sep 17 00:00:00 2001 From: 1fexd <58902674+1fexd@users.noreply.github.com> Date: Fri, 18 Apr 2025 09:15:05 +0000 Subject: [PATCH] fix: `Hide ADB status` patch (#4814) --- .../all/{ => misc}/hide/adb/HideAdbPatch.java | 2 +- .../wifi/spoof/SpoofWifiPatch.java | 2 +- .../RemoveScreenCaptureRestrictionPatch.java | 2 +- .../RemoveScreenshotRestrictionPatch.java | 2 +- .../patches/all/misc/adb/HideAdbPatch.kt | 26 ++++++++++++++++--- .../connectivity/wifi/spoof/SpoofWifiPatch.kt | 2 +- .../RemoveScreenCaptureRestrictionPatch.kt | 2 +- .../RemoveScreenshotRestrictionPatch.kt | 2 +- 8 files changed, 29 insertions(+), 11 deletions(-) rename extensions/all/misc/adb/hide-adb/src/main/java/app/revanced/extension/all/{ => misc}/hide/adb/HideAdbPatch.java (93%) rename extensions/all/misc/connectivity/wifi/spoof/spoof-wifi/src/main/java/app/revanced/extension/all/{ => misc}/connectivity/wifi/spoof/SpoofWifiPatch.java (99%) rename extensions/all/misc/screencapture/remove-screen-capture-restriction/src/main/java/app/revanced/extension/all/{ => misc}/screencapture/removerestriction/RemoveScreenCaptureRestrictionPatch.java (90%) rename extensions/all/misc/screenshot/remove-screenshot-restriction/src/main/java/app/revanced/extension/all/{ => misc}/screenshot/removerestriction/RemoveScreenshotRestrictionPatch.java (87%) diff --git a/extensions/all/misc/adb/hide-adb/src/main/java/app/revanced/extension/all/hide/adb/HideAdbPatch.java b/extensions/all/misc/adb/hide-adb/src/main/java/app/revanced/extension/all/misc/hide/adb/HideAdbPatch.java similarity index 93% rename from extensions/all/misc/adb/hide-adb/src/main/java/app/revanced/extension/all/hide/adb/HideAdbPatch.java rename to extensions/all/misc/adb/hide-adb/src/main/java/app/revanced/extension/all/misc/hide/adb/HideAdbPatch.java index b64cf28e4..f0b4f458b 100644 --- a/extensions/all/misc/adb/hide-adb/src/main/java/app/revanced/extension/all/hide/adb/HideAdbPatch.java +++ b/extensions/all/misc/adb/hide-adb/src/main/java/app/revanced/extension/all/misc/hide/adb/HideAdbPatch.java @@ -1,4 +1,4 @@ -package app.revanced.extension.all.hide.adb; +package app.revanced.extension.all.misc.hide.adb; import android.content.ContentResolver; import android.provider.Settings; diff --git a/extensions/all/misc/connectivity/wifi/spoof/spoof-wifi/src/main/java/app/revanced/extension/all/connectivity/wifi/spoof/SpoofWifiPatch.java b/extensions/all/misc/connectivity/wifi/spoof/spoof-wifi/src/main/java/app/revanced/extension/all/misc/connectivity/wifi/spoof/SpoofWifiPatch.java similarity index 99% rename from extensions/all/misc/connectivity/wifi/spoof/spoof-wifi/src/main/java/app/revanced/extension/all/connectivity/wifi/spoof/SpoofWifiPatch.java rename to extensions/all/misc/connectivity/wifi/spoof/spoof-wifi/src/main/java/app/revanced/extension/all/misc/connectivity/wifi/spoof/SpoofWifiPatch.java index 71c625279..9c1702f1b 100644 --- a/extensions/all/misc/connectivity/wifi/spoof/spoof-wifi/src/main/java/app/revanced/extension/all/connectivity/wifi/spoof/SpoofWifiPatch.java +++ b/extensions/all/misc/connectivity/wifi/spoof/spoof-wifi/src/main/java/app/revanced/extension/all/misc/connectivity/wifi/spoof/SpoofWifiPatch.java @@ -1,4 +1,4 @@ -package app.revanced.extension.all.connectivity.wifi.spoof; +package app.revanced.extension.all.misc.connectivity.wifi.spoof; import android.app.PendingIntent; import android.content.Context; diff --git a/extensions/all/misc/screencapture/remove-screen-capture-restriction/src/main/java/app/revanced/extension/all/screencapture/removerestriction/RemoveScreenCaptureRestrictionPatch.java b/extensions/all/misc/screencapture/remove-screen-capture-restriction/src/main/java/app/revanced/extension/all/misc/screencapture/removerestriction/RemoveScreenCaptureRestrictionPatch.java similarity index 90% rename from extensions/all/misc/screencapture/remove-screen-capture-restriction/src/main/java/app/revanced/extension/all/screencapture/removerestriction/RemoveScreenCaptureRestrictionPatch.java rename to extensions/all/misc/screencapture/remove-screen-capture-restriction/src/main/java/app/revanced/extension/all/misc/screencapture/removerestriction/RemoveScreenCaptureRestrictionPatch.java index 25a3149b9..653d4d394 100644 --- a/extensions/all/misc/screencapture/remove-screen-capture-restriction/src/main/java/app/revanced/extension/all/screencapture/removerestriction/RemoveScreenCaptureRestrictionPatch.java +++ b/extensions/all/misc/screencapture/remove-screen-capture-restriction/src/main/java/app/revanced/extension/all/misc/screencapture/removerestriction/RemoveScreenCaptureRestrictionPatch.java @@ -1,4 +1,4 @@ -package app.revanced.extension.all.screencapture.removerestriction; +package app.revanced.extension.all.misc.screencapture.removerestriction; import android.media.AudioAttributes; import android.os.Build; diff --git a/extensions/all/misc/screenshot/remove-screenshot-restriction/src/main/java/app/revanced/extension/all/screenshot/removerestriction/RemoveScreenshotRestrictionPatch.java b/extensions/all/misc/screenshot/remove-screenshot-restriction/src/main/java/app/revanced/extension/all/misc/screenshot/removerestriction/RemoveScreenshotRestrictionPatch.java similarity index 87% rename from extensions/all/misc/screenshot/remove-screenshot-restriction/src/main/java/app/revanced/extension/all/screenshot/removerestriction/RemoveScreenshotRestrictionPatch.java rename to extensions/all/misc/screenshot/remove-screenshot-restriction/src/main/java/app/revanced/extension/all/misc/screenshot/removerestriction/RemoveScreenshotRestrictionPatch.java index 33905e870..22254f628 100644 --- a/extensions/all/misc/screenshot/remove-screenshot-restriction/src/main/java/app/revanced/extension/all/screenshot/removerestriction/RemoveScreenshotRestrictionPatch.java +++ b/extensions/all/misc/screenshot/remove-screenshot-restriction/src/main/java/app/revanced/extension/all/misc/screenshot/removerestriction/RemoveScreenshotRestrictionPatch.java @@ -1,4 +1,4 @@ -package app.revanced.extension.all.screenshot.removerestriction; +package app.revanced.extension.all.misc.screenshot.removerestriction; import android.view.Window; import android.view.WindowManager; diff --git a/patches/src/main/kotlin/app/revanced/patches/all/misc/adb/HideAdbPatch.kt b/patches/src/main/kotlin/app/revanced/patches/all/misc/adb/HideAdbPatch.kt index 61a7c9dfb..7e05318df 100644 --- a/patches/src/main/kotlin/app/revanced/patches/all/misc/adb/HideAdbPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/all/misc/adb/HideAdbPatch.kt @@ -10,15 +10,28 @@ import com.android.tools.smali.dexlib2.iface.reference.MethodReference import com.android.tools.smali.dexlib2.immutable.reference.ImmutableMethodReference import com.android.tools.smali.dexlib2.util.MethodUtil -private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/all/spoof/adb/SpoofAdbPatch;" +private const val EXTENSION_CLASS_DESCRIPTOR = "Lapp/revanced/extension/all/misc/hide/adb/HideAdbPatch;" -private val SETTINGS_GLOBAL_GET_INT_METHOD_REFERENCE = ImmutableMethodReference( +private val SETTINGS_GLOBAL_GET_INT_OR_THROW_METHOD_REFERENCE = ImmutableMethodReference( "Landroid/provider/Settings\$Global;", "getInt", - emptyList(), + listOf("Landroid/content/ContentResolver;", "Ljava/lang/String;"), "I" ) +private val SETTINGS_GLOBAL_GET_INT_OR_DEFAULT_METHOD_REFERENCE = ImmutableMethodReference( + "Landroid/provider/Settings\$Global;", + "getInt", + listOf("Landroid/content/ContentResolver;", "Ljava/lang/String;", "I"), + "I" +) + +private fun MethodReference.anyMethodSignatureMatches(vararg anyOf: MethodReference): Boolean { + return anyOf.any { + MethodUtil.methodSignaturesMatch(it, this) + } +} + @Suppress("unused") val hideAdbStatusPatch = bytecodePatch( name = "Hide ADB status", @@ -33,7 +46,12 @@ val hideAdbStatusPatch = bytecodePatch( val reference = instruction .takeIf { it.opcode == Opcode.INVOKE_STATIC } ?.getReference() - ?.takeIf { MethodUtil.methodSignaturesMatch(SETTINGS_GLOBAL_GET_INT_METHOD_REFERENCE, it) } + ?.takeIf { + it.anyMethodSignatureMatches(it, + SETTINGS_GLOBAL_GET_INT_OR_THROW_METHOD_REFERENCE, + SETTINGS_GLOBAL_GET_INT_OR_DEFAULT_METHOD_REFERENCE + ) + } ?: return@filterMap null Triple(instruction as Instruction35c, instructionIndex, reference.parameterTypes) diff --git a/patches/src/main/kotlin/app/revanced/patches/all/misc/connectivity/wifi/spoof/SpoofWifiPatch.kt b/patches/src/main/kotlin/app/revanced/patches/all/misc/connectivity/wifi/spoof/SpoofWifiPatch.kt index f6b01cda2..7abf5a473 100644 --- a/patches/src/main/kotlin/app/revanced/patches/all/misc/connectivity/wifi/spoof/SpoofWifiPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/all/misc/connectivity/wifi/spoof/SpoofWifiPatch.kt @@ -6,7 +6,7 @@ import app.revanced.patches.all.misc.transformation.filterMapInstruction35c import app.revanced.patches.all.misc.transformation.transformInstructionsPatch private const val EXTENSION_CLASS_DESCRIPTOR_PREFIX = - "Lapp/revanced/extension/all/connectivity/wifi/spoof/SpoofWifiPatch" + "Lapp/revanced/extension/all/misc/connectivity/wifi/spoof/SpoofWifiPatch" private const val EXTENSION_CLASS_DESCRIPTOR = "$EXTENSION_CLASS_DESCRIPTOR_PREFIX;" diff --git a/patches/src/main/kotlin/app/revanced/patches/all/misc/screencapture/RemoveScreenCaptureRestrictionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/all/misc/screencapture/RemoveScreenCaptureRestrictionPatch.kt index a65c19d6c..f11d27f53 100644 --- a/patches/src/main/kotlin/app/revanced/patches/all/misc/screencapture/RemoveScreenCaptureRestrictionPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/all/misc/screencapture/RemoveScreenCaptureRestrictionPatch.kt @@ -25,7 +25,7 @@ private val removeCaptureRestrictionResourcePatch = resourcePatch( } private const val EXTENSION_CLASS_DESCRIPTOR_PREFIX = - "Lapp/revanced/extension/all/screencapture/removerestriction/RemoveScreenCaptureRestrictionPatch" + "Lapp/revanced/extension/all/misc/screencapture/removerestriction/RemoveScreenCaptureRestrictionPatch" private const val EXTENSION_CLASS_DESCRIPTOR = "$EXTENSION_CLASS_DESCRIPTOR_PREFIX;" @Suppress("unused") diff --git a/patches/src/main/kotlin/app/revanced/patches/all/misc/screenshot/RemoveScreenshotRestrictionPatch.kt b/patches/src/main/kotlin/app/revanced/patches/all/misc/screenshot/RemoveScreenshotRestrictionPatch.kt index 19c4ba05f..807afb639 100644 --- a/patches/src/main/kotlin/app/revanced/patches/all/misc/screenshot/RemoveScreenshotRestrictionPatch.kt +++ b/patches/src/main/kotlin/app/revanced/patches/all/misc/screenshot/RemoveScreenshotRestrictionPatch.kt @@ -10,7 +10,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.formats.Instruction22c import com.android.tools.smali.dexlib2.iface.reference.FieldReference private const val EXTENSION_CLASS_DESCRIPTOR_PREFIX = - "Lapp/revanced/extension/all/screenshot/removerestriction/RemoveScreenshotRestrictionPatch" + "Lapp/revanced/extension/all/misc/screenshot/removerestriction/RemoveScreenshotRestrictionPatch" private const val EXTENSION_CLASS_DESCRIPTOR = "$EXTENSION_CLASS_DESCRIPTOR_PREFIX;" @Suppress("unused")