mirror of
https://github.com/revanced/revanced-patches
synced 2024-11-19 11:29:23 +01:00
fix: Remove version numbers from individual patches (#2709)
This commit is contained in:
parent
d95b82fd40
commit
7a828ea882
@ -2,7 +2,6 @@ package app.revanced.patches.all.activity.exportAll.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.ResourceContext
|
||||
import app.revanced.patcher.patch.PatchResult
|
||||
import app.revanced.patcher.patch.PatchResultSuccess
|
||||
@ -12,7 +11,6 @@ import app.revanced.patcher.patch.annotations.Patch
|
||||
@Patch(false)
|
||||
@Name("Export all activities")
|
||||
@Description("Makes all app activities exportable.")
|
||||
@Version("0.0.1")
|
||||
class ExportAllActivitiesPatch : ResourcePatch {
|
||||
override fun execute(context: ResourceContext): PatchResult {
|
||||
context.xmlEditor["AndroidManifest.xml"].use { editor ->
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.all.connectivity.wifi.spoof.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.patch.annotations.Patch
|
||||
import app.revanced.patcher.patch.annotations.RequiresIntegrations
|
||||
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod
|
||||
@ -15,7 +14,6 @@ import java.util.*
|
||||
@Patch(false)
|
||||
@Name("Spoof wifi connection")
|
||||
@Description("Spoofs an existing Wi-Fi connection.")
|
||||
@Version("0.0.1")
|
||||
@RequiresIntegrations
|
||||
internal class SpoofWifiPatch : AbstractTransformInstructionsPatch<Instruction35cInfo>() {
|
||||
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.all.interaction.gestures.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.ResourceContext
|
||||
import app.revanced.patcher.patch.PatchResult
|
||||
import app.revanced.patcher.patch.PatchResultSuccess
|
||||
@ -12,7 +11,6 @@ import app.revanced.patcher.patch.annotations.Patch
|
||||
@Patch(false)
|
||||
@Name("Predictive back gesture")
|
||||
@Description("Enables the predictive back gesture introduced on Android 13.")
|
||||
@Version("0.0.1")
|
||||
class PredictiveBackGesturePatch : ResourcePatch {
|
||||
override fun execute(context: ResourceContext): PatchResult {
|
||||
context.xmlEditor["AndroidManifest.xml"].use { editor ->
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.all.misc.debugging.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.ResourceContext
|
||||
import app.revanced.patcher.patch.*
|
||||
import app.revanced.patcher.patch.annotations.Patch
|
||||
@ -11,7 +10,6 @@ import org.w3c.dom.Element
|
||||
@Patch(false)
|
||||
@Name("Enable android debugging")
|
||||
@Description("Enables Android debugging capabilities.")
|
||||
@Version("0.0.1")
|
||||
class EnableAndroidDebuggingPatch : ResourcePatch {
|
||||
override fun execute(context: ResourceContext): PatchResult {
|
||||
context.xmlEditor["AndroidManifest.xml"].use { dom ->
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.all.misc.packagename.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.ResourceContext
|
||||
import app.revanced.patcher.patch.*
|
||||
import app.revanced.patcher.patch.annotations.Patch
|
||||
@ -11,7 +10,6 @@ import org.w3c.dom.Element
|
||||
@Patch(false)
|
||||
@Name("Change package name")
|
||||
@Description("Changes the package name.")
|
||||
@Version("0.0.1")
|
||||
class ChangePackageNamePatch : ResourcePatch {
|
||||
override fun execute(context: ResourceContext): PatchResult {
|
||||
packageName?.let { packageName ->
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.all.screencapture.removerestriction.bytecode.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.patch.annotations.DependsOn
|
||||
import app.revanced.patcher.patch.annotations.Patch
|
||||
import app.revanced.patcher.patch.annotations.RequiresIntegrations
|
||||
@ -16,7 +15,6 @@ import org.jf.dexlib2.iface.instruction.Instruction
|
||||
@Patch(false)
|
||||
@Name("Remove screen capture restriction")
|
||||
@Description("Removes the restriction of capturing audio from apps that normally wouldn't allow it.")
|
||||
@Version("0.0.1")
|
||||
@DependsOn([RemoveCaptureRestrictionResourcePatch::class])
|
||||
@RequiresIntegrations
|
||||
internal class RemoveCaptureRestrictionPatch : AbstractTransformInstructionsPatch<Instruction35cInfo>() {
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.all.screenshot.removerestriction.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.patch.annotations.Patch
|
||||
import app.revanced.patcher.patch.annotations.RequiresIntegrations
|
||||
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod
|
||||
@ -15,7 +14,6 @@ import java.util.*
|
||||
@Patch(false)
|
||||
@Name("Remove screenshot restriction")
|
||||
@Description("Removes the restriction of taking screenshots in apps that normally wouldn't allow it.")
|
||||
@Version("0.0.1")
|
||||
@RequiresIntegrations
|
||||
internal class RemoveScreenshotRestrictionPatch : AbstractTransformInstructionsPatch<Instruction35cInfo>() {
|
||||
|
||||
|
@ -3,7 +3,6 @@ package app.revanced.patches.backdrops.misc.pro.patch
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
@ -19,7 +18,6 @@ import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
@Name("Pro unlock")
|
||||
@Description("Unlocks pro-only functions.")
|
||||
@ProUnlockCompatibility
|
||||
@Version("0.0.1")
|
||||
class ProUnlockPatch : BytecodePatch(
|
||||
listOf(ProUnlockFingerprint)
|
||||
) {
|
||||
|
@ -1,4 +1,4 @@
|
||||
package app.revanced.patches.candylinkvpn.fingereprints
|
||||
package app.revanced.patches.candylinkvpn.fingerprints
|
||||
|
||||
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
|
||||
|
||||
@ -7,5 +7,4 @@ object IsPremiumPurchasedFingerprint : MethodFingerprint(
|
||||
methodDef.definingClass.endsWith("PreferenceProvider;") &&
|
||||
methodDef.name == "isPremiumPurchased"
|
||||
}
|
||||
) {
|
||||
}
|
||||
)
|
@ -3,7 +3,6 @@ package app.revanced.patches.candylinkvpn.patch
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -11,13 +10,12 @@ import app.revanced.patcher.patch.PatchResult
|
||||
import app.revanced.patcher.patch.PatchResultSuccess
|
||||
import app.revanced.patcher.patch.annotations.Patch
|
||||
import app.revanced.patches.candylinkvpn.annotations.UnlockProCompatibility
|
||||
import app.revanced.patches.candylinkvpn.fingereprints.IsPremiumPurchasedFingerprint
|
||||
import app.revanced.patches.candylinkvpn.fingerprints.IsPremiumPurchasedFingerprint
|
||||
|
||||
@Patch
|
||||
@Name("Unlock pro")
|
||||
@Description("Unlocks premium features.")
|
||||
@UnlockProCompatibility
|
||||
@Version("0.0.1")
|
||||
class UnlockProPatch : BytecodePatch(
|
||||
listOf(IsPremiumPurchasedFingerprint)
|
||||
) {
|
||||
|
@ -3,7 +3,6 @@ package app.revanced.patches.finanzonline.detection.bootloader.patch
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -19,7 +18,6 @@ import app.revanced.patches.finanzonline.detection.shared.annotations.DetectionC
|
||||
@Name("Remove bootloader detection")
|
||||
@Description("Removes the check for an unlocked bootloader.")
|
||||
@DetectionCompatibility
|
||||
@Version("0.0.1")
|
||||
class BootloaderDetectionPatch : BytecodePatch(
|
||||
listOf(CreateKeyFingerprint, BootStateFingerprint)
|
||||
) {
|
||||
|
@ -3,7 +3,6 @@ package app.revanced.patches.finanzonline.detection.root.patch
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -17,7 +16,6 @@ import app.revanced.patches.finanzonline.detection.shared.annotations.DetectionC
|
||||
@Name("Remove root detection")
|
||||
@Description("Removes the check for root permissions.")
|
||||
@DetectionCompatibility
|
||||
@Version("0.0.1")
|
||||
class RootDetectionPatch : BytecodePatch(
|
||||
listOf(RootDetectionFingerprint)
|
||||
) {
|
||||
|
@ -1,4 +1,4 @@
|
||||
package app.revanced.patches.googlerecorder.restrictions.fingereprints
|
||||
package app.revanced.patches.googlerecorder.restrictions.fingerprints
|
||||
|
||||
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
|
||||
|
||||
|
@ -5,7 +5,6 @@ import app.revanced.patcher.annotation.Compatibility
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Package
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
@ -14,14 +13,13 @@ import app.revanced.patcher.patch.BytecodePatch
|
||||
import app.revanced.patcher.patch.PatchResult
|
||||
import app.revanced.patcher.patch.PatchResultSuccess
|
||||
import app.revanced.patcher.patch.annotations.Patch
|
||||
import app.revanced.patches.googlerecorder.restrictions.fingereprints.OnApplicationCreateFingerprint
|
||||
import app.revanced.patches.googlerecorder.restrictions.fingerprints.OnApplicationCreateFingerprint
|
||||
import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
|
||||
@Patch
|
||||
@Name("Remove device restrictions")
|
||||
@Description("Removes restrictions from using the app on any device.")
|
||||
@Compatibility([Package("com.google.android.apps.recorder")])
|
||||
@Version("0.0.1")
|
||||
class RemoveDeviceRestrictions : BytecodePatch(
|
||||
listOf(OnApplicationCreateFingerprint)
|
||||
) {
|
||||
|
@ -2,9 +2,7 @@ package app.revanced.patches.hexeditor.ad.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.removeInstruction
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.replaceInstructions
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
import app.revanced.patcher.patch.PatchResult
|
||||
@ -17,7 +15,6 @@ import app.revanced.patches.hexeditor.ad.fingerprints.PrimaryAdsFingerprint
|
||||
@Name("Disable ads")
|
||||
@Description("Disables ads in HexEditor.")
|
||||
@HexEditorAdsCompatibility
|
||||
@Version("0.0.1")
|
||||
class HexEditorAdsPatch : BytecodePatch(
|
||||
listOf(
|
||||
PrimaryAdsFingerprint
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.iconpackstudio.misc.pro.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -16,7 +15,6 @@ import app.revanced.patches.iconpackstudio.misc.pro.fingerprints.CheckProFingerp
|
||||
@Name("Unlock pro")
|
||||
@Description("Unlocks all pro features.")
|
||||
@UnlockProCompatibility
|
||||
@Version("0.0.1")
|
||||
class UnlockProPatch : BytecodePatch(
|
||||
listOf(
|
||||
CheckProFingerprint
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.idaustria.detection.root.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -16,7 +15,6 @@ import app.revanced.patches.idaustria.detection.shared.annotations.DetectionComp
|
||||
@Name("Remove root detection")
|
||||
@Description("Removes the check for root permissions and unlocked bootloader.")
|
||||
@DetectionCompatibility
|
||||
@Version("0.0.1")
|
||||
class RootDetectionPatch : BytecodePatch(
|
||||
listOf(RootDetectionFingerprint)
|
||||
) {
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.idaustria.detection.signature.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -16,7 +15,6 @@ import app.revanced.patches.idaustria.detection.signature.fingerprints.SpoofSign
|
||||
@Name("Spoof signature")
|
||||
@Description("Spoofs the signature of the app.")
|
||||
@DetectionCompatibility
|
||||
@Version("0.0.1")
|
||||
class SpoofSignaturePatch : BytecodePatch(
|
||||
listOf(SpoofSignatureFingerprint)
|
||||
) {
|
||||
|
@ -4,7 +4,6 @@ import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
import app.revanced.patcher.patch.PatchResult
|
||||
@ -17,7 +16,6 @@ import app.revanced.patches.inshorts.ad.fingerprints.InshortsAdsFingerprint
|
||||
@Name("Hide ads")
|
||||
@Description("Removes ads from Inshorts.")
|
||||
@HideAdsCompatibility
|
||||
@Version("0.0.1")
|
||||
class HideAdsPatch : BytecodePatch(
|
||||
listOf(InshortsAdsFingerprint)
|
||||
) {
|
||||
|
@ -25,7 +25,6 @@ import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
@Name("Hide timeline ads")
|
||||
@Description("Removes ads from the timeline.")
|
||||
@Compatibility([Package("com.instagram.android", arrayOf("275.0.0.27.98"))])
|
||||
@Version("0.0.1")
|
||||
class HideTimelineAdsPatch : BytecodePatch(
|
||||
listOf(
|
||||
ShowAdFingerprint,
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.irplus.ad.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -17,7 +16,6 @@ import app.revanced.patches.irplus.ad.fingerprints.IrplusAdsFingerprint
|
||||
@Name("Remove ads")
|
||||
@Description("Removes all ads from the app.")
|
||||
@IrplusAdsCompatibility
|
||||
@Version("0.0.1")
|
||||
class IrplusAdsPatch : BytecodePatch(
|
||||
listOf(IrplusAdsFingerprint)
|
||||
) {
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.memegenerator.detection.license.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.replaceInstructions
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -11,7 +10,6 @@ import app.revanced.patcher.patch.PatchResultSuccess
|
||||
import app.revanced.patches.memegenerator.detection.license.fingerprint.LicenseValidationFingerprint
|
||||
|
||||
@Description("Disables Firebase license validation.")
|
||||
@Version("0.0.1")
|
||||
class LicenseValidationPatch : BytecodePatch(
|
||||
listOf(LicenseValidationFingerprint)
|
||||
) {
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.memegenerator.detection.signature.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.replaceInstructions
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -11,7 +10,6 @@ import app.revanced.patcher.patch.PatchResultSuccess
|
||||
import app.revanced.patches.memegenerator.detection.signature.fingerprint.VerifySignatureFingerprint
|
||||
|
||||
@Description("Disables detection of incorrect signature.")
|
||||
@Version("0.0.1")
|
||||
class SignatureVerificationPatch : BytecodePatch(
|
||||
listOf(VerifySignatureFingerprint)
|
||||
) {
|
||||
|
@ -3,7 +3,6 @@ package app.revanced.patches.memegenerator.misc.pro.patch
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.replaceInstructions
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -24,7 +23,6 @@ import app.revanced.patches.memegenerator.misc.pro.fingerprint.IsFreeVersionFing
|
||||
LicenseValidationPatch::class
|
||||
])
|
||||
@UnlockProCompatibility
|
||||
@Version("0.0.1")
|
||||
class UnlockProVersionPatch : BytecodePatch(
|
||||
listOf(
|
||||
IsFreeVersionFingerprint
|
||||
|
@ -14,7 +14,6 @@ import app.revanced.patches.messenger.ads.inbox.fingerprints.LoadInboxAdsFingerp
|
||||
@Name("Hide inbox ads")
|
||||
@Description("Hides ads in inbox.")
|
||||
@Compatibility([Package("com.facebook.orca")])
|
||||
@Version("0.0.1")
|
||||
class HideInboxAdsPatch : BytecodePatch(
|
||||
listOf(LoadInboxAdsFingerprint)
|
||||
) {
|
||||
|
@ -16,7 +16,6 @@ import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
@Name("Disable switching emoji to sticker in message input field")
|
||||
@Description("Disables switching from emoji to sticker search mode in message input field")
|
||||
@Compatibility([Package("com.facebook.orca")])
|
||||
@Version("0.0.1")
|
||||
class DisableSwitchingEmojiToStickerInMessageInputField : BytecodePatch(listOf(SwitchMessangeInputEmojiButtonFingerprint)) {
|
||||
override fun execute(context: BytecodeContext): PatchResult {
|
||||
SwitchMessangeInputEmojiButtonFingerprint.result?.let {
|
||||
|
@ -5,7 +5,6 @@ import app.revanced.patcher.annotation.Compatibility
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Package
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -18,7 +17,6 @@ import app.revanced.patches.messenger.inputfield.fingerprints.SendTypingIndicato
|
||||
@Name("Disable typing indicator")
|
||||
@Description("Disables the indicator while typing a message")
|
||||
@Compatibility([Package("com.facebook.orca")])
|
||||
@Version("0.0.1")
|
||||
class DisableTypingIndicator : BytecodePatch(listOf(SendTypingIndicatorFingerprint)) {
|
||||
override fun execute(context: BytecodeContext): PatchResult {
|
||||
SendTypingIndicatorFingerprint.result?.mutableMethod?.replaceInstruction(0, "return-void")
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.moneymanager.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -16,7 +15,6 @@ import app.revanced.patches.moneymanager.fingerprints.UnlockProFingerprint
|
||||
@Name("Unlock pro")
|
||||
@Description("Unlocks pro features.")
|
||||
@UnlockProCompatibility
|
||||
@Version("0.0.1")
|
||||
class UnlockProPatch : BytecodePatch(
|
||||
listOf(UnlockProFingerprint)
|
||||
) {
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.music.ad.video.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
|
||||
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint.Companion.resolve
|
||||
@ -18,7 +17,6 @@ import app.revanced.patches.music.annotations.MusicCompatibility
|
||||
@Name("Music video ads")
|
||||
@Description("Removes ads in the music player.")
|
||||
@MusicCompatibility
|
||||
@Version("0.0.1")
|
||||
class MusicVideoAdsPatch : BytecodePatch(
|
||||
listOf(ShowMusicVideoAdsConstructorFingerprint)
|
||||
) {
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.music.audio.codecs.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.data.toMethodWalker
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -19,7 +18,6 @@ import org.jf.dexlib2.Opcode
|
||||
@Name("Codecs unlock")
|
||||
@Description("Adds more audio codec options. The new audio codecs usually result in better audio quality.")
|
||||
@MusicCompatibility
|
||||
@Version("0.0.1")
|
||||
class CodecsUnlockPatch : BytecodePatch(
|
||||
listOf(
|
||||
CodecsLockFingerprint, AllCodecsReferenceFingerprint
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.music.audio.exclusiveaudio.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction
|
||||
@ -17,7 +16,6 @@ import app.revanced.patches.music.audio.exclusiveaudio.fingerprints.AudioOnlyEna
|
||||
@Name("Exclusive audio playback")
|
||||
@Description("Enables the option to play music without video.")
|
||||
@MusicCompatibility
|
||||
@Version("0.0.1")
|
||||
class ExclusiveAudioPatch : BytecodePatch(
|
||||
listOf(AudioOnlyEnablerFingerprint)
|
||||
) {
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.music.layout.compactheader.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -17,7 +16,6 @@ import org.jf.dexlib2.builder.instruction.BuilderInstruction11x
|
||||
@Name("Compact header")
|
||||
@Description("Hides the music category bar at the top of the homepage.")
|
||||
@MusicCompatibility
|
||||
@Version("0.0.1")
|
||||
class CompactHeaderPatch : BytecodePatch(
|
||||
listOf(CompactHeaderConstructorFingerprint)
|
||||
) {
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.music.layout.minimizedplayback.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -16,7 +15,6 @@ import app.revanced.patches.music.layout.minimizedplayback.fingerprints.Minimize
|
||||
@Name("Minimized playback music")
|
||||
@Description("Enables minimized playback on Kids music.")
|
||||
@MusicCompatibility
|
||||
@Version("0.0.1")
|
||||
class MinimizedPlaybackPatch : BytecodePatch(
|
||||
listOf(MinimizedPlaybackManagerFingerprint)
|
||||
) {
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.music.layout.premium.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction
|
||||
@ -19,7 +18,6 @@ import app.revanced.patches.music.layout.premium.fingerprints.HideGetPremiumPare
|
||||
@Name("Hide get premium")
|
||||
@Description("Removes all \"Get Premium\" evidences from the avatar menu.")
|
||||
@MusicCompatibility
|
||||
@Version("0.0.1")
|
||||
class HideGetPremiumPatch : BytecodePatch(
|
||||
listOf(HideGetPremiumParentFingerprint)
|
||||
) {
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.music.layout.upgradebutton.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -22,7 +21,6 @@ import org.jf.dexlib2.iface.instruction.formats.Instruction35c
|
||||
@Name("Upgrade button remover")
|
||||
@Description("Removes the upgrade tab from the pivot bar.")
|
||||
@MusicCompatibility
|
||||
@Version("0.0.1")
|
||||
class RemoveUpgradeButtonPatch : BytecodePatch(
|
||||
listOf(PivotBarConstructorFingerprint)
|
||||
) {
|
||||
|
@ -3,7 +3,6 @@ package app.revanced.patches.music.misc.androidauto.patch
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -17,7 +16,6 @@ import app.revanced.patches.music.misc.androidauto.fingerprints.CheckCertificate
|
||||
@Name("Bypass certificate checks")
|
||||
@Description("Bypasses certificate checks which prevent YouTube Music from working on Android Auto.")
|
||||
@MusicCompatibility
|
||||
@Version("0.0.1")
|
||||
class BypassCertificateChecksPatch : BytecodePatch(
|
||||
listOf(CheckCertificateFingerprint)
|
||||
) {
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.music.misc.microg.patch.bytecode
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
import app.revanced.patcher.patch.PatchResultSuccess
|
||||
@ -21,7 +20,6 @@ import app.revanced.util.microg.MicroGBytecodeHelper
|
||||
@Name("Vanced MicroG support")
|
||||
@Description("Allows YouTube Music ReVanced to run without root and under a different package name.")
|
||||
@MusicCompatibility
|
||||
@Version("0.0.2")
|
||||
class MicroGBytecodePatch : BytecodePatch(
|
||||
listOf(
|
||||
ServiceCheckFingerprint,
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.music.premium.backgroundplay.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -16,7 +15,6 @@ import app.revanced.patches.music.premium.backgroundplay.fingerprints.Background
|
||||
@Name("Background play")
|
||||
@Description("Enables playing music in the background.")
|
||||
@MusicCompatibility
|
||||
@Version("0.0.1")
|
||||
class BackgroundPlayPatch : BytecodePatch(
|
||||
listOf(BackgroundPlaybackDisableFingerprint)
|
||||
) {
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.myexpenses.misc.pro.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -16,7 +15,6 @@ import app.revanced.patches.myexpenses.misc.pro.fingerprints.IsEnabledFingerprin
|
||||
@Name("Unlock pro")
|
||||
@Description("Unlocks all professional features.")
|
||||
@UnlockProCompatibility
|
||||
@Version("0.0.1")
|
||||
class UnlockProPatch : BytecodePatch(
|
||||
listOf(
|
||||
IsEnabledFingerprint
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.netguard.broadcasts.removerestriction.resource.patc
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.ResourceContext
|
||||
import app.revanced.patcher.patch.PatchResult
|
||||
import app.revanced.patcher.patch.PatchResultSuccess
|
||||
@ -15,7 +14,6 @@ import org.w3c.dom.Element
|
||||
@Name("Remove broadcasts restriction")
|
||||
@Description("Enables starting/stopping NetGuard via broadcasts.")
|
||||
@RemoveBroadcastsRestrictionCompatibility
|
||||
@Version("0.0.1")
|
||||
class RemoveBroadcastsRestrictionPatch : ResourcePatch {
|
||||
override fun execute(context: ResourceContext): PatchResult {
|
||||
context.xmlEditor["AndroidManifest.xml"].use { dom ->
|
||||
|
@ -3,7 +3,6 @@ package app.revanced.patches.nfctoolsse.misc.pro.patch
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -17,7 +16,6 @@ import app.revanced.patches.nfctoolsse.misc.pro.fingerprints.IsLicenseRegistered
|
||||
@Patch
|
||||
@Name("Unlock pro")
|
||||
@Description("Unlocks all pro features.")
|
||||
@Version("0.0.1")
|
||||
@UnlockProCompatibility
|
||||
class UnlockProPatch : BytecodePatch(
|
||||
listOf(
|
||||
|
@ -3,7 +3,6 @@ package app.revanced.patches.nova.prime.patch
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -18,7 +17,6 @@ import org.jf.dexlib2.builder.instruction.BuilderInstruction11x
|
||||
@Name("Unlock prime")
|
||||
@Description("Unlocks Nova Prime and all functions of the app.")
|
||||
@UnlockPrimeCompatibility
|
||||
@Version("0.0.1")
|
||||
class UnlockPrimePatch : BytecodePatch(
|
||||
listOf(
|
||||
UnlockPrimeFingerprint
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.nyx.misc.pro.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -16,7 +15,6 @@ import app.revanced.patches.nyx.misc.pro.fingerprints.CheckProFingerprint
|
||||
@Name("Unlock pro")
|
||||
@Description("Unlocks all pro features.")
|
||||
@UnlockProCompatibility
|
||||
@Version("0.0.1")
|
||||
class UnlockProPatch : BytecodePatch(
|
||||
listOf(
|
||||
CheckProFingerprint
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.photomath.detection.signature.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction
|
||||
@ -13,7 +12,6 @@ import app.revanced.patches.photomath.detection.signature.fingerprints.CheckSign
|
||||
import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
|
||||
@Description("Disables detection of incorrect signature.")
|
||||
@Version("0.0.2")
|
||||
class SignatureDetectionPatch : BytecodePatch(
|
||||
listOf(
|
||||
CheckSignatureFingerprint
|
||||
|
@ -3,7 +3,6 @@ package app.revanced.patches.photomath.misc.unlockplus.patch
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -20,7 +19,6 @@ import app.revanced.patches.photomath.misc.unlockplus.fingerprints.IsPlusUnlocke
|
||||
@DependsOn([SignatureDetectionPatch::class])
|
||||
@Description("Unlocks plus features.")
|
||||
@UnlockPlusCompatibilty
|
||||
@Version("0.0.1")
|
||||
class UnlockPlusPatch : BytecodePatch(
|
||||
listOf(
|
||||
IsPlusUnlockedFingerprint
|
||||
|
@ -14,7 +14,6 @@ import app.revanced.patches.pixiv.ads.fingerprints.IsNotPremiumFingerprint
|
||||
@Name("Hide ads")
|
||||
@Description("Hides ads.")
|
||||
@Compatibility([Package("jp.pxv.android")])
|
||||
@Version("0.0.1")
|
||||
class HideAdsPatch : BytecodePatch(listOf(IsNotPremiumFingerprint)) {
|
||||
override fun execute(context: BytecodeContext): PatchResult {
|
||||
// Always return false in the "isNotPremium" method which normally returns !this.accountManager.isPremium.
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.reddit.ad.banner.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.ResourceContext
|
||||
import app.revanced.patcher.patch.PatchResult
|
||||
import app.revanced.patcher.patch.PatchResultSuccess
|
||||
@ -10,7 +9,6 @@ import app.revanced.patcher.patch.ResourcePatch
|
||||
|
||||
@Name("Hide subreddit banner")
|
||||
@Description("Hides banner ads from comments on subreddits.")
|
||||
@Version("0.0.1")
|
||||
class HideBannerPatch : ResourcePatch {
|
||||
override fun execute(context: ResourceContext): PatchResult {
|
||||
context.xmlEditor[RESOURCE_FILE_PATH].use {
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.reddit.ad.comments.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -12,7 +11,6 @@ import app.revanced.patches.reddit.ad.comments.fingerprints.HideCommentAdsFinger
|
||||
|
||||
@Name("Hide comment ads")
|
||||
@Description("Removes all comment ads.")
|
||||
@Version("0.0.1")
|
||||
class HideCommentAdsPatch : BytecodePatch(
|
||||
listOf(HideCommentAdsFingerprint)
|
||||
) {
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.reddit.ad.general.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.removeInstruction
|
||||
@ -29,7 +28,6 @@ import org.jf.dexlib2.iface.reference.MethodReference
|
||||
@DependsOn([HideBannerPatch::class, HideCommentAdsPatch::class])
|
||||
@HideAdsCompatibility
|
||||
@RequiresIntegrations
|
||||
@Version("0.0.2")
|
||||
class HideAdsPatch : BytecodePatch(
|
||||
listOf(AdPostFingerprint, NewAdPostFingerprint)
|
||||
) {
|
||||
|
@ -17,7 +17,6 @@ import app.revanced.patches.reddit.customclients.syncforreddit.detection.piracy.
|
||||
@DependsOn([DisablePiracyDetectionPatch::class])
|
||||
@Description("Disables ads.")
|
||||
@Compatibility([Package("com.laurencedawson.reddit_sync")])
|
||||
@Version("0.0.1")
|
||||
class DisableAdsPatch : BytecodePatch(listOf(IsAdsEnabledFingerprint)) {
|
||||
override fun execute(context: BytecodeContext): PatchResult {
|
||||
IsAdsEnabledFingerprint.result?.mutableMethod?.apply {
|
||||
|
@ -3,7 +3,6 @@ package app.revanced.patches.reddit.layout.disablescreenshotpopup.patch
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -17,7 +16,6 @@ import app.revanced.patches.reddit.layout.disablescreenshotpopup.fingerprints.Di
|
||||
@Name("Disable screenshot popup")
|
||||
@Description("Disables the popup that shows up when taking a screenshot.")
|
||||
@DisableScreenshotPopupCompatibility
|
||||
@Version("0.0.1")
|
||||
class DisableScreenshotPopupPatch : BytecodePatch(
|
||||
listOf(DisableScreenshotPopupFingerprint)
|
||||
) {
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.reddit.layout.premiumicon.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -16,7 +15,6 @@ import app.revanced.patches.reddit.layout.premiumicon.fingerprints.PremiumIconFi
|
||||
@Name("Premium icon reddit")
|
||||
@Description("Unlocks premium Reddit app icons.")
|
||||
@PremiumIconCompatibility
|
||||
@Version("0.0.1")
|
||||
class PremiumIconPatch : BytecodePatch(
|
||||
listOf(
|
||||
PremiumIconFingerprint
|
||||
|
@ -3,7 +3,6 @@ package app.revanced.patches.reddit.misc.tracking.url.patch
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -17,7 +16,6 @@ import app.revanced.patches.reddit.misc.tracking.url.fingerprints.ShareLinkForma
|
||||
@Name("Sanitize sharing links")
|
||||
@Description("Removes (tracking) query parameters from the URLs when sharing links.")
|
||||
@SanitizeUrlQueryCompatibility
|
||||
@Version("0.0.1")
|
||||
class SanitizeUrlQueryPatch : BytecodePatch(
|
||||
listOf(ShareLinkFormatterFingerprint)
|
||||
) {
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.scbeasy.detection.debugging.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -16,7 +15,6 @@ import app.revanced.patches.scbeasy.detection.debugging.fingerprints.DebuggingDe
|
||||
@Name("Remove debugging detection")
|
||||
@Description("Removes the USB and wireless debugging checks.")
|
||||
@RemoveDebuggingDetectionCompatibility
|
||||
@Version("0.0.1")
|
||||
class RemoveDebuggingDetectionPatch : BytecodePatch(
|
||||
listOf(DebuggingDetectionFingerprint)
|
||||
) {
|
||||
|
@ -1,7 +1,6 @@
|
||||
package app.revanced.patches.shared.integrations.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
|
||||
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
|
||||
@ -15,7 +14,6 @@ import org.jf.dexlib2.iface.ClassDef
|
||||
import org.jf.dexlib2.iface.Method
|
||||
|
||||
@Description("Applies mandatory patches to implement the ReVanced integrations into the application.")
|
||||
@Version("0.0.1")
|
||||
abstract class AbstractIntegrationsPatch(
|
||||
private val integrationsDescriptor: String,
|
||||
private val hooks: Iterable<IntegrationsFingerprint>
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.shared.misc.fix.verticalscroll.patch
|
||||
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
@ -15,7 +14,6 @@ import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
|
||||
@Description("Fixes issues with refreshing the feed when the first component is of type EmptyComponent.")
|
||||
@VerticalScrollCompatibility
|
||||
@Version("0.0.1")
|
||||
class VerticalScrollPatch : BytecodePatch(
|
||||
listOf(CanScrollVerticallyFingerprint)
|
||||
) {
|
||||
|
@ -3,7 +3,6 @@ package app.revanced.patches.songpal.badge.patch
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.removeInstructions
|
||||
@ -18,7 +17,6 @@ import app.revanced.patches.songpal.badge.fingerprints.CreateTabsFingerprint
|
||||
@Name("Remove badge tab")
|
||||
@Description("Removes the badge tab from the activity tab.")
|
||||
@BadgeCompatibility
|
||||
@Version("0.0.1")
|
||||
class BadgeTabPatch : BytecodePatch(
|
||||
listOf(CreateTabsFingerprint)
|
||||
) {
|
||||
|
@ -3,7 +3,6 @@ package app.revanced.patches.songpal.badge.patch
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -17,7 +16,6 @@ import app.revanced.patches.songpal.badge.fingerprints.ShowNotificationFingerpri
|
||||
@Name("Remove notification badge")
|
||||
@Description("Removes the red notification badge from the activity tab.")
|
||||
@BadgeCompatibility
|
||||
@Version("0.0.1")
|
||||
class RemoveNotificationBadgePatch : BytecodePatch(
|
||||
listOf(ShowNotificationFingerprint)
|
||||
) {
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.spotify.layout.theme.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.ResourceContext
|
||||
import app.revanced.patcher.patch.*
|
||||
import app.revanced.patcher.patch.annotations.Patch
|
||||
@ -13,7 +12,6 @@ import org.w3c.dom.Element
|
||||
@Name("Spotify theme")
|
||||
@Description("Applies a custom theme.")
|
||||
@ThemeCompatibility
|
||||
@Version("0.0.1")
|
||||
class ThemePatch : ResourcePatch {
|
||||
override fun execute(context: ResourceContext): PatchResult {
|
||||
context.xmlEditor["res/values/colors.xml"].use { editor ->
|
||||
|
@ -3,7 +3,6 @@ package app.revanced.patches.spotify.lite.ondemand.patch
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -17,7 +16,6 @@ import app.revanced.patches.spotify.lite.ondemand.fingerprints.OnDemandFingerpri
|
||||
@Name("Enable on demand")
|
||||
@Description("Enables listening to songs on-demand, allowing to play any song from playlists, albums or artists without limitations. This does not remove ads.")
|
||||
@OnDemandCompatibility
|
||||
@Version("0.0.1")
|
||||
class OnDemandPatch : BytecodePatch(
|
||||
listOf(
|
||||
OnDemandFingerprint
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.spotify.premium_navbar_tab.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.removeInstruction
|
||||
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint.Companion.resolve
|
||||
@ -22,7 +21,6 @@ import org.jf.dexlib2.iface.instruction.WideLiteralInstruction
|
||||
@Name("Hide premium navbar")
|
||||
@Description("Removes the premium tab from the navbar.")
|
||||
@PremiumNavbarTabCompatibility
|
||||
@Version("0.0.1")
|
||||
@DependsOn([ResourceMappingPatch::class])
|
||||
class PremiumNavbarTabPatch : BytecodePatch(
|
||||
listOf(
|
||||
|
@ -3,7 +3,6 @@ package app.revanced.patches.tasker.trial.unlock.patch
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -16,7 +15,6 @@ import app.revanced.patches.tasker.trial.unlock.fingerprints.CheckLicenseFingerp
|
||||
@Name("Unlock trial")
|
||||
@Description("Unlocks the trial version.")
|
||||
@UnlockTrialCompatibility
|
||||
@Version("0.0.1")
|
||||
class UnlockLicensePatch : BytecodePatch(
|
||||
listOf(
|
||||
CheckLicenseFingerprint
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.ticktick.misc.themeunlock.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.removeInstructions
|
||||
@ -18,7 +17,6 @@ import app.revanced.patches.ticktick.misc.themeunlock.fingerprints.SetThemeFinge
|
||||
@Name("Unlock themes")
|
||||
@Description("Unlocks all themes that are inaccessible until a certain level is reached.")
|
||||
@UnlockThemesCompatibility
|
||||
@Version("0.0.1")
|
||||
class UnlockProPatch : BytecodePatch(
|
||||
listOf(
|
||||
CheckLockedThemesFingerprint,
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.tiktok.ad.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -22,7 +21,6 @@ import org.jf.dexlib2.iface.reference.FieldReference
|
||||
@Name("Hide ads")
|
||||
@Description("Removes ads from TikTok.")
|
||||
@HideAdsCompatibility
|
||||
@Version("0.0.1")
|
||||
class HideAdsPatch : BytecodePatch(
|
||||
listOf(
|
||||
FeedItemListCloneFingerprint,
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.tiktok.feedfilter.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -23,7 +22,6 @@ import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
@Name("Feed filter")
|
||||
@Description("Filters tiktok videos: removing ads, removing livestreams.")
|
||||
@FeedFilterCompatibility
|
||||
@Version("0.0.1")
|
||||
class FeedFilterPatch : BytecodePatch(
|
||||
listOf(
|
||||
FeedApiServiceLIZFingerprint,
|
||||
|
@ -1,7 +1,6 @@
|
||||
package app.revanced.patches.tiktok.interaction.downloads.fingerprints
|
||||
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.extensions.or
|
||||
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
|
||||
import app.revanced.patches.tiktok.interaction.downloads.annotations.DownloadsCompatibility
|
||||
@ -9,7 +8,6 @@ import org.jf.dexlib2.AccessFlags
|
||||
|
||||
@Name("Acl common share get show type")
|
||||
@DownloadsCompatibility
|
||||
@Version("0.0.1")
|
||||
object ACLCommonShareFingerprint2 : MethodFingerprint(
|
||||
"I",
|
||||
AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||
|
@ -1,7 +1,6 @@
|
||||
package app.revanced.patches.tiktok.interaction.downloads.fingerprints
|
||||
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.extensions.or
|
||||
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
|
||||
import app.revanced.patches.tiktok.interaction.downloads.annotations.DownloadsCompatibility
|
||||
@ -9,7 +8,6 @@ import org.jf.dexlib2.AccessFlags
|
||||
|
||||
@Name("Acl common share get transcode")
|
||||
@DownloadsCompatibility
|
||||
@Version("0.0.1")
|
||||
object ACLCommonShareFingerprint3 : MethodFingerprint(
|
||||
"I",
|
||||
AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.tiktok.interaction.downloads.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.data.toMethodWalker
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
|
||||
@ -35,7 +34,6 @@ import org.jf.dexlib2.iface.reference.StringReference
|
||||
@Name("Downloads")
|
||||
@Description("Removes download restrictions and changes the default path to download to.")
|
||||
@DownloadsCompatibility
|
||||
@Version("0.0.1")
|
||||
class DownloadsPatch : BytecodePatch(
|
||||
listOf(
|
||||
ACLCommonShareFingerprint,
|
||||
|
@ -3,7 +3,6 @@ package app.revanced.patches.tiktok.interaction.seekbar.patch
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
@ -19,7 +18,6 @@ import org.jf.dexlib2.iface.instruction.formats.Instruction22t
|
||||
@Name("Show seekbar")
|
||||
@Description("Shows progress bar for all video.")
|
||||
@ShowSeekbarCompatibility
|
||||
@Version("0.0.1")
|
||||
class ShowSeekbarPatch : BytecodePatch(
|
||||
listOf(
|
||||
SetSeekBarShowTypeFingerprint,
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.tiktok.interaction.speed.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.data.toMethodWalker
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
@ -19,7 +18,6 @@ import org.jf.dexlib2.Opcode
|
||||
@Name("Playback speed")
|
||||
@Description("Enables the playback speed option for all videos.")
|
||||
@PlaybackSpeedCompatibility
|
||||
@Version("0.0.1")
|
||||
class PlaybackSpeedPatch : BytecodePatch(
|
||||
listOf(
|
||||
SpeedControlParentFingerprint
|
||||
|
@ -1,13 +1,11 @@
|
||||
package app.revanced.patches.tiktok.misc.login.disablerequirement.fingerprints
|
||||
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
|
||||
import app.revanced.patches.tiktok.misc.login.disablerequirement.annotations.DisableLoginRequirementCompatibility
|
||||
|
||||
@Name("Mandatory login service fingerprint2")
|
||||
@DisableLoginRequirementCompatibility
|
||||
@Version("0.0.1")
|
||||
object MandatoryLoginServiceFingerprint2 : MethodFingerprint(
|
||||
customFingerprint = { methodDef, _ ->
|
||||
methodDef.definingClass.endsWith("/MandatoryLoginService;") &&
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.tiktok.misc.login.disablerequirement.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -17,7 +16,6 @@ import app.revanced.patches.tiktok.misc.login.disablerequirement.fingerprints.Ma
|
||||
@Name("Disable login requirement")
|
||||
@Description("Do not force login.")
|
||||
@DisableLoginRequirementCompatibility
|
||||
@Version("0.0.1")
|
||||
class DisableLoginRequirementPatch : BytecodePatch(
|
||||
listOf(
|
||||
MandatoryLoginServiceFingerprint,
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.tiktok.misc.login.fixgoogle.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -17,7 +16,6 @@ import app.revanced.patches.tiktok.misc.login.fixgoogle.fingerprints.GoogleOneTa
|
||||
@Name("Fix google login")
|
||||
@Description("Allows logging in with a Google account.")
|
||||
@FixGoogleLoginCompatibility
|
||||
@Version("0.0.1")
|
||||
class FixGoogleLoginPatch : BytecodePatch(
|
||||
listOf(
|
||||
GoogleOneTapAuthAvailableFingerprint,
|
||||
|
@ -3,7 +3,6 @@ package app.revanced.patches.tiktok.misc.settings.patch
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels
|
||||
@ -26,7 +25,6 @@ import org.jf.dexlib2.iface.instruction.formats.Instruction35c
|
||||
@Name("Settings")
|
||||
@Description("Adds ReVanced settings to TikTok.")
|
||||
@SettingsCompatibility
|
||||
@Version("0.0.1")
|
||||
class SettingsPatch : BytecodePatch(
|
||||
listOf(
|
||||
AdPersonalizationActivityOnCreateFingerprint,
|
||||
|
@ -3,7 +3,6 @@ package app.revanced.patches.tiktok.misc.spoof.sim.patch
|
||||
import app.revanced.extensions.findMutableMethodOf
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
@ -28,7 +27,6 @@ import org.jf.dexlib2.iface.reference.MethodReference
|
||||
@Name("Sim spoof")
|
||||
@Description("Spoofs the information which is retrieved from the sim-card.")
|
||||
@SpoofSimCompatibility
|
||||
@Version("0.0.1")
|
||||
class SpoofSimPatch : BytecodePatch() {
|
||||
private companion object {
|
||||
val replacements = hashMapOf(
|
||||
|
@ -3,7 +3,6 @@ package app.revanced.patches.trakt.patch
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint.Companion.resolve
|
||||
@ -20,7 +19,6 @@ import app.revanced.patches.trakt.fingerprints.RemoteUserFingerprint
|
||||
@Name("Unlock pro")
|
||||
@Description("Unlocks pro features.")
|
||||
@UnlockProCompatibility
|
||||
@Version("0.0.1")
|
||||
class UnlockProPatch : BytecodePatch(
|
||||
listOf(RemoteUserFingerprint)
|
||||
) {
|
||||
|
@ -1,5 +1,3 @@
|
||||
package app.revanced.patches.twelvewidgets.unlock.fingerprints
|
||||
|
||||
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
|
||||
|
||||
object AgendaDaysWidgetUnlockFingerprint : MethodUnlockFingerprint("AgendaDaysWidgetConfigureActivity")
|
||||
|
@ -1,5 +1,3 @@
|
||||
package app.revanced.patches.twelvewidgets.unlock.fingerprints
|
||||
|
||||
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
|
||||
|
||||
object CalendarBigWidgetUnlockFingerprint : MethodUnlockFingerprint("CalendarBigWidgetConfigureActivity")
|
||||
|
@ -1,6 +1,4 @@
|
||||
package app.revanced.patches.twelvewidgets.unlock.fingerprints
|
||||
|
||||
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
|
||||
|
||||
object CalendarWideTimelineWidgetUnlockFingerprint :
|
||||
MethodUnlockFingerprint("CalendarWideTimelineWidgetConfigureActivity")
|
||||
|
@ -1,5 +1,3 @@
|
||||
package app.revanced.patches.twelvewidgets.unlock.fingerprints
|
||||
|
||||
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
|
||||
|
||||
object ScreentimeSmallWidgetUnlockFingerprint : MethodUnlockFingerprint("ScreentimeSmallWidgetConfigureActivity")
|
||||
|
@ -15,7 +15,6 @@ import app.revanced.patches.twelvewidgets.unlock.fingerprints.*
|
||||
@Name("Unlock paid widgets")
|
||||
@Description("Unlocks paid widgets of the app")
|
||||
@Compatibility([Package("com.dci.dev.androidtwelvewidgets")])
|
||||
@Version("0.0.1")
|
||||
class UnlockPaidWidgetsPatch : BytecodePatch(
|
||||
listOf(
|
||||
AgendaDaysWidgetUnlockFingerprint,
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.twitch.ad.audio.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
@ -24,7 +23,6 @@ import app.revanced.patches.twitch.misc.settings.bytecode.patch.SettingsPatch
|
||||
@Name("Block audio ads")
|
||||
@Description("Blocks audio ads in streams and VODs.")
|
||||
@AudioAdsCompatibility
|
||||
@Version("0.0.1")
|
||||
class AudioAdsPatch : BytecodePatch(
|
||||
listOf(AudioAdsPresenterPlayFingerprint)
|
||||
) {
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.twitch.ad.embedded.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.MethodFingerprintExtensions.name
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
@ -26,7 +25,6 @@ import app.revanced.patches.twitch.misc.settings.bytecode.patch.SettingsPatch
|
||||
@Name("Block embedded ads")
|
||||
@Description("Blocks embedded stream ads using services like TTV.lol or PurpleAdBlocker.")
|
||||
@EmbeddedAdsCompatibility
|
||||
@Version("0.0.1")
|
||||
class EmbeddedAdsPatch : BytecodePatch(
|
||||
listOf(CreateUsherClientFingerprint)
|
||||
) {
|
||||
|
@ -3,7 +3,6 @@ package app.revanced.patches.twitch.ad.video.patch
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels
|
||||
@ -28,7 +27,6 @@ import app.revanced.patches.twitch.misc.settings.bytecode.patch.SettingsPatch
|
||||
@Name("Block video ads")
|
||||
@Description("Blocks video ads in streams and VODs.")
|
||||
@VideoAdsCompatibility
|
||||
@Version("0.0.1")
|
||||
class VideoAdsPatch : AbstractAdPatch(
|
||||
"Lapp/revanced/twitch/patches/VideoAdsPatch;->shouldBlockVideoAds()Z",
|
||||
"show_video_ads",
|
||||
|
@ -3,7 +3,6 @@ package app.revanced.patches.twitch.chat.antidelete.patch
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstruction
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels
|
||||
@ -29,7 +28,6 @@ import app.revanced.patches.twitch.misc.settings.bytecode.patch.SettingsPatch
|
||||
@Name("Show deleted messages")
|
||||
@Description("Shows deleted chat messages behind a clickable spoiler.")
|
||||
@ShowDeletedMessagesCompatibility
|
||||
@Version("0.0.1")
|
||||
class ShowDeletedMessagesPatch : BytecodePatch(
|
||||
listOf(
|
||||
SetHasModAccessFingerprint,
|
||||
|
@ -3,7 +3,6 @@ package app.revanced.patches.twitch.chat.autoclaim.patch
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
@ -24,7 +23,6 @@ import app.revanced.patches.twitch.misc.settings.bytecode.patch.SettingsPatch
|
||||
@Name("Auto claim channel points")
|
||||
@Description("Automatically claim Channel Points.")
|
||||
@AutoClaimChannelPointsCompatibility
|
||||
@Version("0.0.1")
|
||||
class AutoClaimChannelPointPatch : BytecodePatch(
|
||||
listOf(CommunityPointsButtonViewDelegateFingerprint)
|
||||
) {
|
||||
|
@ -3,7 +3,6 @@ package app.revanced.patches.twitch.debug.patch
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -25,7 +24,6 @@ import app.revanced.patches.twitch.misc.settings.bytecode.patch.SettingsPatch
|
||||
@Name("Debug mode")
|
||||
@Description("Enables Twitch's internal debugging mode.")
|
||||
@DebugModeCompatibility
|
||||
@Version("0.0.1")
|
||||
class DebugModePatch : BytecodePatch(
|
||||
listOf(
|
||||
IsDebugConfigEnabledFingerprint,
|
||||
|
@ -1,13 +1,11 @@
|
||||
package app.revanced.patches.twitch.misc.integrations.fingerprints
|
||||
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patches.twitch.misc.integrations.annotations.IntegrationsCompatibility
|
||||
import app.revanced.patches.shared.integrations.patch.AbstractIntegrationsPatch.IntegrationsFingerprint
|
||||
|
||||
@Name("Init fingerprint")
|
||||
@IntegrationsCompatibility
|
||||
@Version("0.0.1")
|
||||
object InitFingerprint : IntegrationsFingerprint(
|
||||
customFingerprint = { methodDef, _ ->
|
||||
methodDef.definingClass.endsWith("/TwitchApplication;") &&
|
||||
|
@ -3,7 +3,6 @@ package app.revanced.patches.twitch.misc.settings.bytecode.patch
|
||||
import app.revanced.extensions.toErrorResult
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructionsWithLabels
|
||||
@ -36,7 +35,6 @@ import java.io.Closeable
|
||||
@Name("Settings")
|
||||
@Description("Adds settings menu to Twitch.")
|
||||
@SettingsCompatibility
|
||||
@Version("0.0.1")
|
||||
class SettingsPatch : BytecodePatch(
|
||||
listOf(
|
||||
SettingsActivityOnCreateFingerprint,
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.twitter.misc.dynamiccolor.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.ResourceContext
|
||||
import app.revanced.patcher.patch.PatchResult
|
||||
import app.revanced.patcher.patch.PatchResultError
|
||||
@ -17,7 +16,6 @@ import java.nio.file.Files
|
||||
@Name("Dynamic color")
|
||||
@Description("Replaces the default Twitter Blue with the users Material You palette.")
|
||||
@DynamicColorCompatibility
|
||||
@Version("0.0.1")
|
||||
class DynamicColorPatch : ResourcePatch {
|
||||
override fun execute(context: ResourceContext): PatchResult {
|
||||
val resDirectory = context["res"]
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.twitter.misc.hook.json.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.removeInstructions
|
||||
@ -21,7 +20,6 @@ import java.io.InvalidClassException
|
||||
|
||||
@Name("Json hook")
|
||||
@Description("Hooks the stream which reads JSON responses.")
|
||||
@Version("0.0.1")
|
||||
@RequiresIntegrations
|
||||
class JsonHookPatch : BytecodePatch(
|
||||
listOf(LoganSquareFingerprint)
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.twitter.misc.hook.patch.ads.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.patch.annotations.DependsOn
|
||||
import app.revanced.patcher.patch.annotations.Patch
|
||||
import app.revanced.patches.twitter.misc.hook.json.patch.JsonHookPatch
|
||||
@ -14,5 +13,4 @@ import app.revanced.patches.twitter.misc.hook.patch.ads.annotations.HideAdsCompa
|
||||
@DependsOn([JsonHookPatch::class])
|
||||
@Description("Hides ads.")
|
||||
@HideAdsCompatibility
|
||||
@Version("0.0.1")
|
||||
class HideAdsPatch : BaseHookPatchPatch("Lapp/revanced/twitter/patches/hook/patch/ads/AdsHook;")
|
@ -2,7 +2,6 @@ package app.revanced.patches.twitter.misc.hook.patch.recommendation.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.patch.annotations.DependsOn
|
||||
import app.revanced.patcher.patch.annotations.Patch
|
||||
import app.revanced.patches.twitter.misc.hook.json.patch.JsonHookPatch
|
||||
@ -14,7 +13,6 @@ import app.revanced.patches.twitter.misc.hook.patch.recommendation.annotations.H
|
||||
@DependsOn([JsonHookPatch::class])
|
||||
@Description("Hides recommended users.")
|
||||
@HideRecommendedUsersCompatibility
|
||||
@Version("0.0.1")
|
||||
class HideRecommendedUsersPatch : BaseHookPatchPatch(
|
||||
"Lapp/revanced/twitter/patches/hook/patch/recommendation/RecommendedUsersHook;"
|
||||
)
|
@ -15,7 +15,6 @@ import app.revanced.patches.vsco.misc.pro.fingerprints.RevCatSubscriptionFingerp
|
||||
@Name("Unlock pro")
|
||||
@Description("Unlocks pro features.")
|
||||
@Compatibility([Package("com.vsco.cam")])
|
||||
@Version("0.0.1")
|
||||
class UnlockProPatch : BytecodePatch(
|
||||
listOf(RevCatSubscriptionFingerprint)
|
||||
) {
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.warnwetter.misc.firebasegetcert.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -15,7 +14,6 @@ import app.revanced.patches.warnwetter.misc.firebasegetcert.fingerprints.GetReqi
|
||||
@Name("Spoof cert patch")
|
||||
@Description("Spoofs the X-Android-Cert header.")
|
||||
@FirebaseGetCertPatchCompatibility
|
||||
@Version("0.0.1")
|
||||
class FirebaseGetCertPatch : BytecodePatch(
|
||||
listOf(
|
||||
GetReqistrationCertFingerprint,
|
||||
|
@ -2,7 +2,6 @@ package app.revanced.patches.warnwetter.misc.promocode.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
@ -23,7 +22,6 @@ import app.revanced.patches.warnwetter.misc.promocode.fingerprints.PromoCodeUnlo
|
||||
@Name("Promo code unlock")
|
||||
@Description("Disables the validation of promo code. Any code will work to unlock all features.")
|
||||
@PromoCodeUnlockCompatibility
|
||||
@Version("0.0.1")
|
||||
class PromoCodeUnlockPatch : BytecodePatch(
|
||||
listOf(
|
||||
PromoCodeUnlockFingerprint
|
||||
|
@ -1,4 +1,4 @@
|
||||
package app.revanced.patches.windyapp.misc.pro.annotations
|
||||
package app.revanced.patches.windyapp.misc.unlockpro.annotations
|
||||
|
||||
import app.revanced.patcher.annotation.Compatibility
|
||||
import app.revanced.patcher.annotation.Package
|
||||
|
@ -1,4 +1,4 @@
|
||||
package app.revanced.patches.windyapp.misc.pro.fingerprints
|
||||
package app.revanced.patches.windyapp.misc.unlockpro.fingerprints
|
||||
|
||||
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
|
||||
|
||||
|
@ -1,22 +1,20 @@
|
||||
package app.revanced.patches.windyapp.misc.pro.patch
|
||||
package app.revanced.patches.windyapp.misc.unlockpro.patch
|
||||
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
import app.revanced.patcher.patch.PatchResult
|
||||
import app.revanced.patcher.patch.PatchResultSuccess
|
||||
import app.revanced.patcher.patch.annotations.Patch
|
||||
import app.revanced.patches.windyapp.misc.pro.annotations.UnlockProCompatibility
|
||||
import app.revanced.patches.windyapp.misc.pro.fingerprints.CheckProFingerprint
|
||||
import app.revanced.patches.windyapp.misc.unlockpro.annotations.UnlockProCompatibility
|
||||
import app.revanced.patches.windyapp.misc.unlockpro.fingerprints.CheckProFingerprint
|
||||
|
||||
@Patch
|
||||
@Name("Unlock pro")
|
||||
@Description("Unlocks all pro features.")
|
||||
@UnlockProCompatibility
|
||||
@Version("0.0.1")
|
||||
class UnlockProPatch : BytecodePatch(
|
||||
listOf(
|
||||
CheckProFingerprint
|
||||
|
@ -4,7 +4,6 @@ import app.revanced.extensions.findMutableMethodOf
|
||||
import app.revanced.extensions.injectHideViewCall
|
||||
import app.revanced.patcher.annotation.Description
|
||||
import app.revanced.patcher.annotation.Name
|
||||
import app.revanced.patcher.annotation.Version
|
||||
import app.revanced.patcher.data.BytecodeContext
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
import app.revanced.patcher.patch.PatchResult
|
||||
@ -32,7 +31,6 @@ import org.jf.dexlib2.iface.instruction.formats.Instruction35c
|
||||
@Name("Hide ads")
|
||||
@Description("Removes general ads.")
|
||||
@HideAdsCompatibility
|
||||
@Version("0.0.1")
|
||||
class HideAdsPatch : BytecodePatch() {
|
||||
override fun execute(context: BytecodeContext): PatchResult {
|
||||
context.classes.forEach { classDef ->
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user