diff --git a/src/main/kotlin/app/revanced/patches/mifitness/misc/login/FixLoginPatch.kt b/src/main/kotlin/app/revanced/patches/mifitness/misc/login/FixLoginPatch.kt index cf67c893..fdb8f315 100644 --- a/src/main/kotlin/app/revanced/patches/mifitness/misc/login/FixLoginPatch.kt +++ b/src/main/kotlin/app/revanced/patches/mifitness/misc/login/FixLoginPatch.kt @@ -2,13 +2,11 @@ package app.revanced.patches.mifitness.misc.login import app.revanced.patcher.data.BytecodeContext import app.revanced.patcher.extensions.InstructionExtensions.addInstruction -import app.revanced.patcher.extensions.InstructionExtensions.getInstruction import app.revanced.patcher.patch.BytecodePatch import app.revanced.patcher.patch.annotation.CompatiblePackage import app.revanced.patcher.patch.annotation.Patch import app.revanced.patches.mifitness.misc.login.fingerprints.XiaomiAccountManagerConstructorFingerprint import app.revanced.util.exception -import com.android.tools.smali.dexlib2.iface.instruction.OneRegisterInstruction @Patch( name = "Fix login", @@ -20,16 +18,9 @@ object FixLoginPatch : BytecodePatch( setOf(XiaomiAccountManagerConstructorFingerprint), ) { override fun execute(context: BytecodeContext) { - XiaomiAccountManagerConstructorFingerprint.result?.let { - it.mutableMethod.apply { - val isCertifiedIndex = it.scanResult.patternScanResult!!.startIndex - val isCertifiedRegister = getInstruction(isCertifiedIndex).registerA - - addInstruction( - isCertifiedIndex, - "const/4 p$isCertifiedRegister, 0x0", - ) - } - } ?: throw XiaomiAccountManagerConstructorFingerprint.exception + XiaomiAccountManagerConstructorFingerprint.result?.mutableMethod?.addInstruction( + 0, + "const/16 p2, 0x0", + ) ?: throw XiaomiAccountManagerConstructorFingerprint.exception } } diff --git a/src/main/kotlin/app/revanced/patches/mifitness/misc/login/fingerprints/XiaomiAccountManagerConstructorFingerprint.kt b/src/main/kotlin/app/revanced/patches/mifitness/misc/login/fingerprints/XiaomiAccountManagerConstructorFingerprint.kt index e5d06ace..d81aa33f 100644 --- a/src/main/kotlin/app/revanced/patches/mifitness/misc/login/fingerprints/XiaomiAccountManagerConstructorFingerprint.kt +++ b/src/main/kotlin/app/revanced/patches/mifitness/misc/login/fingerprints/XiaomiAccountManagerConstructorFingerprint.kt @@ -3,12 +3,14 @@ package app.revanced.patches.mifitness.misc.login.fingerprints import app.revanced.patcher.extensions.or import app.revanced.patcher.fingerprint.MethodFingerprint import com.android.tools.smali.dexlib2.AccessFlags -import com.android.tools.smali.dexlib2.Opcode internal object XiaomiAccountManagerConstructorFingerprint : MethodFingerprint( accessFlags = AccessFlags.PRIVATE or AccessFlags.CONSTRUCTOR, customFingerprint = { methodDef, _ -> methodDef.definingClass == "Lcom/xiaomi/passport/accountmanager/XiaomiAccountManager;" }, - opcodes = listOf(Opcode.IF_NEZ), + parameters = listOf( + "Landroid/content/Context;", + "Z", + ), )