feat(kakaotalk): Add patch to remove 99 unread limit in chat logs
This commit is contained in:
@ -248,6 +248,10 @@ public final class app/revanced/patches/kakaotalk/changemodel/ChangeModelPatchKt
|
|||||||
public static final fun getChangeModelPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
public static final fun getChangeModelPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final class app/revanced/patches/kakaotalk/chatlog/Remove99ClampPatchKt {
|
||||||
|
public static final fun getRemove99ClampPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||||
|
}
|
||||||
|
|
||||||
public final class app/revanced/patches/kakaotalk/chatroom/Remove300PlusLimitPatchKt {
|
public final class app/revanced/patches/kakaotalk/chatroom/Remove300PlusLimitPatchKt {
|
||||||
public static final fun getRemove300PlusLimitBaseChatRoomPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
public static final fun getRemove300PlusLimitBaseChatRoomPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||||
public static final fun getRemove300PlusLimitOpenChatRoomPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
public static final fun getRemove300PlusLimitOpenChatRoomPatch ()Lapp/revanced/patcher/patch/BytecodePatch;
|
||||||
|
@ -0,0 +1,31 @@
|
|||||||
|
package app.revanced.patches.kakaotalk.chatlog
|
||||||
|
|
||||||
|
import app.revanced.patcher.extensions.InstructionExtensions.instructions
|
||||||
|
import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction
|
||||||
|
import app.revanced.patcher.patch.bytecodePatch
|
||||||
|
import app.revanced.patcher.patch.Package
|
||||||
|
import app.revanced.patches.kakaotalk.chatlog.fingerprints.remove99ClampFingerprint
|
||||||
|
import com.android.tools.smali.dexlib2.Opcode
|
||||||
|
import com.android.tools.smali.dexlib2.builder.instruction.BuilderInstruction10t
|
||||||
|
import com.android.tools.smali.dexlib2.builder.instruction.BuilderInstruction22t
|
||||||
|
|
||||||
|
@Suppress("unused")
|
||||||
|
val remove99ClampPatch = bytecodePatch(
|
||||||
|
name = "Disable 99 unread limit",
|
||||||
|
description = "Skip the 99-cap so unread count shows full value"
|
||||||
|
) {
|
||||||
|
compatibleWith(Package("com.kakao.talk", setOf("25.3.5")))
|
||||||
|
|
||||||
|
execute {
|
||||||
|
val method = remove99ClampFingerprint.method
|
||||||
|
|
||||||
|
method.instructions
|
||||||
|
.filterIsInstance<BuilderInstruction22t>()
|
||||||
|
.filter { it.opcode == Opcode.IF_LE }
|
||||||
|
.forEach { ifle ->
|
||||||
|
val idx = method.instructions.indexOf(ifle)
|
||||||
|
val goto = BuilderInstruction10t(Opcode.GOTO, ifle.target)
|
||||||
|
method.replaceInstruction(idx, goto)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,11 @@
|
|||||||
|
package app.revanced.patches.kakaotalk.chatlog.fingerprints
|
||||||
|
|
||||||
|
import app.revanced.patcher.fingerprint
|
||||||
|
import com.android.tools.smali.dexlib2.AccessFlags
|
||||||
|
|
||||||
|
internal val remove99ClampFingerprint = fingerprint {
|
||||||
|
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
|
||||||
|
returns("Ljava/lang/Object;")
|
||||||
|
parameters()
|
||||||
|
strings("notiRead", "openlinkSettingShowUnreadCount")
|
||||||
|
}
|
Reference in New Issue
Block a user