mirror of
https://github.com/revanced/revanced-patches
synced 2024-12-03 15:12:56 +01:00
feat(irplus): remove-ads
patch (#1554)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
This commit is contained in:
parent
184b403df3
commit
9943a520d2
@ -0,0 +1,9 @@
|
|||||||
|
package app.revanced.patches.irplus.ad.annotations
|
||||||
|
|
||||||
|
import app.revanced.patcher.annotation.Compatibility
|
||||||
|
import app.revanced.patcher.annotation.Package
|
||||||
|
|
||||||
|
@Compatibility([Package("net.binarymode.android.irplus")])
|
||||||
|
@Target(AnnotationTarget.CLASS)
|
||||||
|
@Retention(AnnotationRetention.RUNTIME)
|
||||||
|
internal annotation class IrplusAdsCompatibility
|
@ -0,0 +1,12 @@
|
|||||||
|
package app.revanced.patches.irplus.ad.fingerprints
|
||||||
|
|
||||||
|
import app.revanced.patcher.extensions.or
|
||||||
|
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
|
||||||
|
import org.jf.dexlib2.AccessFlags
|
||||||
|
|
||||||
|
object IrplusAdsFingerprint : MethodFingerprint(
|
||||||
|
"V",
|
||||||
|
AccessFlags.PUBLIC or AccessFlags.CONSTRUCTOR,
|
||||||
|
listOf("L", "Z"),
|
||||||
|
strings = listOf("TAGGED")
|
||||||
|
)
|
@ -0,0 +1,33 @@
|
|||||||
|
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.addInstruction
|
||||||
|
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.irplus.ad.annotations.IrplusAdsCompatibility
|
||||||
|
import app.revanced.patches.irplus.ad.fingerprints.IrplusAdsFingerprint
|
||||||
|
|
||||||
|
|
||||||
|
@Patch
|
||||||
|
@Name("remove-ads")
|
||||||
|
@Description("Removes all ads from the app.")
|
||||||
|
@IrplusAdsCompatibility
|
||||||
|
@Version("0.0.1")
|
||||||
|
class IrplusAdsPatch : BytecodePatch(
|
||||||
|
listOf(IrplusAdsFingerprint)
|
||||||
|
) {
|
||||||
|
override fun execute(context: BytecodeContext): PatchResult {
|
||||||
|
val method = IrplusAdsFingerprint.result!!.mutableMethod
|
||||||
|
|
||||||
|
// By overwriting the second parameter of the method,
|
||||||
|
// the view which holds the advertisement is removed.
|
||||||
|
method.addInstruction(0, "const/4 p2, 0x0")
|
||||||
|
|
||||||
|
return PatchResultSuccess()
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user