remove 'by' syntax for fingerprints

This commit is contained in:
LisoUseInAIKyrios
2025-11-08 10:43:01 +02:00
parent 7499f3d19b
commit 49c925e95f
245 changed files with 594 additions and 599 deletions

View File

@@ -3,7 +3,7 @@ package app.revanced.patches.amazon
import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.AccessFlags
internal val deepLinkingFingerprint by fingerprint {
internal val deepLinkingFingerprint = fingerprint {
accessFlags(AccessFlags.PRIVATE)
returns("Z")
parameters("L")

View File

@@ -11,7 +11,7 @@ import com.android.tools.smali.dexlib2.AccessFlags
// This fingerprint targets a method that returns the daily measurement count.
// This method is used to determine if the user has reached the daily limit of measurements.
internal val getDailyMeasurementCountFingerprint by fingerprint {
internal val getDailyMeasurementCountFingerprint = fingerprint {
accessFlags(AccessFlags.PRIVATE)
returns("I")
strings("dailyMeasurementCount")

View File

@@ -2,6 +2,6 @@ package app.revanced.patches.bandcamp.limitations
import app.revanced.patcher.fingerprint
internal val handlePlaybackLimitsFingerprint by fingerprint {
internal val handlePlaybackLimitsFingerprint = fingerprint {
strings("track_id", "play_count")
}

View File

@@ -2,7 +2,7 @@ package app.revanced.patches.cieid.restrictions.root
import app.revanced.patcher.fingerprint
internal val checkRootFingerprint by fingerprint {
internal val checkRootFingerprint = fingerprint {
custom { method, _ ->
method.name == "onResume" && method.definingClass == "Lit/ipzs/cieid/BaseActivity;"
}

View File

@@ -3,12 +3,12 @@ package app.revanced.patches.cricbuzz.ads
import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.Opcode
internal val userStateSwitchFingerprint by fingerprint {
internal val userStateSwitchFingerprint = fingerprint {
opcodes(Opcode.SPARSE_SWITCH)
strings("key.user.state", "NA")
}
internal val cb11ConstructorFingerprint by fingerprint {
internal val cb11ConstructorFingerprint = fingerprint {
parameters(
"Ljava/lang/String;",
"Ljava/lang/String;",
@@ -26,7 +26,7 @@ internal val cb11ConstructorFingerprint by fingerprint {
}
}
internal val getBottomBarFingerprint by fingerprint {
internal val getBottomBarFingerprint = fingerprint {
custom { method, classDef ->
method.name == "getBottomBar" && classDef.endsWith("HomeMenu;")
}

View File

@@ -2,6 +2,6 @@ package app.revanced.patches.crunchyroll.ads
import app.revanced.patcher.fingerprint
internal val videoUrlReadyToStringFingerprint by fingerprint {
internal val videoUrlReadyToStringFingerprint = fingerprint {
strings("VideoUrlReady(url=", ", enableAds=")
}

View File

@@ -4,14 +4,14 @@ import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
internal val initializeMonetizationDebugSettingsFingerprint by fingerprint {
internal val initializeMonetizationDebugSettingsFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.CONSTRUCTOR)
returns("V")
// Parameters have not been reliable for fingerprinting between versions.
opcodes(Opcode.IPUT_BOOLEAN)
}
internal val monetizationDebugSettingsToStringFingerprint by fingerprint {
internal val monetizationDebugSettingsToStringFingerprint = fingerprint {
strings("MonetizationDebugSettings(") // Partial string match.
custom { method, _ -> method.name == "toString" }
}

View File

@@ -4,7 +4,7 @@ import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
internal val debugCategoryAllowOnReleaseBuildsFingerprint by fingerprint {
internal val debugCategoryAllowOnReleaseBuildsFingerprint = fingerprint {
returns("Z")
parameters()
custom { method, classDef ->
@@ -12,13 +12,13 @@ internal val debugCategoryAllowOnReleaseBuildsFingerprint by fingerprint {
}
}
internal val buildConfigProviderConstructorFingerprint by fingerprint {
internal val buildConfigProviderConstructorFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.CONSTRUCTOR)
parameters()
opcodes(Opcode.CONST_4)
}
internal val buildConfigProviderToStringFingerprint by fingerprint {
internal val buildConfigProviderToStringFingerprint = fingerprint {
parameters()
returns("Ljava/lang/String;")
strings("BuildConfigProvider(") // Partial string match.

View File

@@ -7,13 +7,13 @@ import com.android.tools.smali.dexlib2.Opcode
/**
* Matches the class found in [energyConfigToStringFingerprint].
*/
internal val initializeEnergyConfigFingerprint by fingerprint {
internal val initializeEnergyConfigFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.CONSTRUCTOR)
opcodes(Opcode.RETURN_VOID)
}
// Class name currently is not obfuscated but it may be in the future.
internal val energyConfigToStringFingerprint by fingerprint {
internal val energyConfigToStringFingerprint = fingerprint {
parameters()
returns("Ljava/lang/String;")
strings("EnergyConfig(", "maxEnergy=") // Partial string matches.

View File

@@ -4,7 +4,7 @@ import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
internal val baseModelMapperFingerprint by fingerprint {
internal val baseModelMapperFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
returns("Lcom/facebook/graphql/modelutil/BaseModelWithTree;")
parameters("Ljava/lang/Class", "I", "I")
@@ -17,7 +17,7 @@ internal val baseModelMapperFingerprint by fingerprint {
)
}
internal val getSponsoredDataModelTemplateFingerprint by fingerprint {
internal val getSponsoredDataModelTemplateFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
returns("L")
parameters()
@@ -33,7 +33,7 @@ internal val getSponsoredDataModelTemplateFingerprint by fingerprint {
}
}
internal val getStoryVisibilityFingerprint by fingerprint {
internal val getStoryVisibilityFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.STATIC)
returns("Ljava/lang/String;")
opcodes(

View File

@@ -3,11 +3,11 @@ package app.revanced.patches.facebook.ads.story
import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.iface.value.StringEncodedValue
internal val adsInsertionFingerprint by fieldFingerprint(
internal val adsInsertionFingerprint = fieldFingerprint(
fieldValue = "AdBucketDataSourceUtil\$attemptAdsInsertion\$1",
)
internal val fetchMoreAdsFingerprint by fieldFingerprint(
internal val fetchMoreAdsFingerprint = fieldFingerprint(
fieldValue = "AdBucketDataSourceUtil\$attemptFetchMoreAds\$1",
)

View File

@@ -5,7 +5,7 @@ import com.android.tools.smali.dexlib2.AccessFlags
import app.revanced.patcher.fingerprint
// Located @ at.gv.bmf.bmf2go.taxequalization.tools.utils.AttestationHelper#isBootStateOk (3.0.1)
internal val bootStateFingerprint by fingerprint {
internal val bootStateFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC)
returns("Z")
opcodes(
@@ -30,7 +30,7 @@ internal val bootStateFingerprint by fingerprint {
}
// Located @ at.gv.bmf.bmf2go.taxequalization.tools.utils.AttestationHelper#createKey (3.0.1)
internal val createKeyFingerprint by fingerprint {
internal val createKeyFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC)
returns("Z")
strings("attestation", "SHA-256", "random", "EC", "AndroidKeyStore")

View File

@@ -5,7 +5,7 @@ import com.android.tools.smali.dexlib2.AccessFlags
import app.revanced.patcher.fingerprint
// Located @ at.gv.bmf.bmf2go.taxequalization.tools.utils.RootDetection#isRooted (3.0.1)
internal val rootDetectionFingerprint by fingerprint {
internal val rootDetectionFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.STATIC)
returns("L")
parameters("L")

View File

@@ -4,7 +4,7 @@ import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
internal val launchCustomTabFingerprint by fingerprint {
internal val launchCustomTabFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.CONSTRUCTOR)
opcodes(
Opcode.IPUT_OBJECT,

View File

@@ -2,7 +2,7 @@ package app.revanced.patches.googlenews.misc.gms
import app.revanced.patcher.fingerprint
internal val magazinesActivityOnCreateFingerprint by fingerprint {
internal val magazinesActivityOnCreateFingerprint = fingerprint {
custom { methodDef, classDef ->
methodDef.name == "onCreate" && classDef.endsWith("/StartActivity;")
}

View File

@@ -2,7 +2,7 @@ package app.revanced.patches.googlephotos.misc.backup
import app.revanced.patcher.fingerprint
internal val isDCIMFolderBackupControlDisabled by fingerprint {
internal val isDCIMFolderBackupControlDisabled = fingerprint {
returns("Z")
strings("/dcim", "/mars_files/")
}

View File

@@ -2,6 +2,6 @@ package app.revanced.patches.googlephotos.misc.features
import app.revanced.patcher.fingerprint
internal val initializeFeaturesEnumFingerprint by fingerprint {
internal val initializeFeaturesEnumFingerprint = fingerprint {
strings("com.google.android.apps.photos.NEXUS_PRELOAD")
}

View File

@@ -2,7 +2,7 @@ package app.revanced.patches.googlephotos.misc.gms
import app.revanced.patcher.fingerprint
internal val homeActivityOnCreateFingerprint by fingerprint {
internal val homeActivityOnCreateFingerprint = fingerprint {
custom { methodDef, classDef ->
methodDef.name == "onCreate" && classDef.endsWith("/HomeActivity;")
}

View File

@@ -2,7 +2,7 @@ package app.revanced.patches.googlerecorder.restrictions
import app.revanced.patcher.fingerprint
internal val onApplicationCreateFingerprint by fingerprint {
internal val onApplicationCreateFingerprint = fingerprint {
strings("com.google.android.feature.PIXEL_2017_EXPERIENCE")
custom { method, classDef ->
if (method.name != "onCreate") return@custom false

View File

@@ -2,7 +2,7 @@ package app.revanced.patches.hexeditor.ad
import app.revanced.patcher.fingerprint
internal val primaryAdsFingerprint by fingerprint {
internal val primaryAdsFingerprint = fingerprint {
custom { method, classDef ->
classDef.endsWith("PreferencesHelper;") && method.name == "isAdsDisabled"
}

View File

@@ -2,7 +2,7 @@ package app.revanced.patches.iconpackstudio.misc.pro
import app.revanced.patcher.fingerprint
internal val checkProFingerprint by fingerprint {
internal val checkProFingerprint = fingerprint {
returns("Z")
custom { _, classDef -> classDef.endsWith("IPSPurchaseRepository;") }
}

View File

@@ -3,7 +3,7 @@ package app.revanced.patches.idaustria.detection.root
import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.AccessFlags
internal val attestationSupportedCheckFingerprint by fingerprint {
internal val attestationSupportedCheckFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC)
returns("V")
custom { method, classDef ->
@@ -12,7 +12,7 @@ internal val attestationSupportedCheckFingerprint by fingerprint {
}
}
internal val bootloaderCheckFingerprint by fingerprint {
internal val bootloaderCheckFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC)
returns("Z")
custom { method, classDef ->
@@ -21,7 +21,7 @@ internal val bootloaderCheckFingerprint by fingerprint {
}
}
internal val rootCheckFingerprint by fingerprint {
internal val rootCheckFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC)
returns("V")
custom { method, classDef ->

View File

@@ -3,7 +3,7 @@ package app.revanced.patches.idaustria.detection.signature
import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.AccessFlags
internal val spoofSignatureFingerprint by fingerprint {
internal val spoofSignatureFingerprint = fingerprint {
accessFlags(AccessFlags.PRIVATE)
returns("L")
parameters("L")

View File

@@ -2,7 +2,7 @@ package app.revanced.patches.inshorts.ad
import app.revanced.patcher.fingerprint
internal val inshortsAdsFingerprint by fingerprint {
internal val inshortsAdsFingerprint = fingerprint {
returns("V")
strings("GoogleAdLoader", "exception in requestAd")
}

View File

@@ -2,10 +2,10 @@ package app.revanced.patches.instagram.feed
import app.revanced.patcher.fingerprint
internal val mainFeedRequestClassFingerprint by fingerprint {
internal val mainFeedRequestClassFingerprint = fingerprint {
strings("Request{mReason=", ", mInstanceNumber=")
}
internal val mainFeedHeaderMapFinderFingerprint by fingerprint {
internal val mainFeedHeaderMapFinderFingerprint = fingerprint {
strings("pagination_source", "FEED_REQUEST_SENT")
}

View File

@@ -42,7 +42,7 @@ val limitFeedToFollowedProfiles = bytecodePatch(
}
}
val initMainFeedRequestFingerprint by fingerprint {
val initMainFeedRequestFingerprint = fingerprint {
custom { method, classDef ->
method.name == "<init>" &&
classDef == mainFeedRequestClassFingerprint.classDef

View File

@@ -5,7 +5,7 @@ import app.revanced.patcher.fingerprint
internal const val EXPLORE_KEY_TO_BE_HIDDEN = "sectional_items"
internal val exploreResponseJsonParserFingerprint by fingerprint {
internal val exploreResponseJsonParserFingerprint = fingerprint {
strings(EXPLORE_KEY_TO_BE_HIDDEN, "ExploreTopicalFeedResponse")
custom { method, _ -> method.name == "parseFromJson" }
}

View File

@@ -5,12 +5,12 @@ import app.revanced.patcher.fingerprint
import app.revanced.patcher.patch.BytecodePatchContext
import com.android.tools.smali.dexlib2.AccessFlags
internal val initializeNavigationButtonsListFingerprint by fingerprint {
internal val initializeNavigationButtonsListFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
parameters("Lcom/instagram/common/session/UserSession;", "Z")
returns("Ljava/util/List;")
}
internal val navigationButtonsEnumClassDef by fingerprint {
internal val navigationButtonsEnumClassDef = fingerprint {
strings("FEED", "fragment_feed", "SEARCH", "fragment_search")
}

View File

@@ -53,7 +53,7 @@ val hideNavigationButtonsPatch = bytecodePatch(
// Get the field name which contains the name of the enum for the navigation button
// ("fragment_clips", "fragment_share", ...)
val navigationButtonsEnumInitFingerprint by fingerprint {
val navigationButtonsEnumInitFingerprint = fingerprint {
custom { method, classDef ->
method.name == "<init>"
&& classDef == navigationButtonsEnumClassDef.classDef

View File

@@ -2,7 +2,7 @@ package app.revanced.patches.instagram.hide.stories
import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.Opcode
internal val getOrCreateAvatarViewFingerprint by fingerprint {
internal val getOrCreateAvatarViewFingerprint = fingerprint {
parameters()
returns("L")
custom { method, classDef ->

View File

@@ -12,6 +12,6 @@ internal val FEED_ITEM_KEYS_TO_BE_HIDDEN = arrayOf(
"suggested_users",
)
internal val feedItemParseFromJsonFingerprint by fingerprint {
internal val feedItemParseFromJsonFingerprint = fingerprint {
strings(*FEED_ITEM_KEYS_TO_BE_HIDDEN, "FeedItem")
}

View File

@@ -3,7 +3,7 @@ package app.revanced.patches.instagram.misc.devmenu
import app.revanced.patcher.fingerprint
internal val clearNotificationReceiverFingerprint by fingerprint {
internal val clearNotificationReceiverFingerprint = fingerprint {
custom { method, classDef ->
method.name == "onReceive" &&
classDef.type == "Lcom/instagram/notifications/push/ClearNotificationReceiver;"

View File

@@ -3,7 +3,7 @@ import app.revanced.patcher.fingerprint
internal const val TARGET_STRING = "Tracking.ARG_CLICK_SOURCE"
internal val inAppBrowserFunctionFingerprint by fingerprint {
internal val inAppBrowserFunctionFingerprint = fingerprint {
returns("Z")
strings("TrackingInfo.ARG_MODULE_NAME", TARGET_STRING)
}

View File

@@ -3,22 +3,22 @@ package app.revanced.patches.instagram.misc.share
import app.revanced.patcher.fingerprint
import com.google.common.util.concurrent.Striped.custom
internal val permalinkResponseJsonParserFingerprint by fingerprint {
internal val permalinkResponseJsonParserFingerprint = fingerprint {
strings("permalink", "PermalinkResponse")
custom { method, _ -> method.name == "parseFromJson" }
}
internal val storyUrlResponseJsonParserFingerprint by fingerprint {
internal val storyUrlResponseJsonParserFingerprint = fingerprint {
strings("story_item_to_share_url", "StoryItemUrlResponse")
custom { method, _ -> method.name == "parseFromJson" }
}
internal val profileUrlResponseJsonParserFingerprint by fingerprint {
internal val profileUrlResponseJsonParserFingerprint = fingerprint {
strings("profile_to_share_url", "ProfileUrlResponse")
custom { method, _ -> method.name == "parseFromJson" }
}
internal val liveUrlResponseJsonParserFingerprint by fingerprint {
internal val liveUrlResponseJsonParserFingerprint = fingerprint {
strings("live_to_share_url", "LiveItemLinkUrlResponse")
custom { method, _ -> method.name == "parseFromJson" }
}

View File

@@ -3,7 +3,7 @@ package app.revanced.patches.instagram.misc.share.domain
import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.AccessFlags
internal val getCustomShareDomainFingerprint by fingerprint {
internal val getCustomShareDomainFingerprint = fingerprint {
accessFlags(AccessFlags.PRIVATE, AccessFlags.STATIC)
returns("Ljava/lang/String;")
parameters()

View File

@@ -5,11 +5,11 @@ import app.revanced.util.getReference
import app.revanced.util.indexOfFirstInstruction
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
internal val isValidSignatureClassFingerprint by fingerprint {
internal val isValidSignatureClassFingerprint = fingerprint {
strings("The provider for uri '", "' is not trusted: ")
}
internal val isValidSignatureMethodFingerprint by fingerprint {
internal val isValidSignatureMethodFingerprint = fingerprint {
parameters("L", "Z")
returns("Z")
custom { method, _ ->

View File

@@ -3,7 +3,7 @@ package app.revanced.patches.irplus.ad
import com.android.tools.smali.dexlib2.AccessFlags
import app.revanced.patcher.fingerprint
internal val irplusAdsFingerprint by fingerprint {
internal val irplusAdsFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.CONSTRUCTOR)
parameters("L", "Z")
strings("TAGGED")

View File

@@ -4,7 +4,7 @@ import com.android.tools.smali.dexlib2.Opcode
import com.android.tools.smali.dexlib2.AccessFlags
import app.revanced.patcher.fingerprint
internal val isLoggedInFingerprint by fingerprint {
internal val isLoggedInFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.STATIC, AccessFlags.FINAL)
returns("Z")
opcodes(

View File

@@ -4,7 +4,7 @@ import com.android.tools.smali.dexlib2.Opcode
import com.android.tools.smali.dexlib2.AccessFlags
import app.revanced.patcher.fingerprint
internal val hasPurchasedFingerprint by fingerprint {
internal val hasPurchasedFingerprint = fingerprint {
accessFlags(AccessFlags.PRIVATE, AccessFlags.FINAL)
returns("Z")
opcodes(

View File

@@ -4,7 +4,7 @@ import com.android.tools.smali.dexlib2.Opcode
import com.android.tools.smali.dexlib2.AccessFlags
import app.revanced.patcher.fingerprint
internal val licenseValidationFingerprint by fingerprint {
internal val licenseValidationFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.STATIC)
returns("Z")
parameters("Landroid/content/Context;")

View File

@@ -4,7 +4,7 @@ import com.android.tools.smali.dexlib2.Opcode
import com.android.tools.smali.dexlib2.AccessFlags
import app.revanced.patcher.fingerprint
internal val verifySignatureFingerprint by fingerprint {
internal val verifySignatureFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.STATIC)
returns("Z")
parameters("Landroid/app/Activity;")

View File

@@ -4,7 +4,7 @@ import com.android.tools.smali.dexlib2.Opcode
import com.android.tools.smali.dexlib2.AccessFlags
import app.revanced.patcher.fingerprint
internal val isFreeVersionFingerprint by fingerprint {
internal val isFreeVersionFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.STATIC)
returns("Ljava/lang/Boolean;")
parameters("Landroid/content/Context;")

View File

@@ -5,7 +5,7 @@ import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
import com.android.tools.smali.dexlib2.iface.value.StringEncodedValue
internal val createInboxSubTabsFingerprint by fingerprint {
internal val createInboxSubTabsFingerprint = fingerprint {
returns("V")
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
opcodes(
@@ -22,7 +22,7 @@ internal val createInboxSubTabsFingerprint by fingerprint {
}
}
internal val loadInboxAdsFingerprint by fingerprint {
internal val loadInboxAdsFingerprint = fingerprint {
returns("V")
strings(
"ads_load_begin",

View File

@@ -2,7 +2,7 @@ package app.revanced.patches.messenger.layout
import app.revanced.patcher.fingerprint
internal val isFacebookButtonEnabledFingerprint by fingerprint {
internal val isFacebookButtonEnabledFingerprint = fingerprint {
parameters()
returns("Z")
strings("FacebookButtonTabButtonImplementation")

View File

@@ -3,7 +3,7 @@ package app.revanced.patches.messenger.metaai
import com.android.tools.smali.dexlib2.Opcode
import app.revanced.patcher.fingerprint
internal val getMobileConfigBoolFingerprint by fingerprint {
internal val getMobileConfigBoolFingerprint = fingerprint {
parameters("J")
returns("Z")
opcodes(Opcode.RETURN)
@@ -12,12 +12,12 @@ internal val getMobileConfigBoolFingerprint by fingerprint {
}
}
internal val metaAIKillSwitchCheckFingerprint by fingerprint {
internal val metaAIKillSwitchCheckFingerprint = fingerprint {
opcodes(Opcode.CONST_WIDE)
strings("SearchAiagentImplementationsKillSwitch")
}
internal val extensionMethodFingerprint by fingerprint {
internal val extensionMethodFingerprint = fingerprint {
strings("REPLACED_BY_PATCH")
custom { method, classDef ->
method.name == EXTENSION_METHOD_NAME && classDef.type == EXTENSION_CLASS_DESCRIPTOR

View File

@@ -3,7 +3,7 @@ package app.revanced.patches.meta.ads
import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.AccessFlags
internal val adInjectorFingerprint by fingerprint {
internal val adInjectorFingerprint = fingerprint {
accessFlags(AccessFlags.PRIVATE)
returns("Z")
parameters("L", "L")

View File

@@ -3,7 +3,7 @@ package app.revanced.patches.mifitness.misc.locale
import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.Opcode
internal val syncBluetoothLanguageFingerprint by fingerprint {
internal val syncBluetoothLanguageFingerprint = fingerprint {
opcodes(Opcode.MOVE_RESULT_OBJECT)
custom { method, _ ->
method.name == "syncBluetoothLanguage" &&

View File

@@ -3,7 +3,7 @@ package app.revanced.patches.mifitness.misc.login
import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.AccessFlags
internal val xiaomiAccountManagerConstructorFingerprint by fingerprint {
internal val xiaomiAccountManagerConstructorFingerprint = fingerprint {
accessFlags(AccessFlags.PRIVATE, AccessFlags.CONSTRUCTOR)
parameters("Landroid/content/Context;", "Z")
custom { method, _ ->

View File

@@ -3,7 +3,7 @@ package app.revanced.patches.music.ad.video
import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.Opcode
internal val showVideoAdsParentFingerprint by fingerprint {
internal val showVideoAdsParentFingerprint = fingerprint {
opcodes(
Opcode.MOVE_RESULT_OBJECT,
Opcode.INVOKE_VIRTUAL,

View File

@@ -4,7 +4,7 @@ import com.android.tools.smali.dexlib2.Opcode
import com.android.tools.smali.dexlib2.AccessFlags
import app.revanced.patcher.fingerprint
internal val allowExclusiveAudioPlaybackFingerprint by fingerprint {
internal val allowExclusiveAudioPlaybackFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
returns("Z")
parameters()

View File

@@ -4,7 +4,7 @@ import com.android.tools.smali.dexlib2.Opcode
import com.android.tools.smali.dexlib2.AccessFlags
import app.revanced.patcher.fingerprint
internal val repeatTrackFingerprint by fingerprint {
internal val repeatTrackFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
returns("V")
parameters("L", "L")

View File

@@ -5,7 +5,7 @@ import app.revanced.patches.music.shared.YOUTUBE_MUSIC_MAIN_ACTIVITY_CLASS_TYPE
import app.revanced.patches.shared.misc.mapping.ResourceType
import app.revanced.patches.shared.misc.mapping.resourceLiteral
internal val cairoSplashAnimationConfigFingerprint by fingerprint {
internal val cairoSplashAnimationConfigFingerprint = fingerprint {
returns("V")
parameters("Landroid/os/Bundle;")
instructions(

View File

@@ -8,13 +8,13 @@ import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
import org.stringtemplate.v4.compiler.Bytecode.instructions
internal val mediaRouteButtonFingerprint by fingerprint {
internal val mediaRouteButtonFingerprint = fingerprint {
accessFlags(AccessFlags.PRIVATE, AccessFlags.FINAL)
returns("Z")
strings("MediaRouteButton")
}
internal val playerOverlayChipFingerprint by fingerprint {
internal val playerOverlayChipFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
returns("L")
instructions(

View File

@@ -4,7 +4,7 @@ import com.android.tools.smali.dexlib2.Opcode
import app.revanced.patcher.fingerprint
import app.revanced.util.literal
internal val chipCloudFingerprint by fingerprint {
internal val chipCloudFingerprint = fingerprint {
returns("V")
opcodes(
Opcode.CONST,

View File

@@ -9,7 +9,7 @@ import com.android.tools.smali.dexlib2.Opcode
import com.android.tools.smali.dexlib2.iface.Method
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
internal val tabLayoutTextFingerprint by fingerprint {
internal val tabLayoutTextFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
returns("V")
parameters("L")

View File

@@ -4,7 +4,7 @@ import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
internal val hideGetPremiumFingerprint by fingerprint {
internal val hideGetPremiumFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
returns("V")
parameters()
@@ -16,7 +16,7 @@ internal val hideGetPremiumFingerprint by fingerprint {
strings("FEmusic_history", "FEmusic_offline")
}
internal val membershipSettingsFingerprint by fingerprint {
internal val membershipSettingsFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
returns("Ljava/lang/CharSequence;")
opcodes(

View File

@@ -3,7 +3,7 @@ package app.revanced.patches.music.misc.androidauto
import com.android.tools.smali.dexlib2.AccessFlags
import app.revanced.patcher.fingerprint
internal val checkCertificateFingerprint by fingerprint {
internal val checkCertificateFingerprint = fingerprint {
returns("Z")
parameters("Ljava/lang/String;")
strings(

View File

@@ -4,7 +4,7 @@ import com.android.tools.smali.dexlib2.Opcode
import com.android.tools.smali.dexlib2.AccessFlags
import app.revanced.patcher.fingerprint
internal val backgroundPlaybackDisableFingerprint by fingerprint {
internal val backgroundPlaybackDisableFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.STATIC)
returns("Z")
parameters("L")
@@ -21,7 +21,7 @@ internal val backgroundPlaybackDisableFingerprint by fingerprint {
)
}
internal val kidsBackgroundPlaybackPolicyControllerFingerprint by fingerprint {
internal val kidsBackgroundPlaybackPolicyControllerFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
returns("V")
parameters("I", "L", "Z")

View File

@@ -2,7 +2,7 @@ package app.revanced.patches.music.utils.fix.fileprovider
import app.revanced.patcher.fingerprint
internal val fileProviderResolverFingerprint by fingerprint {
internal val fileProviderResolverFingerprint = fingerprint {
returns("L")
strings(
"android.support.FILE_PROVIDER_PATHS",

View File

@@ -2,7 +2,7 @@ package app.revanced.patches.music.misc.gms
import app.revanced.patcher.fingerprint
internal val musicActivityOnCreateFingerprint by fingerprint {
internal val musicActivityOnCreateFingerprint = fingerprint {
returns("V")
parameters("Landroid/os/Bundle;")
custom { method, classDef ->

View File

@@ -2,7 +2,7 @@ package app.revanced.patches.music.misc.settings
import app.revanced.patcher.fingerprint
internal val googleApiActivityFingerprint by fingerprint {
internal val googleApiActivityFingerprint = fingerprint {
returns("V")
parameters("Landroid/os/Bundle;")
custom { method, classDef ->

View File

@@ -4,7 +4,7 @@ import app.revanced.patcher.fingerprint
internal const val YOUTUBE_MUSIC_MAIN_ACTIVITY_CLASS_TYPE = "Lcom/google/android/apps/youtube/music/activities/MusicActivity;"
internal val mainActivityOnCreateFingerprint by fingerprint {
internal val mainActivityOnCreateFingerprint = fingerprint {
returns("V")
parameters("Landroid/os/Bundle;")
custom { method, classDef ->

View File

@@ -2,7 +2,7 @@ package app.revanced.patches.myexpenses.misc.pro
import app.revanced.patcher.fingerprint
internal val isEnabledFingerprint by fingerprint {
internal val isEnabledFingerprint = fingerprint {
returns("Z")
strings("feature", "feature.licenceStatus")
}

View File

@@ -3,14 +3,14 @@ package app.revanced.patches.myfitnesspal.ads
import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.AccessFlags
internal val isPremiumUseCaseImplFingerprint by fingerprint {
internal val isPremiumUseCaseImplFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC)
custom { method, classDef ->
classDef.endsWith("IsPremiumUseCaseImpl;") && method.name == "doWork"
}
}
internal val mainActivityNavigateToNativePremiumUpsellFingerprint by fingerprint {
internal val mainActivityNavigateToNativePremiumUpsellFingerprint = fingerprint {
accessFlags(AccessFlags.PRIVATE, AccessFlags.FINAL)
returns("V")
custom { method, classDef ->

View File

@@ -4,14 +4,14 @@ import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
internal val jwPlayerConfigFingerprint by fingerprint {
internal val jwPlayerConfigFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC)
custom { methodDef, classDef ->
classDef.type == "Lcom/jwplayer/pub/api/configuration/PlayerConfig${'$'}Builder;" && methodDef.name == "advertisingConfig"
}
}
internal val screenMapperFingerprint by fingerprint {
internal val screenMapperFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
returns("Lnl/nu/android/bff/domain/models/screen/ScreenEntity;")
parameters("Lnl/nu/performance/api/client/objects/Screen;")
@@ -27,7 +27,7 @@ internal val screenMapperFingerprint by fingerprint {
}
}
internal val nextPageRepositoryImplFingerprint by fingerprint {
internal val nextPageRepositoryImplFingerprint = fingerprint {
accessFlags(AccessFlags.PRIVATE, AccessFlags.FINAL)
returns("Lnl/nu/android/bff/domain/models/Page;")
parameters("Lnl/nu/performance/api/client/PacResponse;", "Ljava/lang/String;")

View File

@@ -11,9 +11,7 @@ val spoofCertificatePatch = bytecodePatch(
compatibleWith("nl.sanomamedia.android.nu")
execute {
getFingerprintHashForPackageFingerprints.forEach { fingerprintBuilder ->
val fingerprint by fingerprintBuilder
getFingerprintHashForPackageFingerprints.forEach { fingerprint ->
fingerprint.method.returnEarly("eae41fc018df2731a9b6ae1ac327da44a288667b")
}
}

View File

@@ -2,7 +2,7 @@ package app.revanced.patches.openinghours.misc.fix.crash
import app.revanced.patcher.fingerprint
internal val setPlaceFingerprint by fingerprint {
internal val setPlaceFingerprint = fingerprint {
returns("V")
parameters("Lde/simon/openinghours/models/Place;")
custom { method, _ ->

View File

@@ -3,7 +3,7 @@ package app.revanced.patches.orfon.detection.root
import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.AccessFlags
internal val isDeviceRootedFingeprint by fingerprint {
internal val isDeviceRootedFingeprint = fingerprint {
accessFlags(AccessFlags.PUBLIC)
returns("Z")
custom { method, classDef ->

View File

@@ -2,13 +2,13 @@ package app.revanced.patches.pandora.ads
import app.revanced.patcher.fingerprint
internal val getIsAdSupportedFingerprint by fingerprint {
internal val getIsAdSupportedFingerprint = fingerprint {
custom { method, classDef ->
method.name == "getIsAdSupported" && classDef.endsWith("UserData;")
}
}
internal val requestAudioAdFingerprint by fingerprint {
internal val requestAudioAdFingerprint = fingerprint {
custom { method, classDef ->
method.name == "requestAudioAdFromAdSDK" && classDef.endsWith("ContentServiceOpsImpl;")
}

View File

@@ -2,7 +2,7 @@ package app.revanced.patches.pandora.misc
import app.revanced.patcher.fingerprint
internal val skipLimitBehaviorFingerprint by fingerprint {
internal val skipLimitBehaviorFingerprint = fingerprint {
custom { method, classDef ->
method.name == "getSkipLimitBehavior" && classDef.endsWith("UserData;")
}

View File

@@ -3,7 +3,7 @@ package app.revanced.patches.photomath.detection.deviceid
import com.android.tools.smali.dexlib2.Opcode
import app.revanced.patcher.fingerprint
internal val getDeviceIdFingerprint by fingerprint {
internal val getDeviceIdFingerprint = fingerprint {
returns("Ljava/lang/String;")
parameters()
opcodes(

View File

@@ -3,7 +3,7 @@ package app.revanced.patches.photomath.detection.signature
import com.android.tools.smali.dexlib2.Opcode
import app.revanced.patcher.fingerprint
internal val checkSignatureFingerprint by fingerprint {
internal val checkSignatureFingerprint = fingerprint {
opcodes(
Opcode.CONST_STRING,
Opcode.INVOKE_STATIC,

View File

@@ -4,7 +4,7 @@ import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
internal val hideUpdatePopupFingerprint by fingerprint {
internal val hideUpdatePopupFingerprint = fingerprint {
accessFlags(AccessFlags.FINAL, AccessFlags.PUBLIC)
returns("V")
opcodes(

View File

@@ -3,7 +3,7 @@ package app.revanced.patches.photomath.misc.unlock.bookpoint
import com.android.tools.smali.dexlib2.AccessFlags
import app.revanced.patcher.fingerprint
internal val isBookpointEnabledFingerprint by fingerprint {
internal val isBookpointEnabledFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
returns("Z")
parameters()

View File

@@ -3,7 +3,7 @@ package app.revanced.patches.photomath.misc.unlock.plus
import com.android.tools.smali.dexlib2.AccessFlags
import app.revanced.patcher.fingerprint
internal val isPlusUnlockedFingerprint by fingerprint {
internal val isPlusUnlockedFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
returns("Z")
strings("genius")

View File

@@ -3,7 +3,7 @@ package app.revanced.patches.piccomafr.misc
import com.android.tools.smali.dexlib2.AccessFlags
import app.revanced.patcher.fingerprint
internal val getAndroidIdFingerprint by fingerprint {
internal val getAndroidIdFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
returns("Ljava/lang/String;")
parameters("Landroid/content/Context;")

View File

@@ -3,18 +3,18 @@ package app.revanced.patches.piccomafr.tracking
import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.AccessFlags
internal val appMeasurementFingerprint by fingerprint {
internal val appMeasurementFingerprint = fingerprint {
accessFlags(AccessFlags.PRIVATE, AccessFlags.FINAL)
returns("V")
strings("config/app/", "Fetching remote configuration")
}
internal val facebookSDKFingerprint by fingerprint {
internal val facebookSDKFingerprint = fingerprint {
accessFlags(AccessFlags.STATIC, AccessFlags.CONSTRUCTOR)
strings("instagram.com", "facebook.com")
}
internal val firebaseInstallFingerprint by fingerprint {
internal val firebaseInstallFingerprint = fingerprint {
accessFlags(AccessFlags.PRIVATE)
strings(
"https://%s/%s/%s",

View File

@@ -3,7 +3,7 @@ package app.revanced.patches.pixiv.ads
import com.android.tools.smali.dexlib2.AccessFlags
import app.revanced.patcher.fingerprint
internal val shouldShowAdsFingerprint by fingerprint {
internal val shouldShowAdsFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
returns("Z")
custom { methodDef, classDef ->

View File

@@ -4,7 +4,7 @@ import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
internal val enterServerInsertedAdBreakStateFingerprint by fingerprint {
internal val enterServerInsertedAdBreakStateFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC)
parameters("Lcom/amazon/avod/fsm/Trigger;")
returns("V")
@@ -19,7 +19,7 @@ internal val enterServerInsertedAdBreakStateFingerprint by fingerprint {
}
}
internal val doTriggerFingerprint by fingerprint {
internal val doTriggerFingerprint = fingerprint {
accessFlags(AccessFlags.PROTECTED)
returns("V")
opcodes(

View File

@@ -3,7 +3,7 @@ package app.revanced.patches.primevideo.video.speed
import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.AccessFlags
internal val playbackUserControlsInitializeFingerprint by fingerprint {
internal val playbackUserControlsInitializeFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC)
parameters("Lcom/amazon/avod/playbackclient/PlaybackInitializationContext;")
returns("V")
@@ -12,7 +12,7 @@ internal val playbackUserControlsInitializeFingerprint by fingerprint {
}
}
internal val playbackUserControlsPrepareForPlaybackFingerprint by fingerprint {
internal val playbackUserControlsPrepareForPlaybackFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC)
parameters("Lcom/amazon/avod/playbackclient/PlaybackContext;")
returns("V")

View File

@@ -3,7 +3,7 @@ package app.revanced.patches.rar.misc.annoyances.purchasereminder
import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.AccessFlags
internal val showReminderFingerprint by fingerprint {
internal val showReminderFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.STATIC)
returns("V")
custom { method, _ ->

View File

@@ -2,7 +2,7 @@ package app.revanced.patches.reddit.ad.comments
import app.revanced.patcher.fingerprint
internal val hideCommentAdsFingerprint by fingerprint {
internal val hideCommentAdsFingerprint = fingerprint {
strings(
"link",
// CommentPageRepository is not returning a link object

View File

@@ -3,14 +3,14 @@ package app.revanced.patches.reddit.ad.general
import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.Opcode
internal val adPostFingerprint by fingerprint {
internal val adPostFingerprint = fingerprint {
returns("V")
// "children" are present throughout multiple versions
strings("children")
custom { _, classDef -> classDef.endsWith("Listing;") }
}
internal val newAdPostFingerprint by fingerprint {
internal val newAdPostFingerprint = fingerprint {
opcodes(Opcode.INVOKE_VIRTUAL)
strings("chain", "feedElement")
custom { _, classDef -> classDef.sourceFile == "AdElementConverter.kt" }

View File

@@ -2,10 +2,10 @@ package app.revanced.patches.reddit.customclients.baconreader.api
import app.revanced.patcher.fingerprint
internal val getAuthorizationUrlFingerprint by fingerprint {
internal val getAuthorizationUrlFingerprint = fingerprint {
strings("client_id=zACVn0dSFGdWqQ")
}
internal val getClientIdFingerprint by fingerprint {
internal val getClientIdFingerprint = fingerprint {
strings("client_id=zACVn0dSFGdWqQ")
custom { method, classDef ->
if (!classDef.endsWith("RedditOAuth;")) return@custom false
@@ -14,6 +14,6 @@ internal val getClientIdFingerprint by fingerprint {
}
}
internal val requestTokenFingerprint by fingerprint {
internal val requestTokenFingerprint = fingerprint {
strings("zACVn0dSFGdWqQ", "kDm2tYpu9DqyWFFyPlNcXGEni4k") // App ID and secret.
}

View File

@@ -2,7 +2,7 @@ package app.revanced.patches.reddit.customclients.baconreader.fix.redgifs
import app.revanced.patcher.fingerprint
internal val getOkHttpClientFingerprint by fingerprint {
internal val getOkHttpClientFingerprint = fingerprint {
returns("Lokhttp3/OkHttpClient;")
parameters()
custom { method, classDef ->

View File

@@ -2,10 +2,10 @@ package app.revanced.patches.reddit.customclients.boostforreddit.ads
import app.revanced.patcher.fingerprint
internal val maxMediationFingerprint by fingerprint {
internal val maxMediationFingerprint = fingerprint {
strings("MaxMediation: Attempting to initialize SDK")
}
internal val admobMediationFingerprint by fingerprint {
internal val admobMediationFingerprint = fingerprint {
strings("AdmobMediation: Attempting to initialize SDK")
}

View File

@@ -2,11 +2,11 @@ package app.revanced.patches.reddit.customclients.boostforreddit.api
import app.revanced.patcher.fingerprint
internal val buildUserAgentFingerprint by fingerprint {
internal val buildUserAgentFingerprint = fingerprint {
strings("%s:%s:%s (by /u/%s)")
}
internal val getClientIdFingerprint by fingerprint {
internal val getClientIdFingerprint = fingerprint {
custom { method, classDef ->
if (!classDef.endsWith("Credentials;")) return@custom false

View File

@@ -2,6 +2,6 @@ package app.revanced.patches.reddit.customclients.boostforreddit.fix.downloads
import app.revanced.patcher.fingerprint
internal val downloadAudioFingerprint by fingerprint {
internal val downloadAudioFingerprint = fingerprint {
strings("/DASH_audio.mp4", "/audio")
}

View File

@@ -4,7 +4,7 @@ import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
internal val createOkHttpClientFingerprint by fingerprint {
internal val createOkHttpClientFingerprint = fingerprint {
accessFlags(AccessFlags.PRIVATE)
opcodes(
Opcode.NEW_INSTANCE,

View File

@@ -3,14 +3,14 @@ package app.revanced.patches.reddit.customclients.boostforreddit.fix.slink
import com.android.tools.smali.dexlib2.AccessFlags
import app.revanced.patcher.fingerprint
internal val getOAuthAccessTokenFingerprint by fingerprint {
internal val getOAuthAccessTokenFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC)
returns("Ljava/lang/String")
strings("access_token")
custom { method, _ -> method.definingClass == "Lnet/dean/jraw/http/oauth/OAuthData;" }
}
internal val handleNavigationFingerprint by fingerprint {
internal val handleNavigationFingerprint = fingerprint {
strings(
"android.intent.action.SEARCH",
"subscription",

View File

@@ -2,6 +2,6 @@ package app.revanced.patches.reddit.customclients.infinityforreddit.api
import app.revanced.patcher.fingerprint
internal val apiUtilsFingerprint by fingerprint {
internal val apiUtilsFingerprint = fingerprint {
strings("native-lib")
}

View File

@@ -3,11 +3,11 @@ package app.revanced.patches.reddit.customclients.infinityforreddit.subscription
import app.revanced.patcher.fingerprint
import app.revanced.patcher.literal
internal val billingClientOnServiceConnectedFingerprint by fingerprint {
internal val billingClientOnServiceConnectedFingerprint = fingerprint {
strings("Billing service connected")
}
internal val startSubscriptionActivityFingerprint by fingerprint {
internal val startSubscriptionActivityFingerprint = fingerprint {
instructions(
literal(0x10008000) // Intent start flag only used in the subscription activity
)

View File

@@ -3,7 +3,7 @@ package app.revanced.patches.reddit.customclients.joeyforreddit.ads
import com.android.tools.smali.dexlib2.AccessFlags
import app.revanced.patcher.fingerprint
internal val isAdFreeUserFingerprint by fingerprint {
internal val isAdFreeUserFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC)
returns("Z")
strings("AD_FREE_USER")

View File

@@ -4,7 +4,7 @@ import com.android.tools.smali.dexlib2.Opcode
import com.android.tools.smali.dexlib2.AccessFlags
import app.revanced.patcher.fingerprint
internal val authUtilityUserAgentFingerprint by fingerprint {
internal val authUtilityUserAgentFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.STATIC)
returns("Ljava/lang/String;")
opcodes(Opcode.APUT_OBJECT)
@@ -13,7 +13,7 @@ internal val authUtilityUserAgentFingerprint by fingerprint {
}
}
internal val getClientIdFingerprint by fingerprint {
internal val getClientIdFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.STATIC)
returns("L")
opcodes(

View File

@@ -4,7 +4,7 @@ import com.android.tools.smali.dexlib2.Opcode
import com.android.tools.smali.dexlib2.AccessFlags
import app.revanced.patcher.fingerprint
internal val piracyDetectionFingerprint by fingerprint {
internal val piracyDetectionFingerprint = fingerprint {
accessFlags(AccessFlags.PRIVATE, AccessFlags.STATIC)
returns("V")
opcodes(

View File

@@ -9,15 +9,15 @@ internal fun baseClientIdFingerprint(string: String) = fingerprint {
strings("yyOCBp.RHJhDKd", string)
}
internal val basicAuthorizationFingerprint by baseClientIdFingerprint(
internal val basicAuthorizationFingerprint = baseClientIdFingerprint(
string = "fJOxVwBUyo*=f:<OoejWs:AqmIJ", // Encrypted basic authorization string.
)
internal val buildAuthorizationStringFingerprint by baseClientIdFingerprint(
internal val buildAuthorizationStringFingerprint = baseClientIdFingerprint(
string = "client_id",
)
internal val getUserAgentFingerprint by fingerprint {
internal val getUserAgentFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.STATIC)
returns("Ljava/lang/String;")
parameters()

View File

@@ -7,20 +7,20 @@ internal fun baseClientIdFingerprint(string: String) = fingerprint {
strings("dj-xCIZQYiLbEg", string)
}
internal val getLoggedInBearerTokenFingerprint by baseClientIdFingerprint("authorization_code")
internal val getLoggedInBearerTokenFingerprint = baseClientIdFingerprint("authorization_code")
internal val getLoggedOutBearerTokenFingerprint by baseClientIdFingerprint("https://oauth.reddit.com/grants/installed_client")
internal val getLoggedOutBearerTokenFingerprint = baseClientIdFingerprint("https://oauth.reddit.com/grants/installed_client")
internal val getRefreshTokenFingerprint by baseClientIdFingerprint("refresh_token")
internal val getRefreshTokenFingerprint = baseClientIdFingerprint("refresh_token")
internal val loginActivityClientIdFingerprint by baseClientIdFingerprint("&duration=permanent")
internal val loginActivityClientIdFingerprint = baseClientIdFingerprint("&duration=permanent")
internal val redditCheckDisableAPIFingerprint by fingerprint {
internal val redditCheckDisableAPIFingerprint = fingerprint {
opcodes(Opcode.IF_EQZ)
strings("Reddit Disabled")
}
internal val setRemoteConfigFingerprint by fingerprint {
internal val setRemoteConfigFingerprint = fingerprint {
parameters("Lcom/google/firebase/remoteconfig/FirebaseRemoteConfig;")
strings("reddit_oauth_url")
}

View File

@@ -2,7 +2,7 @@ package app.revanced.patches.reddit.customclients.slide.api
import app.revanced.patcher.fingerprint
internal val getClientIdFingerprint by fingerprint {
internal val getClientIdFingerprint = fingerprint {
custom { method, classDef ->
if (!classDef.endsWith("Credentials;")) return@custom false

View File

@@ -3,7 +3,7 @@ package app.revanced.patches.reddit.customclients.sync.ads
import com.android.tools.smali.dexlib2.AccessFlags
import app.revanced.patcher.fingerprint
internal val isAdsEnabledFingerprint by fingerprint {
internal val isAdsEnabledFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.STATIC)
returns("Z")
strings("SyncIapHelper")

View File

@@ -7,7 +7,7 @@ import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
import com.android.tools.smali.dexlib2.iface.reference.Reference
internal val piracyDetectionFingerprint by fingerprint {
internal val piracyDetectionFingerprint = fingerprint {
accessFlags(AccessFlags.PRIVATE, AccessFlags.FINAL)
returns("V")
opcodes(

Some files were not shown because too many files have changed in this diff Show More