Skip to content

Commit dda7473

Browse files
hoo-dlesoSumAtrIX
andauthored
fix(Instagram) - Fix hide ads fingerprint and add bypass check signature (#4901)
Co-authored-by: oSumAtrIX <[email protected]>
1 parent d014507 commit dda7473

File tree

4 files changed

+43
-1
lines changed

4 files changed

+43
-1
lines changed

patches/api/patches.api

+4
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,10 @@ public final class app/revanced/patches/instagram/ads/HideAdsPatchKt {
240240
public static final fun getHideAdsPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
241241
}
242242

243+
public final class app/revanced/patches/instagram/misc/signature/SignatureCheckPatchKt {
244+
public static final fun getSignatureCheckPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
245+
}
246+
243247
public final class app/revanced/patches/irplus/ad/RemoveAdsPatchKt {
244248
public static final fun getRemoveAdsPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
245249
}

patches/src/main/kotlin/app/revanced/patches/instagram/ads/Fingerprints.kt

-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,5 @@ internal val adInjectorFingerprint = fingerprint {
99
parameters("L", "L")
1010
strings(
1111
"SponsoredContentController.insertItem",
12-
"SponsoredContentController::Delivery",
1312
)
1413
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package app.revanced.patches.instagram.misc.signature
2+
3+
import app.revanced.patcher.fingerprint
4+
import app.revanced.util.getReference
5+
import app.revanced.util.indexOfFirstInstruction
6+
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
7+
8+
internal val isValidSignatureClassFingerprint = fingerprint {
9+
strings("The provider for uri '", "' is not trusted: ")
10+
}
11+
12+
internal val isValidSignatureMethodFingerprint = fingerprint {
13+
parameters("L", "Z")
14+
returns("Z")
15+
custom { method, _ ->
16+
method.indexOfFirstInstruction {
17+
getReference<MethodReference>()?.name == "keySet"
18+
} >= 0
19+
}
20+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package app.revanced.patches.instagram.misc.signature
2+
3+
import app.revanced.patcher.patch.bytecodePatch
4+
import app.revanced.util.returnEarly
5+
6+
@Suppress("unused")
7+
val signatureCheckPatch = bytecodePatch(
8+
name = "Disable signature check",
9+
description = "Disables the signature check that causes the app to crash on startup."
10+
) {
11+
compatibleWith("com.instagram.android"("378.0.0.52.68"))
12+
13+
execute {
14+
isValidSignatureMethodFingerprint
15+
.match(isValidSignatureClassFingerprint.classDef)
16+
.method
17+
.returnEarly(true)
18+
}
19+
}

0 commit comments

Comments
 (0)