fix(youtube/spoof-signature-verification): additional fixes for subtitle window positions (#1975)

This commit is contained in:
LisoUseInAIKyrios 2023-04-25 17:22:40 +04:00 committed by GitHub
parent b37db5d494
commit 08584e680f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -24,6 +24,7 @@ import app.revanced.patches.youtube.misc.fix.playback.fingerprints.SubtitleWindo
import app.revanced.patches.youtube.misc.integrations.patch.IntegrationsPatch import app.revanced.patches.youtube.misc.integrations.patch.IntegrationsPatch
import app.revanced.patches.youtube.misc.playertype.patch.PlayerTypeHookPatch import app.revanced.patches.youtube.misc.playertype.patch.PlayerTypeHookPatch
import app.revanced.patches.youtube.misc.settings.bytecode.patch.SettingsPatch import app.revanced.patches.youtube.misc.settings.bytecode.patch.SettingsPatch
import app.revanced.patches.youtube.misc.video.videoid.patch.VideoIdPatch
import org.jf.dexlib2.iface.instruction.OneRegisterInstruction import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
@Patch @Patch
@ -34,7 +35,8 @@ import org.jf.dexlib2.iface.instruction.OneRegisterInstruction
IntegrationsPatch::class, IntegrationsPatch::class,
SettingsPatch::class, SettingsPatch::class,
PlayerTypeHookPatch::class, PlayerTypeHookPatch::class,
ClientSpoofPatch::class ClientSpoofPatch::class,
VideoIdPatch::class
]) ])
@Version("0.0.1") @Version("0.0.1")
class SpoofSignatureVerificationPatch : BytecodePatch( class SpoofSignatureVerificationPatch : BytecodePatch(
@ -57,6 +59,9 @@ class SpoofSignatureVerificationPatch : BytecodePatch(
) )
) )
// Hook video id, required for subtitle fix.
VideoIdPatch.injectCall("$INTEGRATIONS_CLASS_DESCRIPTOR->setCurrentVideoId(Ljava/lang/String;)V")
// hook parameter // hook parameter
ProtobufParameterBuilderFingerprint.result?.let { ProtobufParameterBuilderFingerprint.result?.let {
val setParamMethod = context val setParamMethod = context
@ -102,7 +107,7 @@ class SpoofSignatureVerificationPatch : BytecodePatch(
invoke-static {p1, p2, p3, p4, p5}, $INTEGRATIONS_CLASS_DESCRIPTOR->getSubtitleWindowSettingsOverride(IIIZZ)[I invoke-static {p1, p2, p3, p4, p5}, $INTEGRATIONS_CLASS_DESCRIPTOR->getSubtitleWindowSettingsOverride(IIIZZ)[I
move-result-object v0 move-result-object v0
const/4 v1, 0x0 const/4 v1, 0x0
aget p1, v0, v1 # ap, anchor configuration aget p1, v0, v1 # ap, anchor position
const/4 v1, 0x1 const/4 v1, 0x1
aget p2, v0, v1 # ah, horizontal anchor aget p2, v0, v1 # ah, horizontal anchor
const/4 v1, 0x2 const/4 v1, 0x2