mirror of
https://github.com/inotia00/revanced-patches.git
synced 2025-04-29 22:24:31 +02:00
feat(YouTube): add support version v18.38.44
, v18.39.41
This commit is contained in:
parent
d303dd4ab0
commit
88dedec168
@ -32,7 +32,9 @@ Example:
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
}
|
||||
],
|
||||
|
@ -41,7 +41,9 @@ import org.w3c.dom.Element
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -26,7 +26,9 @@ import app.revanced.util.integrations.Constants.ADS_PATH
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -36,7 +36,9 @@ import app.revanced.util.resources.ResourceUtils.copyXmlNode
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -30,7 +30,9 @@ import app.revanced.util.integrations.Constants.PATCHES_PATH
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -30,7 +30,9 @@ import app.revanced.util.integrations.Constants.PATCHES_PATH
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -41,7 +41,9 @@ import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -41,7 +41,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -45,7 +45,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -40,7 +40,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -36,7 +36,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -35,7 +35,9 @@ import app.revanced.util.integrations.Constants.FULLSCREEN
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -47,7 +47,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.formats.Instruction35c
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -35,7 +35,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
],
|
||||
|
@ -32,7 +32,9 @@ import app.revanced.util.integrations.Constants.PATCHES_PATH
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -37,7 +37,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.FiveRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -41,7 +41,9 @@ import app.revanced.util.integrations.Constants.GENERAL
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -31,7 +31,9 @@ import app.revanced.util.integrations.Constants.GENERAL
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -39,7 +39,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -35,7 +35,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -35,7 +35,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -30,7 +30,9 @@ import app.revanced.util.integrations.Constants.PATCHES_PATH
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -35,7 +35,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -38,7 +38,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -37,7 +37,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -35,7 +35,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -31,7 +31,9 @@ import app.revanced.util.integrations.Constants.PATCHES_PATH
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -33,7 +33,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -35,7 +35,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -19,7 +19,9 @@ import app.revanced.util.bytecode.getStringIndex
|
||||
import app.revanced.util.integrations.Constants.GENERAL
|
||||
import app.revanced.util.integrations.Constants.PATCHES_PATH
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
|
||||
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
||||
|
||||
@Patch(
|
||||
name = "Hide mix playlists",
|
||||
@ -43,7 +45,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
@ -108,6 +112,7 @@ object MixPlaylistsPatch : BytecodePatch(
|
||||
|
||||
val insertIndex = methodInstructions.indexOfFirst { instruction ->
|
||||
instruction.opcode == Opcode.INVOKE_INTERFACE
|
||||
&& (instruction as? ReferenceInstruction)?.reference.toString().contains("[B")
|
||||
}
|
||||
val freeIndex = it.scanResult.patternScanResult!!.startIndex - 1
|
||||
|
||||
|
@ -31,7 +31,9 @@ import app.revanced.util.integrations.Constants.GENERAL
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -40,7 +40,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -43,7 +43,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -33,7 +33,9 @@ import app.revanced.util.integrations.Constants.GENERAL
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -40,7 +40,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -37,7 +37,9 @@ import app.revanced.util.integrations.Constants.GENERAL
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -27,7 +27,9 @@ import app.revanced.util.resources.ResourceHelper.updatePatchStatusIcon
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
],
|
||||
|
@ -27,7 +27,9 @@ import app.revanced.util.resources.ResourceHelper.updatePatchStatusIcon
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -27,7 +27,9 @@ import app.revanced.util.resources.ResourceHelper.updatePatchStatusIcon
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
],
|
||||
|
@ -31,7 +31,9 @@ import app.revanced.util.resources.ResourceHelper.updatePatchStatusLabel
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -25,7 +25,9 @@ import app.revanced.patches.youtube.utils.settings.SettingsPatch
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
],
|
||||
|
@ -30,7 +30,9 @@ import app.revanced.util.resources.ResourceUtils.copyResources
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -27,7 +27,9 @@ import org.w3c.dom.Element
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
],
|
||||
|
@ -29,7 +29,9 @@ import kotlin.io.path.exists
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
],
|
||||
|
@ -34,7 +34,9 @@ import app.revanced.util.resources.ResourceUtils.copyXmlNode
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
],
|
||||
|
@ -33,7 +33,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -27,7 +27,9 @@ import kotlin.io.path.exists
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
],
|
||||
|
@ -33,7 +33,9 @@ import org.w3c.dom.Element
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -32,7 +32,9 @@ import app.revanced.patches.youtube.utils.settings.SettingsPatch
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -35,7 +35,9 @@ import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -26,7 +26,9 @@ import app.revanced.util.integrations.Constants.MISC_PATH
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -44,7 +44,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -25,7 +25,9 @@ import app.revanced.patches.youtube.utils.settings.SettingsPatch
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
],
|
||||
|
@ -34,7 +34,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -32,7 +32,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -38,7 +38,9 @@ import com.android.tools.smali.dexlib2.Opcode
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -42,7 +42,9 @@ import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -32,7 +32,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.formats.Instruction35c
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -30,7 +30,9 @@ import app.revanced.util.integrations.Constants.MISC_PATH
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -42,7 +42,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -28,7 +28,9 @@ import app.revanced.util.resources.ResourceUtils.copyXmlNode
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -26,7 +26,9 @@ import app.revanced.util.resources.ResourceHelper.addTranslations
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -33,7 +33,9 @@ import app.revanced.util.integrations.Constants.NAVIGATION
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -32,7 +32,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -13,7 +13,9 @@ import app.revanced.patches.youtube.navigation.navigationbuttons.fingerprints.Pi
|
||||
import app.revanced.patches.youtube.navigation.navigationbuttons.fingerprints.PivotBarShortsButtonViewFingerprint
|
||||
import app.revanced.patches.youtube.utils.fingerprints.PivotBarCreateButtonViewFingerprint
|
||||
import app.revanced.patches.youtube.utils.resourceid.SharedResourceIdPatch
|
||||
import app.revanced.patches.youtube.utils.resourceid.SharedResourceIdPatch.ImageOnlyTab
|
||||
import app.revanced.patches.youtube.utils.settings.SettingsPatch
|
||||
import app.revanced.util.bytecode.getWideLiteralIndex
|
||||
import app.revanced.util.integrations.Constants.NAVIGATION
|
||||
import app.revanced.util.pivotbar.InjectionUtils.REGISTER_TEMPLATE_REPLACEMENT
|
||||
import app.revanced.util.pivotbar.InjectionUtils.injectHook
|
||||
@ -42,7 +44,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
@ -94,12 +98,12 @@ object NavigationButtonsPatch : BytecodePatch(
|
||||
*/
|
||||
parentResult.mutableMethod.apply {
|
||||
val insertIndex = implementation!!.instructions.let {
|
||||
val scanStart = parentResult.scanResult.patternScanResult!!.endIndex
|
||||
val scanStart = getWideLiteralIndex(ImageOnlyTab)
|
||||
|
||||
scanStart + it.subList(scanStart, it.size - 1).indexOfFirst { instruction ->
|
||||
instruction.opcode == Opcode.INVOKE_STATIC
|
||||
instruction.opcode == Opcode.INVOKE_VIRTUAL
|
||||
}
|
||||
}
|
||||
} + 2
|
||||
injectHook(CREATE_BUTTON_HOOK, insertIndex)
|
||||
}
|
||||
|
||||
|
@ -33,7 +33,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -49,7 +49,9 @@ import org.w3c.dom.Element
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -40,7 +40,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -36,7 +36,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -29,7 +29,9 @@ import app.revanced.util.integrations.Constants.PLAYER
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -30,7 +30,9 @@ import app.revanced.patches.youtube.utils.settings.SettingsPatch
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -37,7 +37,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -50,7 +50,9 @@ import com.android.tools.smali.dexlib2.iface.reference.MethodReference
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -38,7 +38,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -36,7 +36,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -35,7 +35,9 @@ import app.revanced.util.integrations.Constants.PLAYER
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -33,7 +33,9 @@ import app.revanced.util.integrations.Constants.INTEGRATIONS_PATH
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -3,5 +3,8 @@ package app.revanced.patches.youtube.player.playerbuttonbg.fingerprints
|
||||
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
|
||||
|
||||
object PlayerPatchFingerprint : MethodFingerprint(
|
||||
customFingerprint = { methodDef, _ -> methodDef.definingClass == "Lapp/revanced/integrations/patches/layout/PlayerPatch;" && methodDef.name == "hidePlayerButton" }
|
||||
customFingerprint = { methodDef, _ ->
|
||||
methodDef.definingClass == "Lapp/revanced/integrations/patches/layout/PlayerPatch;"
|
||||
&& methodDef.name == "hidePlayerButton"
|
||||
}
|
||||
)
|
@ -39,7 +39,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -29,7 +29,9 @@ import app.revanced.patches.youtube.utils.settings.SettingsPatch
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -35,7 +35,9 @@ import app.revanced.util.integrations.Constants.PLAYER
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -9,6 +9,7 @@ import app.revanced.patcher.patch.BytecodePatch
|
||||
import app.revanced.patcher.patch.annotation.CompatiblePackage
|
||||
import app.revanced.patcher.patch.annotation.Patch
|
||||
import app.revanced.patches.youtube.player.speedoverlay.fingerprints.SpeedOverlayConfigFingerprint
|
||||
import app.revanced.patches.youtube.player.speedoverlay.fingerprints.SpeedOverlayHookAlternativeFingerprint
|
||||
import app.revanced.patches.youtube.player.speedoverlay.fingerprints.SpeedOverlayHookFingerprint
|
||||
import app.revanced.patches.youtube.player.speedoverlay.fingerprints.YouTubeTextViewFingerprint
|
||||
import app.revanced.patches.youtube.utils.resourceid.SharedResourceIdPatch
|
||||
@ -42,7 +43,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.formats.Instruction35c
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
@ -51,6 +54,7 @@ import com.android.tools.smali.dexlib2.iface.instruction.formats.Instruction35c
|
||||
object SpeedOverlayPatch : BytecodePatch(
|
||||
setOf(
|
||||
SpeedOverlayConfigFingerprint,
|
||||
SpeedOverlayHookAlternativeFingerprint,
|
||||
SpeedOverlayHookFingerprint,
|
||||
YouTubeTextViewFingerprint
|
||||
)
|
||||
@ -71,7 +75,12 @@ object SpeedOverlayPatch : BytecodePatch(
|
||||
}
|
||||
} ?: throw SpeedOverlayConfigFingerprint.exception
|
||||
|
||||
SpeedOverlayHookFingerprint.result?.let {
|
||||
val speedOverlayHookResult =
|
||||
SpeedOverlayHookFingerprint.result
|
||||
?: SpeedOverlayHookAlternativeFingerprint.result
|
||||
?: throw SpeedOverlayHookFingerprint.exception
|
||||
|
||||
speedOverlayHookResult.let {
|
||||
it.mutableMethod.apply {
|
||||
val insertIndex = implementation!!.instructions.indexOfFirst { instruction ->
|
||||
instruction.opcode == Opcode.CMPL_FLOAT
|
||||
@ -80,12 +89,12 @@ object SpeedOverlayPatch : BytecodePatch(
|
||||
|
||||
addInstructions(
|
||||
insertIndex, """
|
||||
invoke-static {v$insertRegister}, $INTEGRATIONS_CLASS_DESCRIPTOR->getSpeed(F)F
|
||||
move-result v$insertRegister
|
||||
"""
|
||||
invoke-static {v$insertRegister}, $INTEGRATIONS_CLASS_DESCRIPTOR->getSpeed(F)F
|
||||
move-result v$insertRegister
|
||||
"""
|
||||
)
|
||||
}
|
||||
} ?: throw SpeedOverlayHookFingerprint.exception
|
||||
}
|
||||
|
||||
YouTubeTextViewFingerprint.result?.let {
|
||||
it.mutableMethod.apply {
|
||||
|
@ -0,0 +1,57 @@
|
||||
package app.revanced.patches.youtube.player.speedoverlay.fingerprints
|
||||
|
||||
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
|
||||
object SpeedOverlayHookAlternativeFingerprint : MethodFingerprint(
|
||||
returnType = "V",
|
||||
opcodes = listOf(
|
||||
Opcode.IGET_OBJECT,
|
||||
Opcode.CHECK_CAST,
|
||||
Opcode.INVOKE_VIRTUAL,
|
||||
Opcode.IGET_OBJECT,
|
||||
Opcode.CHECK_CAST,
|
||||
Opcode.IGET_OBJECT,
|
||||
Opcode.IGET_OBJECT,
|
||||
Opcode.INVOKE_VIRTUAL,
|
||||
Opcode.IGET_OBJECT,
|
||||
Opcode.CHECK_CAST,
|
||||
Opcode.INVOKE_VIRTUAL,
|
||||
Opcode.MOVE_RESULT,
|
||||
Opcode.IF_EQZ,
|
||||
Opcode.IGET_OBJECT,
|
||||
Opcode.CHECK_CAST,
|
||||
Opcode.IGET_OBJECT,
|
||||
Opcode.INVOKE_VIRTUAL,
|
||||
Opcode.IGET_OBJECT,
|
||||
Opcode.INVOKE_VIRTUAL,
|
||||
Opcode.MOVE_RESULT,
|
||||
Opcode.IF_EQZ,
|
||||
Opcode.GOTO,
|
||||
Opcode.IGET_OBJECT,
|
||||
Opcode.INVOKE_VIRTUAL,
|
||||
Opcode.MOVE_RESULT,
|
||||
Opcode.INVOKE_STATIC,
|
||||
Opcode.MOVE_RESULT_OBJECT,
|
||||
Opcode.INVOKE_STATIC,
|
||||
Opcode.MOVE_RESULT_OBJECT,
|
||||
Opcode.IPUT_OBJECT,
|
||||
Opcode.IGET_OBJECT,
|
||||
Opcode.INVOKE_VIRTUAL,
|
||||
Opcode.MOVE_RESULT_OBJECT,
|
||||
Opcode.CHECK_CAST,
|
||||
Opcode.INVOKE_VIRTUAL,
|
||||
Opcode.MOVE_RESULT,
|
||||
Opcode.IGET,
|
||||
Opcode.CMPL_FLOAT,
|
||||
Opcode.IF_GEZ,
|
||||
Opcode.IGET_OBJECT,
|
||||
Opcode.INVOKE_VIRTUAL,
|
||||
Opcode.IGET_OBJECT,
|
||||
Opcode.INVOKE_STATIC,
|
||||
Opcode.MOVE_RESULT_OBJECT,
|
||||
Opcode.INVOKE_VIRTUAL,
|
||||
Opcode.RETURN_VOID
|
||||
),
|
||||
customFingerprint = { methodDef, _ -> methodDef.name == "run" }
|
||||
)
|
@ -39,7 +39,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -41,7 +41,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -39,7 +39,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.TwoRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -43,7 +43,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.formats.Instruction35c
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -48,7 +48,9 @@ import org.w3c.dom.Element
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -37,7 +37,9 @@ import app.revanced.util.integrations.Constants.SEEKBAR
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -33,7 +33,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.ReferenceInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -31,7 +31,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -37,7 +37,9 @@ import app.revanced.util.integrations.Constants.SEEKBAR
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -32,7 +32,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -66,7 +66,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -8,15 +8,18 @@ import app.revanced.patcher.extensions.InstructionExtensions.getInstruction
|
||||
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint.Companion.resolve
|
||||
import app.revanced.patcher.patch.BytecodePatch
|
||||
import app.revanced.patcher.util.proxy.mutableTypes.MutableMethod
|
||||
import app.revanced.patches.youtube.shorts.shortscomponent.fingerprints.BottomNavigationBarAlternativeFingerprint
|
||||
import app.revanced.patches.youtube.shorts.shortscomponent.fingerprints.BottomNavigationBarFingerprint
|
||||
import app.revanced.patches.youtube.shorts.shortscomponent.fingerprints.RenderBottomNavigationBarFingerprint
|
||||
import app.revanced.patches.youtube.shorts.shortscomponent.fingerprints.SetPivotBarFingerprint
|
||||
import app.revanced.patches.youtube.utils.fingerprints.PivotBarCreateButtonViewFingerprint
|
||||
import app.revanced.util.integrations.Constants.SHORTS
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
|
||||
object ShortsNavigationBarPatch : BytecodePatch(
|
||||
setOf(
|
||||
BottomNavigationBarAlternativeFingerprint,
|
||||
BottomNavigationBarFingerprint,
|
||||
PivotBarCreateButtonViewFingerprint,
|
||||
RenderBottomNavigationBarFingerprint
|
||||
@ -56,6 +59,23 @@ object ShortsNavigationBarPatch : BytecodePatch(
|
||||
val insertIndex = it.scanResult.patternScanResult!!.endIndex
|
||||
val insertRegister = getInstruction<OneRegisterInstruction>(insertIndex).registerA
|
||||
|
||||
addInstructions(
|
||||
insertIndex, """
|
||||
invoke-static {v$insertRegister}, $SHORTS->hideShortsPlayerNavigationBar(Landroid/view/View;)Landroid/view/View;
|
||||
move-result-object v$insertRegister
|
||||
"""
|
||||
)
|
||||
}
|
||||
} ?: BottomNavigationBarAlternativeFingerprint.result?.let {
|
||||
it.mutableMethod.apply {
|
||||
val targetIndex = it.scanResult.patternScanResult!!.endIndex + 3
|
||||
val insertIndex =
|
||||
if (getInstruction(targetIndex).opcode == Opcode.IF_EQZ)
|
||||
targetIndex
|
||||
else
|
||||
targetIndex + 1
|
||||
val insertRegister = getInstruction<OneRegisterInstruction>(insertIndex).registerA
|
||||
|
||||
addInstructions(
|
||||
insertIndex, """
|
||||
invoke-static {v$insertRegister}, $SHORTS->hideShortsPlayerNavigationBar(Landroid/view/View;)Landroid/view/View;
|
||||
|
@ -0,0 +1,19 @@
|
||||
package app.revanced.patches.youtube.shorts.shortscomponent.fingerprints
|
||||
|
||||
import app.revanced.patcher.extensions.or
|
||||
import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
|
||||
object BottomNavigationBarAlternativeFingerprint : MethodFingerprint(
|
||||
returnType = "V",
|
||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||
parameters = listOf("Landroid/view/View;", "Landroid/os/Bundle;"),
|
||||
opcodes = listOf(
|
||||
Opcode.IGET_OBJECT,
|
||||
Opcode.IGET_OBJECT,
|
||||
Opcode.IGET_OBJECT,
|
||||
Opcode.INVOKE_VIRTUAL
|
||||
),
|
||||
strings = listOf("r_pfvc", "ReelWatchPaneFragmentViewModelKey")
|
||||
)
|
@ -33,7 +33,9 @@ import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -45,7 +45,9 @@ import com.android.tools.smali.dexlib2.immutable.ImmutableMethod
|
||||
"18.34.38",
|
||||
"18.35.36",
|
||||
"18.36.39",
|
||||
"18.37.36"
|
||||
"18.37.36",
|
||||
"18.38.44",
|
||||
"18.39.41"
|
||||
]
|
||||
)
|
||||
]
|
||||
|
@ -5,44 +5,28 @@ import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
|
||||
object NewFlyoutPanelOnClickListenerFingerprint : MethodFingerprint(
|
||||
object NewVideoQualityChangedFingerprint : MethodFingerprint(
|
||||
returnType = "L",
|
||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||
parameters = listOf("L"),
|
||||
opcodes = listOf(
|
||||
Opcode.IGET, // Video resolution (human readable).
|
||||
Opcode.IGET_OBJECT,
|
||||
Opcode.IGET_BOOLEAN,
|
||||
Opcode.IGET_OBJECT,
|
||||
Opcode.INVOKE_STATIC,
|
||||
Opcode.MOVE_RESULT_OBJECT,
|
||||
Opcode.INVOKE_DIRECT,
|
||||
Opcode.IGET_OBJECT,
|
||||
Opcode.INVOKE_INTERFACE,
|
||||
Opcode.MOVE_RESULT_OBJECT,
|
||||
Opcode.INVOKE_VIRTUAL,
|
||||
Opcode.GOTO,
|
||||
Opcode.CONST_4,
|
||||
Opcode.IF_NE,
|
||||
Opcode.IGET_OBJECT,
|
||||
Opcode.INVOKE_INTERFACE,
|
||||
Opcode.MOVE_RESULT_OBJECT,
|
||||
Opcode.IGET,
|
||||
Opcode.AND_INT_LIT8,
|
||||
Opcode.IF_EQZ,
|
||||
Opcode.IGET_OBJECT,
|
||||
Opcode.INVOKE_INTERFACE,
|
||||
Opcode.MOVE_RESULT_OBJECT,
|
||||
Opcode.INVOKE_VIRTUAL,
|
||||
Opcode.MOVE_RESULT_OBJECT,
|
||||
Opcode.IF_NEZ,
|
||||
Opcode.NEW_INSTANCE,
|
||||
Opcode.INVOKE_DIRECT,
|
||||
Opcode.IGET_OBJECT,
|
||||
Opcode.INVOKE_INTERFACE,
|
||||
Opcode.MOVE_RESULT_OBJECT,
|
||||
Opcode.INVOKE_VIRTUAL,
|
||||
Opcode.MOVE_RESULT_OBJECT,
|
||||
Opcode.INVOKE_STATIC,
|
||||
Opcode.MOVE_RESULT_OBJECT,
|
||||
Opcode.INVOKE_STATIC,
|
||||
Opcode.MOVE_RESULT_OBJECT,
|
||||
Opcode.INVOKE_STATIC,
|
||||
Opcode.MOVE_RESULT_OBJECT,
|
||||
Opcode.NEW_INSTANCE,
|
||||
Opcode.CONST_16,
|
||||
Opcode.INVOKE_DIRECT,
|
||||
Opcode.INVOKE_INTERFACE,
|
||||
Opcode.MOVE_RESULT_OBJECT,
|
||||
Opcode.INVOKE_INTERFACE,
|
||||
Opcode.MOVE_RESULT_OBJECT,
|
||||
Opcode.IGET_OBJECT,
|
||||
Opcode.INVOKE_INTERFACE,
|
||||
Opcode.MOVE_RESULT_OBJECT,
|
||||
Opcode.INVOKE_VIRTUAL,
|
||||
Opcode.NEW_INSTANCE
|
||||
)
|
||||
)
|
@ -5,14 +5,9 @@ import app.revanced.patcher.fingerprint.method.impl.MethodFingerprint
|
||||
import app.revanced.patches.youtube.utils.resourceid.SharedResourceIdPatch.ImageOnlyTab
|
||||
import app.revanced.util.bytecode.isWideLiteralExists
|
||||
import com.android.tools.smali.dexlib2.AccessFlags
|
||||
import com.android.tools.smali.dexlib2.Opcode
|
||||
|
||||
object PivotBarCreateButtonViewFingerprint : MethodFingerprint(
|
||||
returnType = "V",
|
||||
accessFlags = AccessFlags.PUBLIC or AccessFlags.FINAL,
|
||||
opcodes = listOf(
|
||||
Opcode.MOVE_OBJECT,
|
||||
Opcode.INVOKE_DIRECT_RANGE, // unique instruction anchor
|
||||
),
|
||||
customFingerprint = { methodDef, _ -> methodDef.isWideLiteralExists(ImageOnlyTab) }
|
||||
)
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user