From 62df7e0ff1020955f9edcfbbd4332556bcdd6dfb Mon Sep 17 00:00:00 2001 From: ThatGamerBlue Date: Thu, 25 Feb 2021 23:13:55 +0000 Subject: [PATCH] deob: fix renaming of class types in ldc --- .../asm/attributes/code/instructions/LDC.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/deobfuscator/src/main/java/net/runelite/asm/attributes/code/instructions/LDC.java b/deobfuscator/src/main/java/net/runelite/asm/attributes/code/instructions/LDC.java index a78160c4b2..151f3c18e4 100644 --- a/deobfuscator/src/main/java/net/runelite/asm/attributes/code/instructions/LDC.java +++ b/deobfuscator/src/main/java/net/runelite/asm/attributes/code/instructions/LDC.java @@ -34,6 +34,7 @@ import net.runelite.asm.execution.InstructionContext; import net.runelite.asm.execution.Stack; import net.runelite.asm.execution.StackContext; import net.runelite.asm.execution.Value; +import net.runelite.asm.pool.Class; import org.objectweb.asm.MethodVisitor; import static org.objectweb.asm.Opcodes.DCONST_0; import static org.objectweb.asm.Opcodes.DCONST_1; @@ -181,4 +182,17 @@ public class LDC extends Instruction implements PushConstantInstruction { return (Number) value; } + + @Override + public void renameClass(String oldName, String newName) + { + Object object = getConstant(); + if (object instanceof net.runelite.asm.pool.Class) + { + if (((Class) object).getName().equals(oldName)) + { + value = new Class(newName); + } + } + } }