From ecc205d2216157b7f5ebf3793bd744ad452f7d44 Mon Sep 17 00:00:00 2001 From: Egor Koleda Date: Tue, 31 May 2022 16:39:18 +0300 Subject: [PATCH] fix duplicate clinit names on subsequent obfuscation --- .../by/radioegor146/special/ClInitSpecialMethodProcessor.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/obfuscator/src/main/java/by/radioegor146/special/ClInitSpecialMethodProcessor.java b/obfuscator/src/main/java/by/radioegor146/special/ClInitSpecialMethodProcessor.java index 625efeb..bedf53e 100644 --- a/obfuscator/src/main/java/by/radioegor146/special/ClInitSpecialMethodProcessor.java +++ b/obfuscator/src/main/java/by/radioegor146/special/ClInitSpecialMethodProcessor.java @@ -10,7 +10,7 @@ public class ClInitSpecialMethodProcessor implements SpecialMethodProcessor { @Override public String preProcess(MethodContext context) { - String name = "native_special_clinit" + context.methodIndex; + String name = String.format("%s_special_clinit%d", context.obfuscator.getNativeDir(), context.methodIndex); if (!Util.getFlag(context.clazz.access, Opcodes.ACC_INTERFACE)) { context.proxyMethod = new MethodNode(Opcodes.ASM7, Opcodes.ACC_NATIVE | Opcodes.ACC_PRIVATE | Opcodes.ACC_STATIC | Opcodes.ACC_SYNTHETIC, @@ -38,7 +38,7 @@ public void postProcess(MethodContext context) { context.nativeMethod.name, context.nativeMethod.desc, false)); } else { instructions.add(new MethodInsnNode(Opcodes.INVOKESTATIC, context.clazz.name, - "native_special_clinit" + context.methodIndex, context.method.desc, false)); + String.format("%s_special_clinit%d", context.obfuscator.getNativeDir(), context.methodIndex), context.method.desc, false)); } instructions.add(new InsnNode(Opcodes.RETURN));