From 64c359d3c1d2347001e5c6becb1d7561457f52cc Mon Sep 17 00:00:00 2001 From: lclc98 Date: Sat, 2 Jul 2016 18:04:57 +1000 Subject: Renamed Fields --- .../cuchaz/enigma/bytecode/CheckCastIterator.java | 48 +++++----- .../java/cuchaz/enigma/bytecode/ClassRenamer.java | 4 +- .../cuchaz/enigma/bytecode/ClassTranslator.java | 24 ++--- .../cuchaz/enigma/bytecode/ConstPoolEditor.java | 102 ++++++++++----------- src/main/java/cuchaz/enigma/bytecode/InfoType.java | 20 ++-- .../cuchaz/enigma/bytecode/InnerClassWriter.java | 14 +-- .../enigma/bytecode/LocalVariableRenamer.java | 6 +- .../enigma/bytecode/MethodParameterWriter.java | 6 +- .../bytecode/accessors/ClassInfoAccessor.java | 40 ++++---- .../bytecode/accessors/ConstInfoAccessor.java | 54 +++++------ .../accessors/InvokeDynamicInfoAccessor.java | 49 +++++----- .../bytecode/accessors/MemberRefInfoAccessor.java | 50 +++++----- .../accessors/MethodHandleInfoAccessor.java | 50 +++++----- .../bytecode/accessors/MethodTypeInfoAccessor.java | 41 +++++---- .../accessors/NameAndTypeInfoAccessor.java | 50 +++++----- .../bytecode/accessors/StringInfoAccessor.java | 40 ++++---- .../bytecode/accessors/Utf8InfoAccessor.java | 6 +- 17 files changed, 302 insertions(+), 302 deletions(-) (limited to 'src/main/java/cuchaz/enigma/bytecode') diff --git a/src/main/java/cuchaz/enigma/bytecode/CheckCastIterator.java b/src/main/java/cuchaz/enigma/bytecode/CheckCastIterator.java index 8058d0e..19c39d3 100644 --- a/src/main/java/cuchaz/enigma/bytecode/CheckCastIterator.java +++ b/src/main/java/cuchaz/enigma/bytecode/CheckCastIterator.java @@ -31,29 +31,29 @@ public class CheckCastIterator implements Iterator { } } - private ConstPool m_constants; - private CodeAttribute m_attribute; - private CodeIterator m_iter; - private CheckCast m_next; + private ConstPool constants; + private CodeAttribute attribute; + private CodeIterator iter; + private CheckCast next; public CheckCastIterator(CodeAttribute codeAttribute) throws BadBytecode { - m_constants = codeAttribute.getConstPool(); - m_attribute = codeAttribute; - m_iter = m_attribute.iterator(); + this.constants = codeAttribute.getConstPool(); + this.attribute = codeAttribute; + this.iter = this.attribute.iterator(); - m_next = getNext(); + this.next = getNext(); } @Override public boolean hasNext() { - return m_next != null; + return this.next != null; } @Override public CheckCast next() { - CheckCast out = m_next; + CheckCast out = this.next; try { - m_next = getNext(); + this.next = getNext(); } catch (BadBytecode ex) { throw new Error(ex); } @@ -67,16 +67,16 @@ public class CheckCastIterator implements Iterator { private CheckCast getNext() throws BadBytecode { int prevPos = 0; - while (m_iter.hasNext()) { - int pos = m_iter.next(); - int opcode = m_iter.byteAt(pos); + while (this.iter.hasNext()) { + int pos = this.iter.next(); + int opcode = this.iter.byteAt(pos); switch (opcode) { case Opcode.CHECKCAST: // get the type of this op code (next two bytes are a classinfo index) MethodEntry prevMethodEntry = getMethodEntry(prevPos); if (prevMethodEntry != null) { - return new CheckCast(m_constants.getClassInfo(m_iter.s16bitAt(pos + 1)), prevMethodEntry); + return new CheckCast(this.constants.getClassInfo(this.iter.s16bitAt(pos + 1)), prevMethodEntry); } break; } @@ -86,25 +86,25 @@ public class CheckCastIterator implements Iterator { } private MethodEntry getMethodEntry(int pos) { - switch (m_iter.byteAt(pos)) { + switch (this.iter.byteAt(pos)) { case Opcode.INVOKEVIRTUAL: case Opcode.INVOKESTATIC: case Opcode.INVOKEDYNAMIC: case Opcode.INVOKESPECIAL: { - int index = m_iter.s16bitAt(pos + 1); + int index = this.iter.s16bitAt(pos + 1); return new MethodEntry( - new ClassEntry(Descriptor.toJvmName(m_constants.getMethodrefClassName(index))), - m_constants.getMethodrefName(index), - new Signature(m_constants.getMethodrefType(index)) + new ClassEntry(Descriptor.toJvmName(this.constants.getMethodrefClassName(index))), + this.constants.getMethodrefName(index), + new Signature(this.constants.getMethodrefType(index)) ); } case Opcode.INVOKEINTERFACE: { - int index = m_iter.s16bitAt(pos + 1); + int index = this.iter.s16bitAt(pos + 1); return new MethodEntry( - new ClassEntry(Descriptor.toJvmName(m_constants.getInterfaceMethodrefClassName(index))), - m_constants.getInterfaceMethodrefName(index), - new Signature(m_constants.getInterfaceMethodrefType(index)) + new ClassEntry(Descriptor.toJvmName(this.constants.getInterfaceMethodrefClassName(index))), + this.constants.getInterfaceMethodrefName(index), + new Signature(this.constants.getInterfaceMethodrefType(index)) ); } } diff --git a/src/main/java/cuchaz/enigma/bytecode/ClassRenamer.java b/src/main/java/cuchaz/enigma/bytecode/ClassRenamer.java index 548bea7..d8e7971 100644 --- a/src/main/java/cuchaz/enigma/bytecode/ClassRenamer.java +++ b/src/main/java/cuchaz/enigma/bytecode/ClassRenamer.java @@ -51,8 +51,6 @@ public class ClassRenamer { private static class ReplacerClassMap extends HashMap { - private static final long serialVersionUID = 317915213205066168L; - private ClassNameReplacer m_replacer; public ReplacerClassMap(ClassNameReplacer replacer) { @@ -151,7 +149,7 @@ public class ClassRenamer { } /* DEBUG - System.out.println(String.format("\tDEOBF: %s-> ATTR: %s,%s,%s", classEntry, attr.outerClass(i), attr.innerClass(i), attr.innerName(i))); + System.out.println(String.format("\tDEOBF: %s-> ATTR: %s,%s,%s", classEntry, attr.outerClass(i), attr.innerClass(i), attr.innerName(i))); */ } } diff --git a/src/main/java/cuchaz/enigma/bytecode/ClassTranslator.java b/src/main/java/cuchaz/enigma/bytecode/ClassTranslator.java index ef197cb..8fdd851 100644 --- a/src/main/java/cuchaz/enigma/bytecode/ClassTranslator.java +++ b/src/main/java/cuchaz/enigma/bytecode/ClassTranslator.java @@ -22,10 +22,10 @@ import javassist.bytecode.SourceFileAttribute; public class ClassTranslator { - private Translator m_translator; + private Translator translator; public ClassTranslator(Translator translator) { - m_translator = translator; + this.translator = translator; } public void translate(CtClass c) { @@ -46,7 +46,7 @@ public class ClassTranslator { constants.getFieldrefName(i), constants.getFieldrefType(i) ); - FieldEntry translatedEntry = m_translator.translateEntry(entry); + FieldEntry translatedEntry = this.translator.translateEntry(entry); if (!entry.equals(translatedEntry)) { editor.changeMemberrefNameAndType(i, translatedEntry.getName(), translatedEntry.getType().toString()); } @@ -62,7 +62,7 @@ public class ClassTranslator { editor.getMemberrefName(i), editor.getMemberrefType(i) ); - BehaviorEntry translatedEntry = m_translator.translateEntry(entry); + BehaviorEntry translatedEntry = this.translator.translateEntry(entry); if (!entry.equals(translatedEntry)) { editor.changeMemberrefNameAndType(i, translatedEntry.getName(), translatedEntry.getSignature().toString()); } @@ -78,13 +78,13 @@ public class ClassTranslator { // translate the name FieldEntry entry = EntryFactory.getFieldEntry(field); - String translatedName = m_translator.translate(entry); + String translatedName = this.translator.translate(entry); if (translatedName != null) { field.setName(translatedName); } // translate the type - Type translatedType = m_translator.translateType(entry.getType()); + Type translatedType = this.translator.translateType(entry.getType()); field.getFieldInfo().setDescriptor(translatedType.toString()); } @@ -97,7 +97,7 @@ public class ClassTranslator { CtMethod method = (CtMethod) behavior; // translate the name - String translatedName = m_translator.translate(entry); + String translatedName = this.translator.translate(entry); if (translatedName != null) { method.setName(translatedName); } @@ -105,7 +105,7 @@ public class ClassTranslator { if (entry.getSignature() != null) { // translate the signature - Signature translatedSignature = m_translator.translateSignature(entry.getSignature()); + Signature translatedSignature = this.translator.translateSignature(entry.getSignature()); behavior.getMethodInfo().setDescriptor(translatedSignature.toString()); } } @@ -116,7 +116,7 @@ public class ClassTranslator { if (enclosingMethodAttr.methodIndex() == 0) { BehaviorEntry obfBehaviorEntry = EntryFactory.getBehaviorEntry(Descriptor.toJvmName(enclosingMethodAttr.className())); - BehaviorEntry deobfBehaviorEntry = m_translator.translateEntry(obfBehaviorEntry); + BehaviorEntry deobfBehaviorEntry = this.translator.translateEntry(obfBehaviorEntry); c.getClassFile().addAttribute(new EnclosingMethodAttribute( constants, deobfBehaviorEntry.getClassName() @@ -127,7 +127,7 @@ public class ClassTranslator { enclosingMethodAttr.methodName(), enclosingMethodAttr.methodDescriptor() ); - BehaviorEntry deobfBehaviorEntry = m_translator.translateEntry(obfBehaviorEntry); + BehaviorEntry deobfBehaviorEntry = this.translator.translateEntry(obfBehaviorEntry); c.getClassFile().addAttribute(new EnclosingMethodAttribute( constants, deobfBehaviorEntry.getClassName(), @@ -139,10 +139,10 @@ public class ClassTranslator { // translate all the class names referenced in the code // the above code only changed method/field/reference names and types, but not the rest of the class references - ClassRenamer.renameClasses(c, m_translator); + ClassRenamer.renameClasses(c, this.translator); // translate the source file attribute too - ClassEntry deobfClassEntry = m_translator.translateEntry(classEntry); + ClassEntry deobfClassEntry = this.translator.translateEntry(classEntry); if (deobfClassEntry != null) { String sourceFile = Descriptor.toJvmName(deobfClassEntry.getOutermostClassEntry().getSimpleName()) + ".java"; c.getClassFile().addAttribute(new SourceFileAttribute(constants, sourceFile)); diff --git a/src/main/java/cuchaz/enigma/bytecode/ConstPoolEditor.java b/src/main/java/cuchaz/enigma/bytecode/ConstPoolEditor.java index 0082a72..256df61 100644 --- a/src/main/java/cuchaz/enigma/bytecode/ConstPoolEditor.java +++ b/src/main/java/cuchaz/enigma/bytecode/ConstPoolEditor.java @@ -25,62 +25,62 @@ import javassist.bytecode.Descriptor; public class ConstPoolEditor { - private static Method m_getItem; - private static Method m_addItem; - private static Method m_addItem0; - private static Field m_items; - private static Field m_cache; - private static Field m_numItems; - private static Field m_objects; - private static Field m_elements; - private static Method m_methodWritePool; - private static Constructor m_constructorPool; + private static Method getItem; + private static Method addItem; + private static Method addItem0; + private static Field items; + private static Field cache; + private static Field numItems; + private static Field objects; + private static Field elements; + private static Method methodWritePool; + private static Constructor constructorPool; static { try { - m_getItem = ConstPool.class.getDeclaredMethod("getItem", int.class); - m_getItem.setAccessible(true); + getItem = ConstPool.class.getDeclaredMethod("getItem", int.class); + getItem.setAccessible(true); - m_addItem = ConstPool.class.getDeclaredMethod("addItem", Class.forName("javassist.bytecode.ConstInfo")); - m_addItem.setAccessible(true); + addItem = ConstPool.class.getDeclaredMethod("addItem", Class.forName("javassist.bytecode.ConstInfo")); + addItem.setAccessible(true); - m_addItem0 = ConstPool.class.getDeclaredMethod("addItem0", Class.forName("javassist.bytecode.ConstInfo")); - m_addItem0.setAccessible(true); + addItem0 = ConstPool.class.getDeclaredMethod("addItem0", Class.forName("javassist.bytecode.ConstInfo")); + addItem0.setAccessible(true); - m_items = ConstPool.class.getDeclaredField("items"); - m_items.setAccessible(true); + items = ConstPool.class.getDeclaredField("items"); + items.setAccessible(true); - m_cache = ConstPool.class.getDeclaredField("itemsCache"); - m_cache.setAccessible(true); + cache = ConstPool.class.getDeclaredField("itemsCache"); + cache.setAccessible(true); - m_numItems = ConstPool.class.getDeclaredField("numOfItems"); - m_numItems.setAccessible(true); + numItems = ConstPool.class.getDeclaredField("numOfItems"); + numItems.setAccessible(true); - m_objects = Class.forName("javassist.bytecode.LongVector").getDeclaredField("objects"); - m_objects.setAccessible(true); + objects = Class.forName("javassist.bytecode.LongVector").getDeclaredField("objects"); + objects.setAccessible(true); - m_elements = Class.forName("javassist.bytecode.LongVector").getDeclaredField("elements"); - m_elements.setAccessible(true); + elements = Class.forName("javassist.bytecode.LongVector").getDeclaredField("elements"); + elements.setAccessible(true); - m_methodWritePool = ConstPool.class.getDeclaredMethod("write", DataOutputStream.class); - m_methodWritePool.setAccessible(true); + methodWritePool = ConstPool.class.getDeclaredMethod("write", DataOutputStream.class); + methodWritePool.setAccessible(true); - m_constructorPool = ConstPool.class.getDeclaredConstructor(DataInputStream.class); - m_constructorPool.setAccessible(true); + constructorPool = ConstPool.class.getDeclaredConstructor(DataInputStream.class); + constructorPool.setAccessible(true); } catch (Exception ex) { throw new Error(ex); } } - private ConstPool m_pool; + private ConstPool pool; public ConstPoolEditor(ConstPool pool) { - m_pool = pool; + this.pool = pool; } public void writePool(DataOutputStream out) { try { - m_methodWritePool.invoke(m_pool, out); + methodWritePool.invoke(this.pool, out); } catch (Exception ex) { throw new Error(ex); } @@ -88,27 +88,27 @@ public class ConstPoolEditor { public static ConstPool readPool(DataInputStream in) { try { - return m_constructorPool.newInstance(in); + return constructorPool.newInstance(in); } catch (Exception ex) { throw new Error(ex); } } public String getMemberrefClassname(int memberrefIndex) { - return Descriptor.toJvmName(m_pool.getClassInfo(m_pool.getMemberClass(memberrefIndex))); + return Descriptor.toJvmName(this.pool.getClassInfo(this.pool.getMemberClass(memberrefIndex))); } public String getMemberrefName(int memberrefIndex) { - return m_pool.getUtf8Info(m_pool.getNameAndTypeName(m_pool.getMemberNameAndType(memberrefIndex))); + return this.pool.getUtf8Info(this.pool.getNameAndTypeName(this.pool.getMemberNameAndType(memberrefIndex))); } public String getMemberrefType(int memberrefIndex) { - return m_pool.getUtf8Info(m_pool.getNameAndTypeDescriptor(m_pool.getMemberNameAndType(memberrefIndex))); + return this.pool.getUtf8Info(this.pool.getNameAndTypeDescriptor(this.pool.getMemberNameAndType(memberrefIndex))); } public ConstInfoAccessor getItem(int index) { try { - Object entry = m_getItem.invoke(m_pool, index); + Object entry = getItem.invoke(this.pool, index); if (entry == null) { return null; } @@ -120,7 +120,7 @@ public class ConstPoolEditor { public int addItem(Object item) { try { - return (Integer) m_addItem.invoke(m_pool, item); + return (Integer) addItem.invoke(this.pool, item); } catch (Exception ex) { throw new Error(ex); } @@ -128,7 +128,7 @@ public class ConstPoolEditor { public int addItemForceNew(Object item) { try { - return (Integer) m_addItem0.invoke(m_pool, item); + return (Integer) addItem0.invoke(this.pool, item); } catch (Exception ex) { throw new Error(ex); } @@ -140,22 +140,22 @@ public class ConstPoolEditor { // remove the item from the cache HashMap cache = getCache(); if (cache != null) { - Object item = getItem(m_pool.getSize() - 1); + Object item = getItem(this.pool.getSize() - 1); cache.remove(item); } // remove the actual item // based off of LongVector.addElement() - Object items = m_items.get(m_pool); - Object[][] objects = (Object[][]) m_objects.get(items); - int numElements = (Integer) m_elements.get(items) - 1; + Object item = items.get(this.pool); + Object[][] object = (Object[][]) objects.get(items); + int numElements = (Integer) elements.get(items) - 1; int nth = numElements >> 7; int offset = numElements & (128 - 1); - objects[nth][offset] = null; + object[nth][offset] = null; // decrement the number of items - m_elements.set(items, numElements); - m_numItems.set(m_pool, (Integer) m_numItems.get(m_pool) - 1); + elements.set(item, numElements); + numItems.set(this.pool, (Integer) numItems.get(this.pool) - 1); } catch (Exception ex) { throw new Error(ex); } @@ -164,7 +164,7 @@ public class ConstPoolEditor { @SuppressWarnings("rawtypes") public HashMap getCache() { try { - return (HashMap) m_cache.get(m_pool); + return (HashMap) cache.get(this.pool); } catch (Exception ex) { throw new Error(ex); } @@ -183,7 +183,7 @@ public class ConstPoolEditor { cache.remove(item); } - new MemberRefInfoAccessor(item).setNameAndTypeIndex(m_pool.addNameAndTypeInfo(newName, newType)); + new MemberRefInfoAccessor(item).setNameAndTypeIndex(this.pool.addNameAndTypeInfo(newName, newType)); // update the cache if (cache != null) { @@ -212,7 +212,7 @@ public class ConstPoolEditor { } // add the new name and repoint the name-and-type to it - new ClassInfoAccessor(item).setNameIndex(m_pool.addUtf8Info(newName)); + new ClassInfoAccessor(item).setNameIndex(this.pool.addUtf8Info(newName)); // update the cache if (cache != null) { @@ -252,7 +252,7 @@ public class ConstPoolEditor { public String dump() { StringBuilder buf = new StringBuilder(); - for (int i = 1; i < m_pool.getSize(); i++) { + for (int i = 1; i < this.pool.getSize(); i++) { buf.append(String.format("%4d", i)); buf.append(" "); buf.append(getItem(i).toString()); diff --git a/src/main/java/cuchaz/enigma/bytecode/InfoType.java b/src/main/java/cuchaz/enigma/bytecode/InfoType.java index 89940d9..86e57ab 100644 --- a/src/main/java/cuchaz/enigma/bytecode/InfoType.java +++ b/src/main/java/cuchaz/enigma/bytecode/InfoType.java @@ -213,29 +213,29 @@ public enum InfoType { } }; - private static Map m_types; + private static Map types; static { - m_types = Maps.newTreeMap(); + types = Maps.newTreeMap(); for (InfoType type : values()) { - m_types.put(type.getTag(), type); + types.put(type.getTag(), type); } } - private int m_tag; - private int m_level; + private int tag; + private int level; InfoType(int tag, int level) { - m_tag = tag; - m_level = level; + this.tag = tag; + this.level = level; } public int getTag() { - return m_tag; + return this.tag; } public int getLevel() { - return m_level; + return this.level; } public void gatherIndexTree(Collection indices, ConstPoolEditor editor, ConstInfoAccessor entry) { @@ -260,7 +260,7 @@ public enum InfoType { } public static InfoType getByTag(int tag) { - return m_types.get(tag); + return types.get(tag); } public static List getByLevel(int level) { diff --git a/src/main/java/cuchaz/enigma/bytecode/InnerClassWriter.java b/src/main/java/cuchaz/enigma/bytecode/InnerClassWriter.java index 25ac7d6..6d92610 100644 --- a/src/main/java/cuchaz/enigma/bytecode/InnerClassWriter.java +++ b/src/main/java/cuchaz/enigma/bytecode/InnerClassWriter.java @@ -27,10 +27,10 @@ import javassist.bytecode.InnerClassesAttribute; public class InnerClassWriter { - private JarIndex m_index; + private JarIndex index; public InnerClassWriter(JarIndex index) { - m_index = index; + this.index = index; } public void write(CtClass c) { @@ -43,7 +43,7 @@ public class InnerClassWriter { } ClassEntry obfClassEntry = EntryFactory.getClassEntry(c); - List obfClassChain = m_index.getObfClassChain(obfClassEntry); + List obfClassChain = this.index.getObfClassChain(obfClassEntry); boolean isInnerClass = obfClassChain.size() > 1; if (isInnerClass) { @@ -51,7 +51,7 @@ public class InnerClassWriter { // it's an inner class, rename it to the fully qualified name c.setName(obfClassEntry.buildClassEntry(obfClassChain).getName()); - BehaviorEntry caller = m_index.getAnonymousClassCaller(obfClassEntry); + BehaviorEntry caller = this.index.getAnonymousClassCaller(obfClassEntry); if (caller != null) { // write the enclosing method attribute @@ -64,7 +64,7 @@ public class InnerClassWriter { } // does this class have any inner classes? - Collection obfInnerClassEntries = m_index.getInnerClasses(obfClassEntry); + Collection obfInnerClassEntries = this.index.getInnerClasses(obfClassEntry); if (isInnerClass || !obfInnerClassEntries.isEmpty()) { @@ -112,14 +112,14 @@ public class InnerClassWriter { int innerClassNameIndex = 0; int accessFlags = AccessFlag.PUBLIC; // TODO: need to figure out if we can put static or not - if (!m_index.isAnonymousClass(obfClassEntry)) { + if (!this.index.isAnonymousClass(obfClassEntry)) { innerClassNameIndex = constPool.addUtf8Info(obfInnerClassEntry.getInnermostClassName()); } attr.append(innerClassIndex, parentClassIndex, innerClassNameIndex, accessFlags); /* DEBUG - System.out.println(String.format("\tOBF: %s -> ATTR: %s,%s,%s (replace %s with %s)", + System.out.println(String.format("\tOBF: %s -> ATTR: %s,%s,%s (replace %s with %s)", obfClassEntry, attr.innerClass(attr.tableLength() - 1), attr.outerClass(attr.tableLength() - 1), diff --git a/src/main/java/cuchaz/enigma/bytecode/LocalVariableRenamer.java b/src/main/java/cuchaz/enigma/bytecode/LocalVariableRenamer.java index d0ce107..8edea16 100644 --- a/src/main/java/cuchaz/enigma/bytecode/LocalVariableRenamer.java +++ b/src/main/java/cuchaz/enigma/bytecode/LocalVariableRenamer.java @@ -21,10 +21,10 @@ import javassist.bytecode.*; public class LocalVariableRenamer { - private Translator m_translator; + private Translator translator; public LocalVariableRenamer(Translator translator) { - m_translator = translator; + this.translator = translator; } public void rename(CtClass c) { @@ -81,7 +81,7 @@ public class LocalVariableRenamer { numArgs = behaviorEntry.getSignature().getArgumentTypes().size(); for (int i = starti; i < starti + numArgs && i < table.tableLength(); i++) { int argi = i - starti; - String argName = m_translator.translate(new ArgumentEntry(behaviorEntry, argi, "")); + String argName = this.translator.translate(new ArgumentEntry(behaviorEntry, argi, "")); if (argName == null) { argName = "a" + (argi + 1); } diff --git a/src/main/java/cuchaz/enigma/bytecode/MethodParameterWriter.java b/src/main/java/cuchaz/enigma/bytecode/MethodParameterWriter.java index e53e8e7..17ecbbe 100644 --- a/src/main/java/cuchaz/enigma/bytecode/MethodParameterWriter.java +++ b/src/main/java/cuchaz/enigma/bytecode/MethodParameterWriter.java @@ -21,10 +21,10 @@ import javassist.bytecode.LocalVariableAttribute; public class MethodParameterWriter { - private Translator m_translator; + private Translator translator; public MethodParameterWriter(Translator translator) { - m_translator = translator; + this.translator = translator; } public void writeMethodArguments(CtClass c) { @@ -56,7 +56,7 @@ public class MethodParameterWriter { // get the list of argument names List names = new ArrayList(numParams); for (int i = 0; i < numParams; i++) { - names.add(m_translator.translate(new ArgumentEntry(behaviorEntry, i, ""))); + names.add(this.translator.translate(new ArgumentEntry(behaviorEntry, i, ""))); } // save the mappings to the class diff --git a/src/main/java/cuchaz/enigma/bytecode/accessors/ClassInfoAccessor.java b/src/main/java/cuchaz/enigma/bytecode/accessors/ClassInfoAccessor.java index fd987f5..66f2283 100644 --- a/src/main/java/cuchaz/enigma/bytecode/accessors/ClassInfoAccessor.java +++ b/src/main/java/cuchaz/enigma/bytecode/accessors/ClassInfoAccessor.java @@ -14,32 +14,18 @@ import java.lang.reflect.Field; public class ClassInfoAccessor { - private static Class m_class; - private static Field m_nameIndex; + private Object item; - static { - try { - m_class = Class.forName("javassist.bytecode.ClassInfo"); - m_nameIndex = m_class.getDeclaredField("name"); - m_nameIndex.setAccessible(true); - } catch (Exception ex) { - throw new Error(ex); - } - } - - public static boolean isType(ConstInfoAccessor accessor) { - return m_class.isAssignableFrom(accessor.getItem().getClass()); - } - - private Object m_item; + private static Class clazz; + private static Field nameIndex; public ClassInfoAccessor(Object item) { - m_item = item; + this.item = item; } public int getNameIndex() { try { - return (Integer) m_nameIndex.get(m_item); + return (Integer) nameIndex.get(this.item); } catch (Exception ex) { throw new Error(ex); } @@ -47,7 +33,21 @@ public class ClassInfoAccessor { public void setNameIndex(int val) { try { - m_nameIndex.set(m_item, val); + nameIndex.set(this.item, val); + } catch (Exception ex) { + throw new Error(ex); + } + } + + public static boolean isType(ConstInfoAccessor accessor) { + return clazz.isAssignableFrom(accessor.getItem().getClass()); + } + + static { + try { + clazz = Class.forName("javassist.bytecode.ClassInfo"); + nameIndex = clazz.getDeclaredField("name"); + nameIndex.setAccessible(true); } catch (Exception ex) { throw new Error(ex); } diff --git a/src/main/java/cuchaz/enigma/bytecode/accessors/ConstInfoAccessor.java b/src/main/java/cuchaz/enigma/bytecode/accessors/ConstInfoAccessor.java index 2692c06..ea775e9 100644 --- a/src/main/java/cuchaz/enigma/bytecode/accessors/ConstInfoAccessor.java +++ b/src/main/java/cuchaz/enigma/bytecode/accessors/ConstInfoAccessor.java @@ -19,29 +19,17 @@ import cuchaz.enigma.bytecode.InfoType; public class ConstInfoAccessor { - private static Class m_class; - private static Field m_index; - private static Method m_getTag; + private static Class clazz; + private static Field index; + private static Method getTag; - static { - try { - m_class = Class.forName("javassist.bytecode.ConstInfo"); - m_index = m_class.getDeclaredField("index"); - m_index.setAccessible(true); - m_getTag = m_class.getMethod("getTag"); - m_getTag.setAccessible(true); - } catch (Exception ex) { - throw new Error(ex); - } - } - - private Object m_item; + private Object item; public ConstInfoAccessor(Object item) { if (item == null) { throw new IllegalArgumentException("item cannot be null!"); } - m_item = item; + this.item = item; } public ConstInfoAccessor(DataInputStream in) throws IOException { @@ -56,7 +44,7 @@ public class ConstInfoAccessor { Constructor constructor = Class.forName(className).getConstructor(DataInputStream.class, int.class); constructor.setAccessible(true); - m_item = constructor.newInstance(in, oldIndex); + this.item = constructor.newInstance(in, oldIndex); } catch (IOException ex) { throw ex; } catch (Exception ex) { @@ -65,12 +53,12 @@ public class ConstInfoAccessor { } public Object getItem() { - return m_item; + return this.item; } public int getIndex() { try { - return (Integer) m_index.get(m_item); + return (Integer) index.get(this.item); } catch (Exception ex) { throw new Error(ex); } @@ -78,7 +66,7 @@ public class ConstInfoAccessor { public void setIndex(int val) { try { - m_index.set(m_item, val); + index.set(this.item, val); } catch (Exception ex) { throw new Error(ex); } @@ -86,7 +74,7 @@ public class ConstInfoAccessor { public int getTag() { try { - return (Integer) m_getTag.invoke(m_item); + return (Integer) getTag.invoke(this.item); } catch (Exception ex) { throw new Error(ex); } @@ -117,12 +105,12 @@ public class ConstInfoAccessor { public void write(DataOutputStream out) throws IOException { try { - out.writeUTF(m_item.getClass().getName()); + out.writeUTF(this.item.getClass().getName()); out.writeInt(getIndex()); - Method method = m_item.getClass().getMethod("write", DataOutputStream.class); + Method method = this.item.getClass().getMethod("write", DataOutputStream.class); method.setAccessible(true); - method.invoke(m_item, out); + method.invoke(this.item, out); } catch (IOException ex) { throw ex; } catch (Exception ex) { @@ -135,9 +123,9 @@ public class ConstInfoAccessor { try { ByteArrayOutputStream buf = new ByteArrayOutputStream(); PrintWriter out = new PrintWriter(buf); - Method print = m_item.getClass().getMethod("print", PrintWriter.class); + Method print = this.item.getClass().getMethod("print", PrintWriter.class); print.setAccessible(true); - print.invoke(m_item, out); + print.invoke(this.item, out); out.close(); return buf.toString().replace("\n", ""); } catch (Exception ex) { @@ -148,4 +136,16 @@ public class ConstInfoAccessor { public InfoType getType() { return InfoType.getByTag(getTag()); } + + static { + try { + clazz = Class.forName("javassist.bytecode.ConstInfo"); + index = clazz.getDeclaredField("index"); + index.setAccessible(true); + getTag = clazz.getMethod("getTag"); + getTag.setAccessible(true); + } catch (Exception ex) { + throw new Error(ex); + } + } } diff --git a/src/main/java/cuchaz/enigma/bytecode/accessors/InvokeDynamicInfoAccessor.java b/src/main/java/cuchaz/enigma/bytecode/accessors/InvokeDynamicInfoAccessor.java index 0ca82b7..69aee16 100644 --- a/src/main/java/cuchaz/enigma/bytecode/accessors/InvokeDynamicInfoAccessor.java +++ b/src/main/java/cuchaz/enigma/bytecode/accessors/InvokeDynamicInfoAccessor.java @@ -14,35 +14,20 @@ import java.lang.reflect.Field; public class InvokeDynamicInfoAccessor { - private static Class m_class; - private static Field m_bootstrapIndex; - private static Field m_nameAndTypeIndex; + private static Class clazz; + private static Field bootstrapIndex; + private static Field nameAndTypeIndex; - static { - try { - m_class = Class.forName("javassist.bytecode.InvokeDynamicInfo"); - m_bootstrapIndex = m_class.getDeclaredField("bootstrap"); - m_bootstrapIndex.setAccessible(true); - m_nameAndTypeIndex = m_class.getDeclaredField("nameAndType"); - m_nameAndTypeIndex.setAccessible(true); - } catch (Exception ex) { - throw new Error(ex); - } - } - public static boolean isType(ConstInfoAccessor accessor) { - return m_class.isAssignableFrom(accessor.getItem().getClass()); - } - - private Object m_item; + private Object item; public InvokeDynamicInfoAccessor(Object item) { - m_item = item; + this.item = item; } public int getBootstrapIndex() { try { - return (Integer) m_bootstrapIndex.get(m_item); + return (Integer) bootstrapIndex.get(this.item); } catch (Exception ex) { throw new Error(ex); } @@ -50,7 +35,7 @@ public class InvokeDynamicInfoAccessor { public void setBootstrapIndex(int val) { try { - m_bootstrapIndex.set(m_item, val); + bootstrapIndex.set(this.item, val); } catch (Exception ex) { throw new Error(ex); } @@ -58,7 +43,7 @@ public class InvokeDynamicInfoAccessor { public int getNameAndTypeIndex() { try { - return (Integer) m_nameAndTypeIndex.get(m_item); + return (Integer) nameAndTypeIndex.get(this.item); } catch (Exception ex) { throw new Error(ex); } @@ -66,7 +51,23 @@ public class InvokeDynamicInfoAccessor { public void setNameAndTypeIndex(int val) { try { - m_nameAndTypeIndex.set(m_item, val); + nameAndTypeIndex.set(this.item, val); + } catch (Exception ex) { + throw new Error(ex); + } + } + + public static boolean isType(ConstInfoAccessor accessor) { + return clazz.isAssignableFrom(accessor.getItem().getClass()); + } + + static { + try { + clazz = Class.forName("javassist.bytecode.InvokeDynamicInfo"); + bootstrapIndex = clazz.getDeclaredField("bootstrap"); + bootstrapIndex.setAccessible(true); + nameAndTypeIndex = clazz.getDeclaredField("nameAndType"); + nameAndTypeIndex.setAccessible(true); } catch (Exception ex) { throw new Error(ex); } diff --git a/src/main/java/cuchaz/enigma/bytecode/accessors/MemberRefInfoAccessor.java b/src/main/java/cuchaz/enigma/bytecode/accessors/MemberRefInfoAccessor.java index bb9d16b..0e0297b 100644 --- a/src/main/java/cuchaz/enigma/bytecode/accessors/MemberRefInfoAccessor.java +++ b/src/main/java/cuchaz/enigma/bytecode/accessors/MemberRefInfoAccessor.java @@ -14,35 +14,19 @@ import java.lang.reflect.Field; public class MemberRefInfoAccessor { - private static Class m_class; - private static Field m_classIndex; - private static Field m_nameAndTypeIndex; + private static Class clazz; + private static Field classIndex; + private static Field nameAndTypeIndex; - static { - try { - m_class = Class.forName("javassist.bytecode.MemberrefInfo"); - m_classIndex = m_class.getDeclaredField("classIndex"); - m_classIndex.setAccessible(true); - m_nameAndTypeIndex = m_class.getDeclaredField("nameAndTypeIndex"); - m_nameAndTypeIndex.setAccessible(true); - } catch (Exception ex) { - throw new Error(ex); - } - } - - public static boolean isType(ConstInfoAccessor accessor) { - return m_class.isAssignableFrom(accessor.getItem().getClass()); - } - - private Object m_item; + private Object item; public MemberRefInfoAccessor(Object item) { - m_item = item; + this.item = item; } public int getClassIndex() { try { - return (Integer) m_classIndex.get(m_item); + return (Integer) classIndex.get(this.item); } catch (Exception ex) { throw new Error(ex); } @@ -50,7 +34,7 @@ public class MemberRefInfoAccessor { public void setClassIndex(int val) { try { - m_classIndex.set(m_item, val); + classIndex.set(this.item, val); } catch (Exception ex) { throw new Error(ex); } @@ -58,7 +42,7 @@ public class MemberRefInfoAccessor { public int getNameAndTypeIndex() { try { - return (Integer) m_nameAndTypeIndex.get(m_item); + return (Integer) nameAndTypeIndex.get(this.item); } catch (Exception ex) { throw new Error(ex); } @@ -66,7 +50,23 @@ public class MemberRefInfoAccessor { public void setNameAndTypeIndex(int val) { try { - m_nameAndTypeIndex.set(m_item, val); + nameAndTypeIndex.set(this.item, val); + } catch (Exception ex) { + throw new Error(ex); + } + } + + public static boolean isType(ConstInfoAccessor accessor) { + return clazz.isAssignableFrom(accessor.getItem().getClass()); + } + + static { + try { + clazz = Class.forName("javassist.bytecode.MemberrefInfo"); + classIndex = clazz.getDeclaredField("classIndex"); + classIndex.setAccessible(true); + nameAndTypeIndex = clazz.getDeclaredField("nameAndTypeIndex"); + nameAndTypeIndex.setAccessible(true); } catch (Exception ex) { throw new Error(ex); } diff --git a/src/main/java/cuchaz/enigma/bytecode/accessors/MethodHandleInfoAccessor.java b/src/main/java/cuchaz/enigma/bytecode/accessors/MethodHandleInfoAccessor.java index 88e42f4..9a7dd69 100644 --- a/src/main/java/cuchaz/enigma/bytecode/accessors/MethodHandleInfoAccessor.java +++ b/src/main/java/cuchaz/enigma/bytecode/accessors/MethodHandleInfoAccessor.java @@ -14,35 +14,19 @@ import java.lang.reflect.Field; public class MethodHandleInfoAccessor { - private static Class m_class; - private static Field m_kindIndex; - private static Field m_indexIndex; + private static Class clazz; + private static Field kindIndex; + private static Field indexIndex; - static { - try { - m_class = Class.forName("javassist.bytecode.MethodHandleInfo"); - m_kindIndex = m_class.getDeclaredField("refKind"); - m_kindIndex.setAccessible(true); - m_indexIndex = m_class.getDeclaredField("refIndex"); - m_indexIndex.setAccessible(true); - } catch (Exception ex) { - throw new Error(ex); - } - } - - public static boolean isType(ConstInfoAccessor accessor) { - return m_class.isAssignableFrom(accessor.getItem().getClass()); - } - - private Object m_item; + private Object item; public MethodHandleInfoAccessor(Object item) { - m_item = item; + this.item = item; } public int getTypeIndex() { try { - return (Integer) m_kindIndex.get(m_item); + return (Integer) kindIndex.get(this.item); } catch (Exception ex) { throw new Error(ex); } @@ -50,7 +34,7 @@ public class MethodHandleInfoAccessor { public void setTypeIndex(int val) { try { - m_kindIndex.set(m_item, val); + kindIndex.set(this.item, val); } catch (Exception ex) { throw new Error(ex); } @@ -58,7 +42,7 @@ public class MethodHandleInfoAccessor { public int getMethodRefIndex() { try { - return (Integer) m_indexIndex.get(m_item); + return (Integer) indexIndex.get(this.item); } catch (Exception ex) { throw new Error(ex); } @@ -66,7 +50,23 @@ public class MethodHandleInfoAccessor { public void setMethodRefIndex(int val) { try { - m_indexIndex.set(m_item, val); + indexIndex.set(this.item, val); + } catch (Exception ex) { + throw new Error(ex); + } + } + + public static boolean isType(ConstInfoAccessor accessor) { + return clazz.isAssignableFrom(accessor.getItem().getClass()); + } + + static { + try { + clazz = Class.forName("javassist.bytecode.MethodHandleInfo"); + kindIndex = clazz.getDeclaredField("refKind"); + kindIndex.setAccessible(true); + indexIndex = clazz.getDeclaredField("refIndex"); + indexIndex.setAccessible(true); } catch (Exception ex) { throw new Error(ex); } diff --git a/src/main/java/cuchaz/enigma/bytecode/accessors/MethodTypeInfoAccessor.java b/src/main/java/cuchaz/enigma/bytecode/accessors/MethodTypeInfoAccessor.java index 1d039f6..5ec9c3b 100644 --- a/src/main/java/cuchaz/enigma/bytecode/accessors/MethodTypeInfoAccessor.java +++ b/src/main/java/cuchaz/enigma/bytecode/accessors/MethodTypeInfoAccessor.java @@ -14,32 +14,18 @@ import java.lang.reflect.Field; public class MethodTypeInfoAccessor { - private static Class m_class; - private static Field m_descriptorIndex; + private static Class clazz; + private static Field descriptorIndex; - static { - try { - m_class = Class.forName("javassist.bytecode.MethodTypeInfo"); - m_descriptorIndex = m_class.getDeclaredField("descriptor"); - m_descriptorIndex.setAccessible(true); - } catch (Exception ex) { - throw new Error(ex); - } - } - - public static boolean isType(ConstInfoAccessor accessor) { - return m_class.isAssignableFrom(accessor.getItem().getClass()); - } - - private Object m_item; + private Object item; public MethodTypeInfoAccessor(Object item) { - m_item = item; + this.item = item; } public int getTypeIndex() { try { - return (Integer) m_descriptorIndex.get(m_item); + return (Integer) descriptorIndex.get(this.item); } catch (Exception ex) { throw new Error(ex); } @@ -47,9 +33,24 @@ public class MethodTypeInfoAccessor { public void setTypeIndex(int val) { try { - m_descriptorIndex.set(m_item, val); + descriptorIndex.set(this.item, val); } catch (Exception ex) { throw new Error(ex); } } + + public static boolean isType(ConstInfoAccessor accessor) { + return clazz.isAssignableFrom(accessor.getItem().getClass()); + } + + static { + try { + clazz = Class.forName("javassist.bytecode.MethodTypeInfo"); + descriptorIndex = clazz.getDeclaredField("descriptor"); + descriptorIndex.setAccessible(true); + } catch (Exception ex) { + throw new Error(ex); + } + } + } diff --git a/src/main/java/cuchaz/enigma/bytecode/accessors/NameAndTypeInfoAccessor.java b/src/main/java/cuchaz/enigma/bytecode/accessors/NameAndTypeInfoAccessor.java index acba779..95df37c 100644 --- a/src/main/java/cuchaz/enigma/bytecode/accessors/NameAndTypeInfoAccessor.java +++ b/src/main/java/cuchaz/enigma/bytecode/accessors/NameAndTypeInfoAccessor.java @@ -14,35 +14,19 @@ import java.lang.reflect.Field; public class NameAndTypeInfoAccessor { - private static Class m_class; - private static Field m_nameIndex; - private static Field m_typeIndex; + private static Class clazz; + private static Field nameIndex; + private static Field typeIndex; - static { - try { - m_class = Class.forName("javassist.bytecode.NameAndTypeInfo"); - m_nameIndex = m_class.getDeclaredField("memberName"); - m_nameIndex.setAccessible(true); - m_typeIndex = m_class.getDeclaredField("typeDescriptor"); - m_typeIndex.setAccessible(true); - } catch (Exception ex) { - throw new Error(ex); - } - } - - public static boolean isType(ConstInfoAccessor accessor) { - return m_class.isAssignableFrom(accessor.getItem().getClass()); - } - - private Object m_item; + private Object item; public NameAndTypeInfoAccessor(Object item) { - m_item = item; + this.item = item; } public int getNameIndex() { try { - return (Integer) m_nameIndex.get(m_item); + return (Integer) nameIndex.get(this.item); } catch (Exception ex) { throw new Error(ex); } @@ -50,7 +34,7 @@ public class NameAndTypeInfoAccessor { public void setNameIndex(int val) { try { - m_nameIndex.set(m_item, val); + nameIndex.set(this.item, val); } catch (Exception ex) { throw new Error(ex); } @@ -58,7 +42,7 @@ public class NameAndTypeInfoAccessor { public int getTypeIndex() { try { - return (Integer) m_typeIndex.get(m_item); + return (Integer) typeIndex.get(this.item); } catch (Exception ex) { throw new Error(ex); } @@ -66,7 +50,23 @@ public class NameAndTypeInfoAccessor { public void setTypeIndex(int val) { try { - m_typeIndex.set(m_item, val); + typeIndex.set(this.item, val); + } catch (Exception ex) { + throw new Error(ex); + } + } + + public static boolean isType(ConstInfoAccessor accessor) { + return clazz.isAssignableFrom(accessor.getItem().getClass()); + } + + static { + try { + clazz = Class.forName("javassist.bytecode.NameAndTypeInfo"); + nameIndex = clazz.getDeclaredField("memberName"); + nameIndex.setAccessible(true); + typeIndex = clazz.getDeclaredField("typeDescriptor"); + typeIndex.setAccessible(true); } catch (Exception ex) { throw new Error(ex); } diff --git a/src/main/java/cuchaz/enigma/bytecode/accessors/StringInfoAccessor.java b/src/main/java/cuchaz/enigma/bytecode/accessors/StringInfoAccessor.java index b40e0eb..1c55a44 100644 --- a/src/main/java/cuchaz/enigma/bytecode/accessors/StringInfoAccessor.java +++ b/src/main/java/cuchaz/enigma/bytecode/accessors/StringInfoAccessor.java @@ -14,32 +14,18 @@ import java.lang.reflect.Field; public class StringInfoAccessor { - private static Class m_class; - private static Field m_stringIndex; + private static Class clazz; + private static Field stringIndex; - static { - try { - m_class = Class.forName("javassist.bytecode.StringInfo"); - m_stringIndex = m_class.getDeclaredField("string"); - m_stringIndex.setAccessible(true); - } catch (Exception ex) { - throw new Error(ex); - } - } - - public static boolean isType(ConstInfoAccessor accessor) { - return m_class.isAssignableFrom(accessor.getItem().getClass()); - } - - private Object m_item; + private Object item; public StringInfoAccessor(Object item) { - m_item = item; + this.item = item; } public int getStringIndex() { try { - return (Integer) m_stringIndex.get(m_item); + return (Integer) stringIndex.get(this.item); } catch (Exception ex) { throw new Error(ex); } @@ -47,7 +33,21 @@ public class StringInfoAccessor { public void setStringIndex(int val) { try { - m_stringIndex.set(m_item, val); + stringIndex.set(this.item, val); + } catch (Exception ex) { + throw new Error(ex); + } + } + + public static boolean isType(ConstInfoAccessor accessor) { + return clazz.isAssignableFrom(accessor.getItem().getClass()); + } + + static { + try { + clazz = Class.forName("javassist.bytecode.StringInfo"); + stringIndex = clazz.getDeclaredField("string"); + stringIndex.setAccessible(true); } catch (Exception ex) { throw new Error(ex); } diff --git a/src/main/java/cuchaz/enigma/bytecode/accessors/Utf8InfoAccessor.java b/src/main/java/cuchaz/enigma/bytecode/accessors/Utf8InfoAccessor.java index 9303b41..7a2cb66 100644 --- a/src/main/java/cuchaz/enigma/bytecode/accessors/Utf8InfoAccessor.java +++ b/src/main/java/cuchaz/enigma/bytecode/accessors/Utf8InfoAccessor.java @@ -12,17 +12,17 @@ package cuchaz.enigma.bytecode.accessors; public class Utf8InfoAccessor { - private static Class m_class; + private static Class clazz; static { try { - m_class = Class.forName("javassist.bytecode.Utf8Info"); + clazz = Class.forName("javassist.bytecode.Utf8Info"); } catch (Exception ex) { throw new Error(ex); } } public static boolean isType(ConstInfoAccessor accessor) { - return m_class.isAssignableFrom(accessor.getItem().getClass()); + return clazz.isAssignableFrom(accessor.getItem().getClass()); } } -- cgit v1.2.3