feat(kakaotalk): rename fingerprint variables for clarity and consistency

Going forward, fingerprints will follow the filename of the corresponding patch, but will name the variables that are finely fingerprinted after the functionality of the method for the intended target. This is to promote reusability, and hopefully increase maintainability in the future.
This commit is contained in:
2025-05-21 02:55:35 +09:00
parent 3f868cd995
commit 76dcd4c479
20 changed files with 36 additions and 36 deletions

View File

@ -2,7 +2,7 @@ package app.revanced.patches.kakaotalk.ads
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patches.kakaotalk.ads.fingerprints.removeBizBoardFingerprint
import app.revanced.patches.kakaotalk.ads.fingerprints.measuringBizBoardFingerprint
@Suppress("unused")
val removeBizBoardPatch = bytecodePatch(
@ -12,7 +12,7 @@ val removeBizBoardPatch = bytecodePatch(
compatibleWith("com.kakao.talk"("25.4.2"))
execute {
val method = removeBizBoardFingerprint.method
val method = measuringBizBoardFingerprint.method
method.addInstructions(
0,

View File

@ -2,7 +2,7 @@ package app.revanced.patches.kakaotalk.ads
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patches.kakaotalk.ads.fingerprints.removeFocusAdFingerprint
import app.revanced.patches.kakaotalk.ads.fingerprints.loadFocusAdFingerprint
val removeFocusAdPatch = bytecodePatch(
name = "Remove focus ad",
@ -11,7 +11,7 @@ val removeFocusAdPatch = bytecodePatch(
compatibleWith("com.kakao.talk"("25.4.2"))
execute {
removeFocusAdFingerprint.method.addInstructions(
loadFocusAdFingerprint.method.addInstructions(
0,
"""
const/4 v0, 0x1

View File

@ -2,7 +2,7 @@ package app.revanced.patches.kakaotalk.ads
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patches.kakaotalk.ads.fingerprints.removeOlkChatRoomListAdFingerprint
import app.revanced.patches.kakaotalk.ads.fingerprints.addOlkChatRoomListAdFingerprint
import app.revanced.patches.kakaotalk.common.fingerprints.kotlinUnitInstanceFingerprint
@Suppress("unused")
@ -16,7 +16,7 @@ val removeOlkChatRoomListAdPatch = bytecodePatch(
val findUnit = kotlinUnitInstanceFingerprint.method
val unitClass = findUnit.definingClass
val method = removeOlkChatRoomListAdFingerprint.method
val method = addOlkChatRoomListAdFingerprint.method
// I tried to find the field name, but it's pretty obvious to me, so I hardcode it.
// If it changes, we need to fix it

View File

@ -4,7 +4,7 @@ import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
internal val removeBizBoardFingerprint = fingerprint {
internal val measuringBizBoardFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC)
returns("V")
parameters("I", "I")

View File

@ -4,7 +4,7 @@ import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
internal val removeFocusAdFingerprint = fingerprint {
internal val loadFocusAdFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC)
parameters("Lcom/kakao/adfit/ads/focus/FocusAdLoader\$OnAdLoadListener;")
returns("Z")

View File

@ -4,7 +4,7 @@ import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
internal val removeOlkChatRoomListAdFingerprint = fingerprint {
internal val addOlkChatRoomListAdFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
parameters("Ljava/lang/Object;")
returns("Ljava/lang/Object;")

View File

@ -3,7 +3,7 @@ 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.patches.kakaotalk.chatlog.fingerprints.remove99ClampFingerprint
import app.revanced.patches.kakaotalk.chatlog.fingerprints.processWatermarkCountFingerprint
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
@ -16,7 +16,7 @@ val remove99ClampPatch = bytecodePatch(
compatibleWith("com.kakao.talk"("25.4.2"))
execute {
val method = remove99ClampFingerprint.method
val method = processWatermarkCountFingerprint.method
method.instructions
.filterIsInstance<BuilderInstruction22t>()

View File

@ -3,7 +3,7 @@ package app.revanced.patches.kakaotalk.chatlog.fingerprints
import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.AccessFlags
internal val remove99ClampFingerprint = fingerprint {
internal val processWatermarkCountFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
returns("Ljava/lang/Object;")
parameters()

View File

@ -3,8 +3,8 @@ package app.revanced.patches.kakaotalk.chatroom
import app.revanced.patcher.extensions.InstructionExtensions.instructions
import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patches.kakaotalk.chatroom.fingerprints.remove300PlusLimitBaseChatRoomFingerprint
import app.revanced.patches.kakaotalk.chatroom.fingerprints.remove300PlusLimitOpenChatRoomFingerprint
import app.revanced.patches.kakaotalk.chatroom.fingerprints.limit300PlusBaseChatRoomFingerprint
import app.revanced.patches.kakaotalk.chatroom.fingerprints.limit300PlusOpenChatRoomFingerprint
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
@ -17,7 +17,7 @@ val remove300PlusLimitBaseChatRoomPatch = bytecodePatch(
compatibleWith("com.kakao.talk"("25.4.2"))
execute {
val method = remove300PlusLimitBaseChatRoomFingerprint.method
val method = limit300PlusBaseChatRoomFingerprint.method
val branches = method.instructions
.filterIsInstance<BuilderInstruction22t>()
@ -43,7 +43,7 @@ val remove300PlusLimitOpenChatRoomPatch = bytecodePatch(
compatibleWith("com.kakao.talk"("25.4.2"))
execute {
val method = remove300PlusLimitOpenChatRoomFingerprint.method
val method = limit300PlusOpenChatRoomFingerprint.method
method.instructions
.filterIsInstance<BuilderInstruction22t>()

View File

@ -4,7 +4,7 @@ import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.AccessFlags
@Suppress("unused")
internal val remove300PlusLimitBaseChatRoomFingerprint = fingerprint {
internal val limit300PlusBaseChatRoomFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
returns("V")
parameters("Lcom/kakao/talk/widget/ViewBindable;")
@ -12,7 +12,7 @@ internal val remove300PlusLimitBaseChatRoomFingerprint = fingerprint {
}
@Suppress("unused")
internal val remove300PlusLimitOpenChatRoomFingerprint = fingerprint {
internal val limit300PlusOpenChatRoomFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
returns("V")
parameters()

View File

@ -2,7 +2,7 @@ package app.revanced.patches.kakaotalk.emoticon
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patches.kakaotalk.emoticon.fingerprints.forceEnableEmoticonPlusFingerprint
import app.revanced.patches.kakaotalk.emoticon.fingerprints.isEnableEmoticonPlusFingerprint
@Suppress("unused")
val forceEnableEmoticonPlusPatch = bytecodePatch(
@ -12,7 +12,7 @@ val forceEnableEmoticonPlusPatch = bytecodePatch(
compatibleWith("com.kakao.talk"("25.4.2"))
execute {
forceEnableEmoticonPlusFingerprint.method.addInstructions(
isEnableEmoticonPlusFingerprint.method.addInstructions(
0,
"""
const/4 v0, 0x1

View File

@ -4,7 +4,7 @@ import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
internal val forceEnableEmoticonPlusFingerprint = fingerprint {
internal val isEnableEmoticonPlusFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.STATIC)
returns("Z")
parameters()

View File

@ -3,7 +3,7 @@ package app.revanced.patches.kakaotalk.ghost
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patches.kakaotalk.common.fingerprints.kotlinUnitInstanceFingerprint
import app.revanced.patches.kakaotalk.ghost.fingerprints.ghostModeFingerprint
import app.revanced.patches.kakaotalk.ghost.fingerprints.sendCurrentActionFingerprint
@Suppress("unused")
val ghostMode = bytecodePatch(
@ -16,7 +16,7 @@ val ghostMode = bytecodePatch(
val findUnit = kotlinUnitInstanceFingerprint.method
val unitClass = findUnit.definingClass
val method = ghostModeFingerprint.method
val method = sendCurrentActionFingerprint.method
// I tried to find the field name, but it's pretty obvious to me, so I hardcode it.
// If it changes, we need to fix it

View File

@ -4,7 +4,7 @@ import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
internal val ghostModeFingerprint = fingerprint {
internal val sendCurrentActionFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
returns("Ljava/lang/Object;")
parameters("Ljava/lang/Object;")

View File

@ -5,8 +5,8 @@ import app.revanced.patcher.extensions.InstructionExtensions.instructions
import app.revanced.patcher.extensions.InstructionExtensions.removeInstruction
import app.revanced.patcher.extensions.InstructionExtensions.replaceInstruction
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patches.kakaotalk.integrity.fingerprints.bypassMoatCheckFingerprintOne
import app.revanced.patches.kakaotalk.integrity.fingerprints.bypassMoatCheckFingerprintTwo
import app.revanced.patches.kakaotalk.integrity.fingerprints.moatCheckResultFingerprintOne
import app.revanced.patches.kakaotalk.integrity.fingerprints.moatCheckResultFingerprintTwo
import app.revanced.patches.kakaotalk.integrity.fingerprints.postprocessMoatCheckFailedFingerprint
import app.revanced.util.getReference
import com.android.tools.smali.dexlib2.Opcode
@ -73,7 +73,7 @@ val bypassMoatCheckPatch = bytecodePatch(
}
}
patch(bypassMoatCheckFingerprintOne)
patch(bypassMoatCheckFingerprintTwo)
patch(moatCheckResultFingerprintOne)
patch(moatCheckResultFingerprintTwo)
}
}

View File

@ -3,7 +3,7 @@ package app.revanced.patches.kakaotalk.integrity
import app.revanced.patcher.extensions.InstructionExtensions.addInstructions
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patches.kakaotalk.common.fingerprints.kotlinUnitInstanceFingerprint
import app.revanced.patches.kakaotalk.integrity.fingerprints.bypassRequestChecksumsFingerprint
import app.revanced.patches.kakaotalk.integrity.fingerprints.requestChecksumsFingerprint
@Suppress("unused")
val bypassRequestChecksumPatch = bytecodePatch(
@ -16,7 +16,7 @@ val bypassRequestChecksumPatch = bytecodePatch(
val findUnit = kotlinUnitInstanceFingerprint.method
val unitClass = findUnit.definingClass
val method = bypassRequestChecksumsFingerprint.method
val method = requestChecksumsFingerprint.method
// I tried to find the field name, but it's pretty obvious to me, so I hardcode it.
// If it changes, we need to fix it

View File

@ -4,7 +4,7 @@ import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
internal val bypassMoatCheckFingerprintOne = fingerprint {
internal val moatCheckResultFingerprintOne = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
parameters("Ljava/lang/Object;", "Ljava/lang/Object;", "Ljava/lang/Object;")
returns("Ljava/lang/Object;")
@ -31,7 +31,7 @@ internal val bypassMoatCheckFingerprintOne = fingerprint {
)
}
internal val bypassMoatCheckFingerprintTwo = fingerprint {
internal val moatCheckResultFingerprintTwo = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
parameters("Ljava/lang/Object;", "Ljava/lang/Object;", "Ljava/lang/Object;")
returns("Ljava/lang/Object;")

View File

@ -4,7 +4,7 @@ import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
internal val bypassRequestChecksumsFingerprint = fingerprint {
internal val requestChecksumsFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
returns("Ljava/lang/Object;")
strings(

View File

@ -3,7 +3,7 @@ package app.revanced.patches.kakaotalk.misc
import app.revanced.patcher.extensions.InstructionExtensions.instructions
import app.revanced.patcher.extensions.InstructionExtensions.removeInstruction
import app.revanced.patcher.patch.bytecodePatch
import app.revanced.patches.kakaotalk.misc.fingerprints.removeShopTabFingerprint
import app.revanced.patches.kakaotalk.misc.fingerprints.addNavigationTabFingerprint
import app.revanced.util.getReference
import com.android.tools.smali.dexlib2.Opcode
import com.android.tools.smali.dexlib2.builder.instruction.BuilderInstruction21c
@ -18,7 +18,7 @@ val removeShopTabPatch = bytecodePatch(
compatibleWith("com.kakao.talk"("25.4.2"))
execute {
val method = removeShopTabFingerprint.method
val method = addNavigationTabFingerprint.method
val insns = method.instructions
val matches = insns.mapIndexedNotNull { idx, inst ->

View File

@ -4,7 +4,7 @@ import app.revanced.patcher.fingerprint
import com.android.tools.smali.dexlib2.AccessFlags
import com.android.tools.smali.dexlib2.Opcode
internal val removeShopTabFingerprint = fingerprint {
internal val addNavigationTabFingerprint = fingerprint {
accessFlags(AccessFlags.PUBLIC, AccessFlags.FINAL)
returns("V")
parameters()