diff --git a/patches/api/patches.api b/patches/api/patches.api index 8c8bd288e..49cde454d 100644 --- a/patches/api/patches.api +++ b/patches/api/patches.api @@ -336,6 +336,10 @@ public final class app/revanced/patches/instagram/misc/devmenu/EnableDeveloperMe public static final fun getEnableDeveloperMenuPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } +public final class app/revanced/patches/instagram/misc/disableAnalytics/DisableAnalyticsPatchKt { + public static final fun getDisableAnalyticsPatch ()Lapp/revanced/patcher/patch/BytecodePatch; +} + public final class app/revanced/patches/instagram/misc/extension/SharedExtensionPatchKt { public static final fun getSharedExtensionPatch ()Lapp/revanced/patcher/patch/BytecodePatch; } diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/disableAnalytics/DisableAnalyticsPatch.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/disableAnalytics/DisableAnalyticsPatch.kt new file mode 100644 index 000000000..819a92781 --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/disableAnalytics/DisableAnalyticsPatch.kt @@ -0,0 +1,28 @@ +package app.revanced.patches.instagram.misc.disableAnalytics + +import app.revanced.patcher.extensions.InstructionExtensions.addInstructions +import app.revanced.patcher.patch.bytecodePatch +import app.revanced.patches.instagram.shared.replaceStringWithBogus + +@Suppress("unused") +val disableAnalyticsPatch = bytecodePatch( + name = "Disable analytics", + description = "Disables analytics that are sent periodically.", +) { + compatibleWith("com.instagram.android") + + execute { + // Returns BOGUS as analytics url. + instagramAnalyticsUrlBuilderMethodFingerprint.method.addInstructions( + 0, + """ + const-string v0, "BOGUS" + return-object v0 + """ + ) + + // Replaces analytics url as BOGUS. + facebookAnalyticsUrlInitMethodFingerprint.replaceStringWithBogus(TARGET_URL) + } +} + diff --git a/patches/src/main/kotlin/app/revanced/patches/instagram/misc/disableAnalytics/Fingerprints.kt b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/disableAnalytics/Fingerprints.kt new file mode 100644 index 000000000..95e522f4c --- /dev/null +++ b/patches/src/main/kotlin/app/revanced/patches/instagram/misc/disableAnalytics/Fingerprints.kt @@ -0,0 +1,12 @@ +package app.revanced.patches.instagram.misc.disableAnalytics + +import app.revanced.patcher.fingerprint + +internal val instagramAnalyticsUrlBuilderMethodFingerprint = fingerprint { + strings("/logging_client_events") +} + +internal const val TARGET_URL = "https://graph.facebook.com/logging_client_events" +internal val facebookAnalyticsUrlInitMethodFingerprint = fingerprint { + strings("analytics_endpoint",TARGET_URL) +}