build(revanced-patcher): bump version

This commit is contained in:
oSumAtrIX 2023-05-24 01:28:22 +02:00
parent ab9f5998ab
commit 4b333d4d70
No known key found for this signature in database
GPG Key ID: A9B3094ACDB604B4
50 changed files with 53 additions and 55 deletions

View File

@ -27,7 +27,7 @@ repositories {
} }
dependencies { dependencies {
implementation("app.revanced:revanced-patcher:8.0.0") implementation("app.revanced:revanced-patcher:9.0.0")
implementation("app.revanced:multidexlib2:2.5.3-a3836654") implementation("app.revanced:multidexlib2:2.5.3-a3836654")
// Required for meta // Required for meta
implementation("com.google.code.gson:gson:2.10.1") implementation("com.google.code.gson:gson:2.10.1")

View File

@ -5,7 +5,7 @@ import org.jf.dexlib2.AccessFlags
object BootStateFingerprint : MethodFingerprint( object BootStateFingerprint : MethodFingerprint(
"Z", "Z",
access = AccessFlags.PUBLIC.value, accessFlags = AccessFlags.PUBLIC.value,
strings = listOf("Boot state of device: %s"), strings = listOf("Boot state of device: %s"),
customFingerprint = { methodDef, _ -> customFingerprint = { methodDef, _ ->
methodDef.definingClass.endsWith("/AttestationHelper;") methodDef.definingClass.endsWith("/AttestationHelper;")

View File

@ -5,7 +5,7 @@ import org.jf.dexlib2.AccessFlags
object BootloaderDetectionFingerprint : MethodFingerprint( object BootloaderDetectionFingerprint : MethodFingerprint(
"Z", "Z",
access = AccessFlags.PUBLIC.value, accessFlags = AccessFlags.PUBLIC.value,
strings = listOf("Creation of attestation key succeeded", "Creation of attestation key failed"), strings = listOf("Creation of attestation key succeeded", "Creation of attestation key failed"),
customFingerprint = { methodDef, _ -> customFingerprint = { methodDef, _ ->
methodDef.definingClass.endsWith("/AttestationHelper;") methodDef.definingClass.endsWith("/AttestationHelper;")

View File

@ -5,7 +5,7 @@ import org.jf.dexlib2.AccessFlags
object RootDetectionFingerprint : MethodFingerprint( object RootDetectionFingerprint : MethodFingerprint(
"V", "V",
access = AccessFlags.PUBLIC.value, accessFlags = AccessFlags.PUBLIC.value,
customFingerprint = { methodDef, _ -> customFingerprint = { methodDef, _ ->
methodDef.definingClass.endsWith("/DeviceIntegrityCheck;") methodDef.definingClass.endsWith("/DeviceIntegrityCheck;")
} }

View File

@ -6,7 +6,7 @@ import org.jf.dexlib2.AccessFlags
object SpoofSignatureFingerprint : MethodFingerprint( object SpoofSignatureFingerprint : MethodFingerprint(
"L", "L",
parameters = listOf("L"), parameters = listOf("L"),
access = AccessFlags.PRIVATE.value, accessFlags = AccessFlags.PRIVATE.value,
customFingerprint = { methodDef, _ -> customFingerprint = { methodDef, _ ->
methodDef.definingClass.endsWith("/SL2Step1Task;") && methodDef.name == "getPubKey" methodDef.definingClass.endsWith("/SL2Step1Task;") && methodDef.name == "getPubKey"
} }

View File

@ -1,9 +1,8 @@
package app.revanced.patches.inshorts.ad.fingerprints package app.revanced.patches.inshorts.ad.fingerprints
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
import org.jf.dexlib2.Opcode
object InshortsAdsFingerprint : MethodFingerprint( object InshortsAdsFingerprint : MethodFingerprint(
"V", "V",
strings = listOf("GoogleAdLoader","exception in requestAd") strings = listOf("GoogleAdLoader","exception in requestAd"),
) )

View File

@ -9,13 +9,13 @@ import org.jf.dexlib2.iface.Method
abstract class MediaAdFingerprint( abstract class MediaAdFingerprint(
returnType: String? = "Z", returnType: String? = "Z",
access: Int? = AccessFlags.PUBLIC or AccessFlags.FINAL, accessFlags: Int? = AccessFlags.PUBLIC or AccessFlags.FINAL,
parameters: Iterable<String>? = listOf(), parameters: Iterable<String>? = listOf(),
opcodes: Iterable<Opcode>?, opcodes: Iterable<Opcode>?,
customFingerprint: ((methodDef: Method, classDef: ClassDef) -> Boolean)? = null customFingerprint: ((methodDef: Method, classDef: ClassDef) -> Boolean)? = null
) : MethodFingerprint( ) : MethodFingerprint(
returnType, returnType,
access, accessFlags,
parameters, parameters,
opcodes, opcodes,
customFingerprint = customFingerprint customFingerprint = customFingerprint

View File

@ -7,7 +7,7 @@ import org.jf.dexlib2.Opcode
object LicenseValidationFingerprint : MethodFingerprint( object LicenseValidationFingerprint : MethodFingerprint(
returnType = "Z", returnType = "Z",
access = AccessFlags.PUBLIC or AccessFlags.STATIC, accessFlags = AccessFlags.PUBLIC or AccessFlags.STATIC,
parameters = listOf("Landroid/content/Context;"), parameters = listOf("Landroid/content/Context;"),
opcodes = listOf( opcodes = listOf(
Opcode.INVOKE_STATIC, Opcode.INVOKE_STATIC,

View File

@ -9,7 +9,7 @@ import org.jf.dexlib2.Opcode
@FuzzyPatternScanMethod(2) @FuzzyPatternScanMethod(2)
object VerifySignatureFingerprint : MethodFingerprint( object VerifySignatureFingerprint : MethodFingerprint(
returnType = "Z", returnType = "Z",
access = AccessFlags.PUBLIC or AccessFlags.STATIC, accessFlags = AccessFlags.PUBLIC or AccessFlags.STATIC,
parameters = listOf("Landroid/app/Activity;"), parameters = listOf("Landroid/app/Activity;"),
opcodes = listOf( opcodes = listOf(
Opcode.SGET_OBJECT, Opcode.SGET_OBJECT,

View File

@ -7,7 +7,7 @@ import org.jf.dexlib2.Opcode
object IsFreeVersionFingerprint : MethodFingerprint( object IsFreeVersionFingerprint : MethodFingerprint(
returnType = "Ljava/lang/Boolean;", returnType = "Ljava/lang/Boolean;",
access = AccessFlags.PUBLIC or AccessFlags.STATIC, accessFlags = AccessFlags.PUBLIC or AccessFlags.STATIC,
strings = listOf("free"), strings = listOf("free"),
parameters = listOf("Landroid/content/Context;"), parameters = listOf("Landroid/content/Context;"),
opcodes = listOf( opcodes = listOf(

View File

@ -10,7 +10,7 @@ object LoadInboxAdsFingerprint : MethodFingerprint(
"ads_load_begin", "ads_load_begin",
"inbox_ads_fetch_start" "inbox_ads_fetch_start"
), ),
access = AccessFlags.PUBLIC or AccessFlags.STATIC, accessFlags = AccessFlags.PUBLIC or AccessFlags.STATIC,
customFingerprint = { methodDef, _ -> customFingerprint = { methodDef, _ ->
methodDef.definingClass == "Lcom/facebook/messaging/business/inboxads/plugins/inboxads/itemsupplier/InboxAdsItemSupplierImplementation;" methodDef.definingClass == "Lcom/facebook/messaging/business/inboxads/plugins/inboxads/itemsupplier/InboxAdsItemSupplierImplementation;"
} }

View File

@ -7,7 +7,7 @@ import org.jf.dexlib2.Opcode
object CheckSignatureFingerprint : MethodFingerprint( object CheckSignatureFingerprint : MethodFingerprint(
returnType = "V", returnType = "V",
access = AccessFlags.PUBLIC or AccessFlags.FINAL, accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
customFingerprint = { methodDef, _ -> customFingerprint = { methodDef, _ ->
(methodDef.definingClass == "Lcom/microblink/photomath/main/activity/LauncherActivity;" || (methodDef.definingClass == "Lcom/microblink/photomath/main/activity/LauncherActivity;" ||
methodDef.definingClass == "Lcom/microblink/photomath/PhotoMath;") && methodDef.definingClass == "Lcom/microblink/photomath/PhotoMath;") &&

View File

@ -6,7 +6,7 @@ import org.jf.dexlib2.AccessFlags
object IsPlusUnlockedFingerprint : MethodFingerprint( object IsPlusUnlockedFingerprint : MethodFingerprint(
returnType = "Z", returnType = "Z",
access = AccessFlags.PUBLIC or AccessFlags.FINAL, accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
strings = listOf( strings = listOf(
"genius" "genius"
), ),

View File

@ -7,7 +7,7 @@ import org.jf.dexlib2.Opcode
object ShareLinkFactoryFingerprint : MethodFingerprint( object ShareLinkFactoryFingerprint : MethodFingerprint(
returnType = "L", returnType = "L",
access = AccessFlags.PUBLIC or AccessFlags.FINAL, accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
opcodes = listOf( opcodes = listOf(
Opcode.CONST_STRING, Opcode.CONST_STRING,
Opcode.CONST_STRING, Opcode.CONST_STRING,

View File

@ -9,6 +9,7 @@ import app.revanced.patcher.patch.BytecodePatch
import app.revanced.patcher.patch.PatchResult import app.revanced.patcher.patch.PatchResult
import app.revanced.patcher.patch.PatchResultError import app.revanced.patcher.patch.PatchResultError
import app.revanced.patcher.patch.PatchResultSuccess import app.revanced.patcher.patch.PatchResultSuccess
import app.revanced.patches.shared.integrations.patch.AbstractIntegrationsPatch.IntegrationsFingerprint.RegisterResolver
import org.jf.dexlib2.Opcode import org.jf.dexlib2.Opcode
import org.jf.dexlib2.iface.ClassDef import org.jf.dexlib2.iface.ClassDef
import org.jf.dexlib2.iface.Method import org.jf.dexlib2.iface.Method
@ -27,7 +28,7 @@ abstract class AbstractIntegrationsPatch(
*/ */
abstract class IntegrationsFingerprint( abstract class IntegrationsFingerprint(
returnType: String? = null, returnType: String? = null,
access: Int? = null, accessFlags: Int? = null,
parameters: Iterable<String>? = null, parameters: Iterable<String>? = null,
opcodes: Iterable<Opcode?>? = null, opcodes: Iterable<Opcode?>? = null,
strings: Iterable<String>? = null, strings: Iterable<String>? = null,
@ -35,7 +36,7 @@ abstract class AbstractIntegrationsPatch(
private val contextRegisterResolver: (Method) -> Int = object : RegisterResolver {} private val contextRegisterResolver: (Method) -> Int = object : RegisterResolver {}
) : MethodFingerprint( ) : MethodFingerprint(
returnType, returnType,
access, accessFlags,
parameters, parameters,
opcodes, opcodes,
strings, strings,

View File

@ -6,6 +6,6 @@ import org.jf.dexlib2.AccessFlags
object IsAdsEnabledFingerprint : MethodFingerprint( object IsAdsEnabledFingerprint : MethodFingerprint(
returnType = "Z", returnType = "Z",
access = AccessFlags.PUBLIC or AccessFlags.STATIC, accessFlags = AccessFlags.PUBLIC or AccessFlags.STATIC,
strings = listOf("SyncIapHelper") strings = listOf("SyncIapHelper")
) )

View File

@ -9,7 +9,7 @@ import org.jf.dexlib2.iface.reference.TypeReference
object PiracyDetectionFingerprint : MethodFingerprint( object PiracyDetectionFingerprint : MethodFingerprint(
returnType = "V", returnType = "V",
access = AccessFlags.PRIVATE or AccessFlags.FINAL, accessFlags = AccessFlags.PRIVATE or AccessFlags.FINAL,
opcodes = listOf( opcodes = listOf(
Opcode.NEW_INSTANCE, Opcode.NEW_INSTANCE,
Opcode.INVOKE_DIRECT, Opcode.INVOKE_DIRECT,

View File

@ -5,7 +5,7 @@ import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
import org.jf.dexlib2.AccessFlags import org.jf.dexlib2.AccessFlags
object FeedApiServiceLIZFingerprint : MethodFingerprint( object FeedApiServiceLIZFingerprint : MethodFingerprint(
access = AccessFlags.PUBLIC or AccessFlags.STATIC or AccessFlags.SYNTHETIC, accessFlags = AccessFlags.PUBLIC or AccessFlags.STATIC or AccessFlags.SYNTHETIC,
customFingerprint = { methodDef, _ -> customFingerprint = { methodDef, _ ->
methodDef.definingClass.endsWith("/FeedApiService;") && methodDef.name == "LIZ" methodDef.definingClass.endsWith("/FeedApiService;") && methodDef.name == "LIZ"
} }

View File

@ -6,7 +6,7 @@ import org.jf.dexlib2.AccessFlags
object SpeedControlParentFingerprint : MethodFingerprint( object SpeedControlParentFingerprint : MethodFingerprint(
returnType = "L", returnType = "L",
access = AccessFlags.PRIVATE or AccessFlags.FINAL, accessFlags = AccessFlags.PRIVATE or AccessFlags.FINAL,
parameters = listOf( parameters = listOf(
"L" "L"
), ),

View File

@ -6,7 +6,7 @@ import org.jf.dexlib2.AccessFlags
object GoogleAuthAvailableFingerprint : MethodFingerprint( object GoogleAuthAvailableFingerprint : MethodFingerprint(
returnType = "Z", returnType = "Z",
access = AccessFlags.PUBLIC or AccessFlags.FINAL, accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
parameters = listOf(), parameters = listOf(),
customFingerprint = { methodDef, _ -> customFingerprint = { methodDef, _ ->
methodDef.definingClass == "Lcom/bytedance/lobby/google/GoogleAuth;" methodDef.definingClass == "Lcom/bytedance/lobby/google/GoogleAuth;"

View File

@ -6,7 +6,7 @@ import org.jf.dexlib2.AccessFlags
object GoogleOneTapAuthAvailableFingerprint : MethodFingerprint( object GoogleOneTapAuthAvailableFingerprint : MethodFingerprint(
returnType = "Z", returnType = "Z",
access = AccessFlags.PUBLIC or AccessFlags.FINAL, accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
parameters = listOf(), parameters = listOf(),
customFingerprint = { methodDef, _ -> customFingerprint = { methodDef, _ ->
methodDef.definingClass == "Lcom/bytedance/lobby/google/GoogleOneTapAuth;" methodDef.definingClass == "Lcom/bytedance/lobby/google/GoogleOneTapAuth;"

View File

@ -6,7 +6,7 @@ import org.jf.dexlib2.AccessFlags
object InlineActionTypesFingerprint : MethodFingerprint( object InlineActionTypesFingerprint : MethodFingerprint(
returnType = "Ljava/util/List", returnType = "Ljava/util/List",
access = AccessFlags.PUBLIC or AccessFlags.STATIC, accessFlags = AccessFlags.PUBLIC or AccessFlags.STATIC,
strings = listOf( strings = listOf(
"getCurrentMemoizing()", "getCurrentMemoizing()",
"android_animated_reply_icon_enabled", "android_animated_reply_icon_enabled",

View File

@ -6,7 +6,7 @@ import org.jf.dexlib2.AccessFlags
import org.jf.dexlib2.Opcode import org.jf.dexlib2.Opcode
object TweetStatsContainerConstructorFingerprint : MethodFingerprint( object TweetStatsContainerConstructorFingerprint : MethodFingerprint(
access = AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR, accessFlags = AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR,
parameters = listOf("L"), parameters = listOf("L"),
opcodes = listOf( opcodes = listOf(
Opcode.INVOKE_DIRECT, Opcode.INVOKE_DIRECT,

View File

@ -6,7 +6,7 @@ import org.jf.dexlib2.AccessFlags
import org.jf.dexlib2.Opcode import org.jf.dexlib2.Opcode
object TweetStatsContainerWrapperConstructorFingerprint : MethodFingerprint( object TweetStatsContainerWrapperConstructorFingerprint : MethodFingerprint(
access = AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR, accessFlags = AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR,
parameters = listOf("L"), parameters = listOf("L"),
opcodes = listOf( opcodes = listOf(
Opcode.INVOKE_DIRECT, Opcode.INVOKE_DIRECT,

View File

@ -6,7 +6,7 @@ import org.jf.dexlib2.AccessFlags
import org.jf.dexlib2.Opcode import org.jf.dexlib2.Opcode
object TweetStatsViewDelegateBinderFingerprint : MethodFingerprint( object TweetStatsViewDelegateBinderFingerprint : MethodFingerprint(
access = AccessFlags.PUBLIC or AccessFlags.FINAL, accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
opcodes = listOf( opcodes = listOf(
Opcode.NEW_INSTANCE, Opcode.NEW_INSTANCE,
Opcode.CONST_16, Opcode.CONST_16,

View File

@ -1,7 +1,5 @@
package app.revanced.patches.vsco.misc.pro.fingerprints package app.revanced.patches.vsco.misc.pro.fingerprints
import org.jf.dexlib2.AccessFlags
import app.revanced.patcher.extensions.or
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
object RevCatSubscriptionFingerprint : MethodFingerprint( object RevCatSubscriptionFingerprint : MethodFingerprint(

View File

@ -10,7 +10,7 @@ import org.jf.dexlib2.iface.instruction.WideLiteralInstruction
object AccessibilityPlayerProgressTimeFingerprint : MethodFingerprint( object AccessibilityPlayerProgressTimeFingerprint : MethodFingerprint(
returnType = "L", returnType = "L",
access = AccessFlags.PUBLIC or AccessFlags.FINAL, accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
customFingerprint = { methodDef, _ -> customFingerprint = { methodDef, _ ->
methodDef.implementation?.instructions?.any { instruction -> methodDef.implementation?.instructions?.any { instruction ->
if (instruction.opcode != Opcode.CONST) return@any false if (instruction.opcode != Opcode.CONST) return@any false

View File

@ -9,7 +9,7 @@ import org.jf.dexlib2.iface.instruction.NarrowLiteralInstruction
object SeekbarTappingFingerprint : MethodFingerprint( object SeekbarTappingFingerprint : MethodFingerprint(
returnType = "Z", returnType = "Z",
access = AccessFlags.PUBLIC or AccessFlags.FINAL, accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
parameters = listOf("L"), parameters = listOf("L"),
opcodes = listOf( opcodes = listOf(
Opcode.IPUT_OBJECT, Opcode.IPUT_OBJECT,

View File

@ -5,6 +5,6 @@ import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
import org.jf.dexlib2.AccessFlags import org.jf.dexlib2.AccessFlags
object PivotBarConstructorFingerprint : MethodFingerprint( object PivotBarConstructorFingerprint : MethodFingerprint(
access = AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR, accessFlags = AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR,
strings = listOf("com.google.android.apps.youtube.app.endpoint.flags") strings = listOf("com.google.android.apps.youtube.app.endpoint.flags")
) )

View File

@ -9,7 +9,7 @@ import org.jf.dexlib2.iface.instruction.WideLiteralInstruction
object HideLoadMoreButtonFingerprint : MethodFingerprint( object HideLoadMoreButtonFingerprint : MethodFingerprint(
returnType = "V", returnType = "V",
access = AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR, accessFlags = AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR,
parameters = listOf("L", "L", "L", "L"), parameters = listOf("L", "L", "L", "L"),
opcodes = listOf( opcodes = listOf(
Opcode.CONST, Opcode.CONST,

View File

@ -9,7 +9,7 @@ import org.jf.dexlib2.iface.instruction.WideLiteralInstruction
object CreatePlayerOverviewFingerprint : MethodFingerprint( object CreatePlayerOverviewFingerprint : MethodFingerprint(
returnType = "V", returnType = "V",
access = AccessFlags.PRIVATE or AccessFlags.FINAL, accessFlags = AccessFlags.PRIVATE or AccessFlags.FINAL,
opcodes = listOf( opcodes = listOf(
Opcode.CONST, Opcode.CONST,
Opcode.INVOKE_VIRTUAL, Opcode.INVOKE_VIRTUAL,

View File

@ -9,7 +9,7 @@ import org.jf.dexlib2.AccessFlags
@FuzzyPatternScanMethod(3) @FuzzyPatternScanMethod(3)
object EngagementPanelControllerFingerprint : MethodFingerprint( object EngagementPanelControllerFingerprint : MethodFingerprint(
returnType = "L", returnType = "L",
access = AccessFlags.PRIVATE or AccessFlags.FINAL, accessFlags = AccessFlags.PRIVATE or AccessFlags.FINAL,
strings = listOf( strings = listOf(
"EngagementPanelController: cannot show EngagementPanel before EngagementPanelController.init() has been called.", "EngagementPanelController: cannot show EngagementPanel before EngagementPanelController.init() has been called.",
"[EngagementPanel] Cannot show EngagementPanel before EngagementPanelController.init() has been called." "[EngagementPanel] Cannot show EngagementPanel before EngagementPanelController.init() has been called."

View File

@ -10,7 +10,7 @@ import org.jf.dexlib2.iface.instruction.WideLiteralInstruction
object DislikesOldLayoutTextViewFingerprint : MethodFingerprint( object DislikesOldLayoutTextViewFingerprint : MethodFingerprint(
returnType = "V", returnType = "V",
parameters = listOf("L"), parameters = listOf("L"),
access = AccessFlags.PUBLIC or AccessFlags.FINAL, accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
opcodes = listOf( opcodes = listOf(
Opcode.CONST, // resource identifier register Opcode.CONST, // resource identifier register
Opcode.INVOKE_VIRTUAL, Opcode.INVOKE_VIRTUAL,

View File

@ -10,7 +10,7 @@ import org.jf.dexlib2.Opcode
*/ */
object TextComponentAtomicReferenceFingerprint : MethodFingerprint( object TextComponentAtomicReferenceFingerprint : MethodFingerprint(
returnType = "L", returnType = "L",
access = AccessFlags.PROTECTED or AccessFlags.FINAL, accessFlags = AccessFlags.PROTECTED or AccessFlags.FINAL,
parameters = listOf("L"), parameters = listOf("L"),
opcodes = listOf( opcodes = listOf(
Opcode.MOVE_OBJECT_FROM16, // available unused register Opcode.MOVE_OBJECT_FROM16, // available unused register

View File

@ -6,6 +6,6 @@ import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
import org.jf.dexlib2.AccessFlags import org.jf.dexlib2.AccessFlags
object TextComponentConstructorFingerprint : MethodFingerprint( object TextComponentConstructorFingerprint : MethodFingerprint(
access = AccessFlags.CONSTRUCTOR or AccessFlags.PRIVATE, accessFlags = AccessFlags.CONSTRUCTOR or AccessFlags.PRIVATE,
strings = listOf("TextComponent") strings = listOf("TextComponent")
) )

View File

@ -10,7 +10,7 @@ import org.jf.dexlib2.Opcode
*/ */
object TextComponentContextFingerprint : MethodFingerprint( object TextComponentContextFingerprint : MethodFingerprint(
returnType = "L", returnType = "L",
access = AccessFlags.PROTECTED or AccessFlags.FINAL, accessFlags = AccessFlags.PROTECTED or AccessFlags.FINAL,
parameters = listOf("L"), parameters = listOf("L"),
opcodes = listOf( opcodes = listOf(
Opcode.IGET_OBJECT, // conversion context field name Opcode.IGET_OBJECT, // conversion context field name

View File

@ -7,7 +7,7 @@ import app.revanced.util.patch.indexOfFirstConstantInstruction
import org.jf.dexlib2.AccessFlags import org.jf.dexlib2.AccessFlags
object CreateDarkThemeSeekbarFingerprint : MethodFingerprint( object CreateDarkThemeSeekbarFingerprint : MethodFingerprint(
access = AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR, accessFlags = AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR,
customFingerprint = { method, _ -> customFingerprint = { method, _ ->
method.indexOfFirstConstantInstruction(SeekbarColorResourcePatch.inlineTimeBarColorizedBarPlayedColorDarkId) != -1 method.indexOfFirstConstantInstruction(SeekbarColorResourcePatch.inlineTimeBarColorizedBarPlayedColorDarkId) != -1
&& method.indexOfFirstConstantInstruction(SeekbarColorResourcePatch.inlineTimeBarPlayedNotHighlightedColorId) != -1 && method.indexOfFirstConstantInstruction(SeekbarColorResourcePatch.inlineTimeBarPlayedNotHighlightedColorId) != -1

View File

@ -7,7 +7,7 @@ import org.jf.dexlib2.Opcode
object ControlsOverlayFingerprint : MethodFingerprint( object ControlsOverlayFingerprint : MethodFingerprint(
returnType = "V", returnType = "V",
access = AccessFlags.PRIVATE or AccessFlags.FINAL, accessFlags = AccessFlags.PRIVATE or AccessFlags.FINAL,
parameters = listOf(), parameters = listOf(),
opcodes = listOf( opcodes = listOf(
Opcode.INVOKE_VIRTUAL, Opcode.INVOKE_VIRTUAL,

View File

@ -5,7 +5,7 @@ import app.revanced.patches.shared.integrations.patch.AbstractIntegrationsPatch.
import org.jf.dexlib2.AccessFlags import org.jf.dexlib2.AccessFlags
object EmbeddedPlayerControlsOverlayFingerprint : IntegrationsFingerprint( object EmbeddedPlayerControlsOverlayFingerprint : IntegrationsFingerprint(
access = AccessFlags.PRIVATE or AccessFlags.CONSTRUCTOR, accessFlags = AccessFlags.PRIVATE or AccessFlags.CONSTRUCTOR,
returnType = "V", returnType = "V",
parameters = listOf("L", "L", "L"), parameters = listOf("L", "L", "L"),
customFingerprint = { methodDef, _ -> customFingerprint = { methodDef, _ ->

View File

@ -7,7 +7,7 @@ import org.jf.dexlib2.Opcode
object BindSessionServiceFingerprint : MethodFingerprint( object BindSessionServiceFingerprint : MethodFingerprint(
returnType = "L", returnType = "L",
access = AccessFlags.PUBLIC or AccessFlags.FINAL, accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
opcodes = listOf( opcodes = listOf(
Opcode.IPUT_OBJECT, Opcode.IPUT_OBJECT,
Opcode.NEW_INSTANCE, Opcode.NEW_INSTANCE,

View File

@ -7,7 +7,7 @@ import org.jf.dexlib2.Opcode
object GetCustomTabPackageNameFingerprint : MethodFingerprint( object GetCustomTabPackageNameFingerprint : MethodFingerprint(
returnType = "L", returnType = "L",
access = AccessFlags.PUBLIC or AccessFlags.STATIC, accessFlags = AccessFlags.PUBLIC or AccessFlags.STATIC,
opcodes = listOf( opcodes = listOf(
Opcode.CHECK_CAST, Opcode.CHECK_CAST,
Opcode.NEW_INSTANCE, Opcode.NEW_INSTANCE,

View File

@ -7,7 +7,7 @@ import org.jf.dexlib2.Opcode
object InitializeCustomTabSupportFingerprint : MethodFingerprint( object InitializeCustomTabSupportFingerprint : MethodFingerprint(
returnType = "V", returnType = "V",
access = AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR, accessFlags = AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR,
opcodes = listOf( opcodes = listOf(
Opcode.CHECK_CAST, Opcode.CHECK_CAST,
Opcode.NEW_INSTANCE, Opcode.NEW_INSTANCE,

View File

@ -7,7 +7,7 @@ import org.jf.dexlib2.Opcode
object KidsMinimizedPlaybackPolicyControllerFingerprint : MethodFingerprint( object KidsMinimizedPlaybackPolicyControllerFingerprint : MethodFingerprint(
returnType = "V", returnType = "V",
access = AccessFlags.PUBLIC or AccessFlags.FINAL, accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
parameters = listOf("I", "L", "L"), parameters = listOf("I", "L", "L"),
opcodes = listOf( opcodes = listOf(
Opcode.IF_EQZ, Opcode.IF_EQZ,

View File

@ -7,7 +7,7 @@ import org.jf.dexlib2.Opcode
object PlayerTypeFingerprint : MethodFingerprint( object PlayerTypeFingerprint : MethodFingerprint(
returnType = "V", returnType = "V",
access = AccessFlags.PUBLIC or AccessFlags.FINAL, accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
parameters = listOf("L"), parameters = listOf("L"),
opcodes = listOf( opcodes = listOf(
Opcode.INVOKE_VIRTUAL, Opcode.INVOKE_VIRTUAL,

View File

@ -6,7 +6,7 @@ import org.jf.dexlib2.AccessFlags
import org.jf.dexlib2.Opcode import org.jf.dexlib2.Opcode
object VideoStateFingerprint : MethodFingerprint( object VideoStateFingerprint : MethodFingerprint(
access = AccessFlags.PUBLIC or AccessFlags.FINAL, accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
returnType = "V", returnType = "V",
parameters = listOf("L"), parameters = listOf("L"),
opcodes = listOf( opcodes = listOf(

View File

@ -9,7 +9,7 @@ import org.jf.dexlib2.Opcode
@FuzzyPatternScanMethod(2) @FuzzyPatternScanMethod(2)
object VideoIdFingerprint : MethodFingerprint( object VideoIdFingerprint : MethodFingerprint(
returnType = "V", returnType = "V",
access = AccessFlags.PUBLIC or AccessFlags.FINAL, accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
parameters = listOf("L"), parameters = listOf("L"),
opcodes = listOf( opcodes = listOf(
Opcode.IF_EQZ, Opcode.IF_EQZ,

View File

@ -7,7 +7,7 @@ import org.jf.dexlib2.Opcode
object VideoIdFingerprintBackgroundPlay : MethodFingerprint( object VideoIdFingerprintBackgroundPlay : MethodFingerprint(
returnType = "V", returnType = "V",
access = AccessFlags.DECLARED_SYNCHRONIZED or AccessFlags.FINAL or AccessFlags.PUBLIC, accessFlags = AccessFlags.DECLARED_SYNCHRONIZED or AccessFlags.FINAL or AccessFlags.PUBLIC,
parameters = listOf("L"), parameters = listOf("L"),
opcodes = listOf(Opcode.INVOKE_INTERFACE), opcodes = listOf(Opcode.INVOKE_INTERFACE),
customFingerprint = { methodDef, _ -> customFingerprint = { methodDef, _ ->

View File

@ -8,7 +8,7 @@ import org.jf.dexlib2.Opcode
object ContainsAdFingerprint:MethodFingerprint( object ContainsAdFingerprint:MethodFingerprint(
returnType = "Z", returnType = "Z",
parameters = listOf("L", "L"), parameters = listOf("L", "L"),
access = AccessFlags.STATIC or AccessFlags.PUBLIC, accessFlags = AccessFlags.STATIC or AccessFlags.PUBLIC,
opcodes = listOf( opcodes = listOf(
Opcode.CONST_STRING, Opcode.CONST_STRING,
Opcode.INVOKE_INTERFACE, Opcode.INVOKE_INTERFACE,

View File

@ -7,7 +7,7 @@ import org.jf.dexlib2.Opcode
object IsPremiumFingerprint : MethodFingerprint( object IsPremiumFingerprint : MethodFingerprint(
returnType = "Z", returnType = "Z",
access = AccessFlags.PUBLIC or AccessFlags.FINAL, accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
opcodes = listOf( opcodes = listOf(
Opcode.IGET_BOOLEAN, Opcode.IGET_BOOLEAN,
Opcode.RETURN, Opcode.RETURN,

View File

@ -6,7 +6,7 @@ import org.jf.dexlib2.AccessFlags
object YukaUserConstructorFingerprint : MethodFingerprint( object YukaUserConstructorFingerprint : MethodFingerprint(
returnType = "V", returnType = "V",
access = AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR, accessFlags = AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR,
strings = listOf( strings = listOf(
"premiumProvider" "premiumProvider"
) )