fix(core): disable plugin

Signed-off-by: rhunk <101876869+rhunk@users.noreply.github.com>
This commit is contained in:
rhunk
2025-07-23 17:05:44 +02:00
parent d05ef5d7a4
commit 23897bacad
4 changed files with 96 additions and 14 deletions

View File

@@ -4,12 +4,25 @@ import com.android.tools.smali.dexlib2.Opcode
import com.android.tools.smali.dexlib2.iface.instruction.formats.Instruction35c
import com.android.tools.smali.dexlib2.iface.reference.MethodReference
import me.rhunk.snapenhance.mapper.AbstractClassMapper
import me.rhunk.snapenhance.mapper.ext.getClassName
import me.rhunk.snapenhance.mapper.ext.getSuperClassName
class PlatformClientAttestationMapper: AbstractClassMapper("PlatformClientAttestationMapper") {
val pluginNativeClass = classReference("pluginNativeClass")
val apiInvocationHandler = classReference("apiInvocationHandler")
init {
mapper {
for (clazz in classes) {
if (clazz.interfaces.firstOrNull()?.endsWith("InvocationHandler;") != true) continue
val invokeMethod = clazz.methods.firstOrNull { it.name == "invoke" } ?: continue
invokeMethod.implementation?.instructions?.firstOrNull { it is Instruction35c && (it.reference as? MethodReference)?.name == "getDeclaringClass" } ?: continue
apiInvocationHandler.set(clazz.getClassName())
return@mapper
}
}
mapper {
for (clazz in classes) {
if (clazz.getSuperClassName()?.endsWith("PlatformClientAttestation") != true) continue