Skip to content

Commit

Permalink
Updated patch to work with more versions
Browse files Browse the repository at this point in the history
  • Loading branch information
Slenderman00 committed Sep 4, 2023
1 parent 6c59572 commit 4deae44
Show file tree
Hide file tree
Showing 12 changed files with 40 additions and 25 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ package app.revanced.patches.grindr.annotations
import app.revanced.patcher.annotation.Compatibility
import app.revanced.patcher.annotation.Package

@Compatibility([Package("com.grindrapp.android", arrayOf("9.15.0"))])
@Compatibility([Package("com.grindrapp.android", arrayOf("9.14.0", "9.15.0", "9.16.0"))])
@Target(AnnotationTarget.CLASS)
internal annotation class GrindrPatchCompatibility
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package app.revanced.patches.grindr.fingerprints

import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint

object GetReqistrationCertFingerprint : MethodFingerprint(
object GetRegistrationCertFingerprint : MethodFingerprint(
"Ljava/lang/String;",
strings = listOf(
"FirebaseRemoteConfig",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@ import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
import app.revanced.patcher.patch.BytecodePatch
import app.revanced.patcher.patch.PatchResult
import app.revanced.patches.grindr.fingerprints.GetMessagingCertFingerprint
import app.revanced.patches.grindr.fingerprints.GetReqistrationCertFingerprint
import app.revanced.patches.grindr.fingerprints.GetRegistrationCertFingerprint
import app.revanced.patches.grindr.Constants.SPOOFED_PACKAGE_SIGNATURE

class FirebaseGetCertPatch : BytecodePatch(
listOf(
GetReqistrationCertFingerprint,
GetRegistrationCertFingerprint,
GetMessagingCertFingerprint
)
) {
Expand All @@ -24,7 +24,7 @@ class FirebaseGetCertPatch : BytecodePatch(
return-object v0
"""

val registrationCertMethod = GetReqistrationCertFingerprint.result!!.mutableMethod
val registrationCertMethod = GetRegistrationCertFingerprint.result!!.mutableMethod
val messagingCertMethod = GetMessagingCertFingerprint.result!!.mutableMethod

registrationCertMethod.addInstructions(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,21 @@ import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode

//a

object HasFeatureFingerprint : MethodFingerprint(
"Z",
parameters = listOf("Lcom/grindrapp/android/model/Feature;"),
customFingerprint = { methodDef, _ ->
methodDef.name.contains("a")
}
opcodes = listOf(
Opcode.CONST_STRING,
Opcode.INVOKE_STATIC,
Opcode.INVOKE_STATIC,
Opcode.MOVE_RESULT,
Opcode.CONST_4,
Opcode.IF_LEZ,
Opcode.IGET_OBJECT,
Opcode.NEW_INSTANCE,
Opcode.INVOKE_DIRECT,
Opcode.CONST_STRING,
Opcode.INVOKE_VIRTUAL,
Opcode.INVOKE_VIRTUAL
),
)
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode

//b

@FuzzyPatternScanMethod(2)
object InnaccessibleProfileManagerbFingerprint : MethodFingerprint(
"Z",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,15 @@ import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode

//d

object InnaccessibleProfileManagerdFingerprint : MethodFingerprint(
"Z",
opcodes = listOf(
Opcode.INVOKE_VIRTUAL,
Opcode.MOVE_RESULT,
Opcode.XOR_INT_LIT8,
Opcode.RETURN
),
customFingerprint = { methodDef, _ ->
methodDef.name == "d" && methodDef.definingClass.contains("InaccessibleProfileManager")
methodDef.definingClass.contains("InaccessibleProfileManager")
}
)
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,15 @@ import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode

object IsFreeFingerprint : MethodFingerprint(
"Z",
accessFlags = AccessFlags.PUBLIC.value,
opcodes = listOf(
Opcode.IGET_OBJECT,
Opcode.INVOKE_INTERFACE,
Opcode.MOVE_RESULT,
Opcode.RETURN
),
customFingerprint = { methodDef, _ ->
methodDef.name == "r" && methodDef.definingClass.endsWith("storage/s0;")
methodDef.name == "r" && methodDef.definingClass.contains("storage")
}
)
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode

//A

object IsNoPlusUpsellFingerprint : MethodFingerprint(
"Z",
accessFlags = AccessFlags.PUBLIC.value,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,5 @@ object IsNoXtraUpsellFingerprint : MethodFingerprint(
Opcode.GOTO,
Opcode.CONST_4,
Opcode.RETURN
),
customFingerprint = { methodDef, _ ->
methodDef.name.contains("h")
}
)
)
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,6 @@ object IsPlusFingerprint : MethodFingerprint(
Opcode.RETURN
),
customFingerprint = { methodDef, _ ->
methodDef.name.contains("y")
methodDef.name == "y"
}
)
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,6 @@ object IsUnlimitedFingerprint : MethodFingerprint(
Opcode.RETURN
),
customFingerprint = { methodDef, _ ->
methodDef.name.contains("x")
methodDef.name == "x"
}
)
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,6 @@ object IsXtraFingerprint : MethodFingerprint(
Opcode.RETURN
),
customFingerprint = { methodDef, _ ->
methodDef.name.contains("p")
methodDef.name == "p"
}
)

0 comments on commit 4deae44

Please sign in to comment.