generated from ReVanced/revanced-patches-template
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: Add existing ID Austria patches
- Loading branch information
Showing
10 changed files
with
313 additions
and
39 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,26 @@ | ||
public final class app/revanced/patches/example/ExamplePatch : app/revanced/patcher/patch/BytecodePatch { | ||
public static final field INSTANCE Lapp/revanced/patches/example/ExamplePatch; | ||
public final class app/revanced/patches/idaustria/detection/root/RootDetectionPatch : app/revanced/patcher/patch/BytecodePatch { | ||
public static final field INSTANCE Lapp/revanced/patches/idaustria/detection/root/RootDetectionPatch; | ||
public fun execute (Lapp/revanced/patcher/data/BytecodeContext;)V | ||
public synthetic fun execute (Lapp/revanced/patcher/data/Context;)V | ||
} | ||
|
||
public final class app/revanced/patches/idaustria/detection/signature/SpoofSignaturePatch : app/revanced/patcher/patch/BytecodePatch { | ||
public static final field INSTANCE Lapp/revanced/patches/idaustria/detection/signature/SpoofSignaturePatch; | ||
public fun execute (Lapp/revanced/patcher/data/BytecodeContext;)V | ||
public synthetic fun execute (Lapp/revanced/patcher/data/Context;)V | ||
} | ||
|
||
public final class app/revanced/util/BytecodeUtilsKt { | ||
public static final fun containsWideLiteralInstructionValue (Lcom/android/tools/smali/dexlib2/iface/Method;J)Z | ||
public static final fun findMutableMethodOf (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableClass;Lcom/android/tools/smali/dexlib2/iface/Method;)Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod; | ||
public static final fun getException (Lapp/revanced/patcher/fingerprint/MethodFingerprint;)Lapp/revanced/patcher/patch/PatchException; | ||
public static final fun indexOfFirstInstruction (Lcom/android/tools/smali/dexlib2/iface/Method;Lkotlin/jvm/functions/Function1;)I | ||
public static final fun indexOfFirstWideLiteralInstructionValue (Lcom/android/tools/smali/dexlib2/iface/Method;J)I | ||
public static final fun injectHideViewCall (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableMethod;IILjava/lang/String;Ljava/lang/String;)V | ||
public static final fun resultOrThrow (Lapp/revanced/patcher/fingerprint/MethodFingerprint;)Lapp/revanced/patcher/fingerprint/MethodFingerprintResult; | ||
public static final fun returnEarly (Ljava/util/List;Z)V | ||
public static synthetic fun returnEarly$default (Ljava/util/List;ZILjava/lang/Object;)V | ||
public static final fun transformMethods (Lapp/revanced/patcher/util/proxy/mutableTypes/MutableClass;Lkotlin/jvm/functions/Function1;)V | ||
public static final fun traverseClassHierarchy (Lapp/revanced/patcher/data/BytecodeContext;Lapp/revanced/patcher/util/proxy/mutableTypes/MutableClass;Lkotlin/jvm/functions/Function1;)V | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,7 +7,7 @@ plugins { | |
signing | ||
} | ||
|
||
group = "app.revanced" | ||
group = "fe.revanced.patches" | ||
|
||
repositories { | ||
mavenCentral() | ||
|
@@ -35,14 +35,14 @@ kotlin { | |
tasks { | ||
withType(Jar::class) { | ||
manifest { | ||
attributes["Name"] = "ReVanced Patches template" | ||
attributes["Description"] = "Patches template for ReVanced." | ||
attributes["Name"] = "eGovPatchesAT ReVanced patches" | ||
attributes["Description"] = "eGovPatchesAT ReVanced patches" | ||
attributes["Version"] = version | ||
attributes["Timestamp"] = System.currentTimeMillis().toString() | ||
attributes["Source"] = "[email protected]:revanced/revanced-patches-template.git" | ||
attributes["Author"] = "ReVanced" | ||
attributes["Contact"] = "[email protected]" | ||
attributes["Origin"] = "https://revanced.app" | ||
attributes["Source"] = "[email protected]:eGovPatchesAT/revanced-patches.git" | ||
attributes["Author"] = "eGovPatchesAT" | ||
attributes["Contact"] = "[email protected]" | ||
attributes["Origin"] = "https://github.com/eGovPatchesAT" | ||
attributes["License"] = "GNU General Public License v3.0" | ||
} | ||
} | ||
|
@@ -83,7 +83,7 @@ publishing { | |
repositories { | ||
maven { | ||
name = "GitHubPackages" | ||
url = uri("https://maven.pkg.github.com/revanced/revanced-patches-template") | ||
url = uri("https://maven.pkg.github.com/eGovPatchesAT/revanced-patches") | ||
credentials { | ||
username = System.getenv("GITHUB_ACTOR") | ||
password = System.getenv("GITHUB_TOKEN") | ||
|
@@ -96,9 +96,9 @@ publishing { | |
from(components["java"]) | ||
|
||
pom { | ||
name = "ReVanced Patches template" | ||
description = "Patches template for ReVanced." | ||
url = "https://revanced.app" | ||
name = "eGovPatchesAT ReVanced patches" | ||
description = "eGovPatchesAT ReVanced patches" | ||
url = "https://github.com/eGovPatchesAT" | ||
|
||
licenses { | ||
license { | ||
|
@@ -108,15 +108,15 @@ publishing { | |
} | ||
developers { | ||
developer { | ||
id = "ReVanced" | ||
name = "ReVanced" | ||
email = "[email protected]" | ||
id = "eGovPatchesAT" | ||
name = "eGovPatchesAT" | ||
email = "[email protected]" | ||
} | ||
} | ||
scm { | ||
connection = "scm:git:git://github.com/revanced/revanced-patches-template.git" | ||
developerConnection = "scm:git:[email protected]:revanced/revanced-patches-template.git" | ||
url = "https://github.com/revanced/revanced-patches-template" | ||
connection = "scm:git:git://github.com/eGovPatchesAT/revanced-patches.git" | ||
developerConnection = "scm:git:[email protected]:eGovPatchesAT/revanced-patches.git" | ||
url = "https://github.com/eGovPatchesAT/revanced-patches" | ||
} | ||
} | ||
} | ||
|
20 changes: 0 additions & 20 deletions
20
src/main/kotlin/app/revanced/patches/example/ExamplePatch.kt
This file was deleted.
Oops, something went wrong.
26 changes: 26 additions & 0 deletions
26
src/main/kotlin/app/revanced/patches/idaustria/detection/root/RootDetectionPatch.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
package app.revanced.patches.idaustria.detection.root | ||
|
||
import app.revanced.patcher.data.BytecodeContext | ||
import app.revanced.patcher.patch.BytecodePatch | ||
import app.revanced.patcher.patch.annotation.CompatiblePackage | ||
import app.revanced.patcher.patch.annotation.Patch | ||
import app.revanced.patches.idaustria.detection.root.fingerprints.AttestationSupportedCheckFingerprint | ||
import app.revanced.patches.idaustria.detection.root.fingerprints.BootloaderCheckFingerprint | ||
import app.revanced.patches.idaustria.detection.root.fingerprints.RootCheckFingerprint | ||
import app.revanced.util.returnEarly | ||
|
||
@Patch( | ||
name = "Remove root detection", | ||
description = "Removes the check for root permissions and unlocked bootloader.", | ||
compatiblePackages = [CompatiblePackage("at.gv.oe.app")] | ||
) | ||
@Suppress("unused") | ||
object RootDetectionPatch : BytecodePatch( | ||
setOf(AttestationSupportedCheckFingerprint, BootloaderCheckFingerprint, RootCheckFingerprint) | ||
) { | ||
override fun execute(context: BytecodeContext) = listOf( | ||
AttestationSupportedCheckFingerprint, | ||
BootloaderCheckFingerprint, | ||
RootCheckFingerprint | ||
).returnEarly(true) | ||
} |
13 changes: 13 additions & 0 deletions
13
...ced/patches/idaustria/detection/root/fingerprints/AttestationSupportedCheckFingerprint.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
package app.revanced.patches.idaustria.detection.root.fingerprints | ||
|
||
import app.revanced.patcher.fingerprint.MethodFingerprint | ||
import com.android.tools.smali.dexlib2.AccessFlags | ||
|
||
internal object AttestationSupportedCheckFingerprint : MethodFingerprint( | ||
"V", | ||
accessFlags = AccessFlags.PUBLIC.value, | ||
customFingerprint = { methodDef, _ -> | ||
methodDef.name == "attestationSupportCheck" && | ||
methodDef.definingClass.endsWith("/DeviceIntegrityCheck;") | ||
} | ||
) |
13 changes: 13 additions & 0 deletions
13
.../app/revanced/patches/idaustria/detection/root/fingerprints/BootloaderCheckFingerprint.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
package app.revanced.patches.idaustria.detection.root.fingerprints | ||
|
||
import app.revanced.patcher.fingerprint.MethodFingerprint | ||
import com.android.tools.smali.dexlib2.AccessFlags | ||
|
||
internal object BootloaderCheckFingerprint : MethodFingerprint( | ||
"Z", | ||
accessFlags = AccessFlags.PUBLIC.value, | ||
customFingerprint = { methodDef, _ -> | ||
methodDef.name == "bootloaderCheck" && | ||
methodDef.definingClass.endsWith("/DeviceIntegrityCheck;") | ||
} | ||
) |
13 changes: 13 additions & 0 deletions
13
...kotlin/app/revanced/patches/idaustria/detection/root/fingerprints/RootCheckFingerprint.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
package app.revanced.patches.idaustria.detection.root.fingerprints | ||
|
||
import app.revanced.patcher.fingerprint.MethodFingerprint | ||
import com.android.tools.smali.dexlib2.AccessFlags | ||
|
||
internal object RootCheckFingerprint : MethodFingerprint( | ||
"V", | ||
accessFlags = AccessFlags.PUBLIC.value, | ||
customFingerprint = { methodDef, _ -> | ||
methodDef.name == "rootCheck" && | ||
methodDef.definingClass.endsWith("/DeviceIntegrityCheck;") | ||
} | ||
) |
41 changes: 41 additions & 0 deletions
41
src/main/kotlin/app/revanced/patches/idaustria/detection/signature/SpoofSignaturePatch.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
package app.revanced.patches.idaustria.detection.signature | ||
|
||
import app.revanced.patcher.data.BytecodeContext | ||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions | ||
import app.revanced.patcher.patch.BytecodePatch | ||
import app.revanced.patcher.patch.annotation.CompatiblePackage | ||
import app.revanced.patcher.patch.annotation.Patch | ||
import app.revanced.patches.idaustria.detection.signature.fingerprints.SpoofSignatureFingerprint | ||
|
||
@Patch( | ||
name = "Spoof signature", | ||
description = "Spoofs the signature of the app.", | ||
compatiblePackages = [CompatiblePackage("at.gv.oe.app")] | ||
) | ||
@Suppress("unused") | ||
object SpoofSignaturePatch : BytecodePatch( | ||
setOf(SpoofSignatureFingerprint) | ||
) { | ||
private const val EXPECTED_SIGNATURE = | ||
"OpenSSLRSAPublicKey{modulus=ac3e6fd6050aa7e0d6010ae58190404cd89a56935b44f6fee" + | ||
"067c149768320026e10b24799a1339e414605e448e3f264444a327b9ae292be2b62ad567dd1800dbed4a88f718a33dc6db6b" + | ||
"f5178aa41aa0efff8a3409f5ca95dbfccd92c7b4298966df806ea7a0204a00f0e745f6d9f13bdf24f3df715d7b62c1600906" + | ||
"15de1c8a956b9286764985a3b3c060963c435fb9481a5543aaf0671fc2dba6c5c2b17d1ef1d85137f14dc9bbdf3490288087" + | ||
"324cd48341cce64fabf6a9b55d1a7bf23b2fcdff451fd85bf0c7feb0a5e884d7c5c078e413149566a12a686e6efa70ae5161" + | ||
"a0201307692834cda336c55157fef125e67c01c1359886f94742105596b42a790404bbcda5dad6a65f115aaff5e45ef3c28b" + | ||
"2316ff6cef07aa49a45aa58c07bf258051b13ef449ccb37a3679afd5cfb9132f70bb9d931a937897544f90c3bcc80ed012e9" + | ||
"f6ba020b8cdc23f8c29ac092b88f0e370ff9434e4f0f359e614ae0868dc526fa41e4b7596533e8d10279b66e923ecd9f0b20" + | ||
"0def55be2c1f6f9c72c92fb45d7e0a9ac571cb38f0a9a37bb33ea06f223fde8c7a92e8c47769e386f9799776e8f110c21df2" + | ||
"77ef1be61b2c01ebdabddcbf53cc4b6fd9a3c445606ee77b3758162c80ad8f8137b3c6864e92db904807dcb2be9d7717dd21" + | ||
"bf42c121d620ddfb7914f7a95c713d9e1c1b7bdb4a03d618e40cf7e9e235c0b5687e03b7ab3,publicExponent=10001}" | ||
|
||
override fun execute(context: BytecodeContext) { | ||
SpoofSignatureFingerprint.result!!.mutableMethod.addInstructions( | ||
0, | ||
""" | ||
const-string v0, "$EXPECTED_SIGNATURE" | ||
return-object v0 | ||
""" | ||
) | ||
} | ||
} |
13 changes: 13 additions & 0 deletions
13
.../revanced/patches/idaustria/detection/signature/fingerprints/SpoofSignatureFingerprint.kt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
package app.revanced.patches.idaustria.detection.signature.fingerprints | ||
|
||
import app.revanced.patcher.fingerprint.MethodFingerprint | ||
import com.android.tools.smali.dexlib2.AccessFlags | ||
|
||
internal object SpoofSignatureFingerprint : MethodFingerprint( | ||
"L", | ||
parameters = listOf("L"), | ||
accessFlags = AccessFlags.PRIVATE.value, | ||
customFingerprint = { methodDef, _ -> | ||
methodDef.definingClass.endsWith("/SL2Step1Task;") && methodDef.name == "getPubKey" | ||
} | ||
) |
Oops, something went wrong.