Bugfix: invokedynamic shows wrong method name

Obfuscators exploits this bug to make deobfuscator see method other than
JVM actually calls.
This commit is contained in:
Szperak 2015-08-31 16:38:33 +02:00
parent a0d552e573
commit a98ff88ba4

View file

@ -304,7 +304,7 @@ public class InstructionPrinter {
protected String printInvokeDynamicInsNode(InvokeDynamicInsnNode idin) { protected String printInvokeDynamicInsNode(InvokeDynamicInsnNode idin) {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append(nameOpcode(idin.opcode()) + " " + idin.name + "("); sb.append(nameOpcode(idin.opcode()) + " " + idin.bsm.getName() + "(");
String desc = idin.desc; String desc = idin.desc;
String partedDesc = idin.desc.substring(2); String partedDesc = idin.desc.substring(2);