From eb93bc2cb083409c123463a20844f7e1ed58deab Mon Sep 17 00:00:00 2001 From: asiekierka Date: Tue, 18 Oct 2016 17:35:11 +0200 Subject: remove none/ prefix --- src/main/java/cuchaz/enigma/Constants.java | 1 - src/main/java/cuchaz/enigma/Deobfuscator.java | 2 +- src/main/java/cuchaz/enigma/TranslatingTypeLoader.java | 8 -------- src/main/java/cuchaz/enigma/analysis/JarIndex.java | 12 +----------- src/main/java/cuchaz/enigma/convert/ClassIdentity.java | 2 +- src/main/java/cuchaz/enigma/convert/MappingsConverter.java | 2 +- src/main/java/cuchaz/enigma/gui/Gui.java | 8 +++----- .../cuchaz/enigma/gui/node/ClassSelectorPackageNode.java | 5 +++-- src/main/java/cuchaz/enigma/mapping/MappingsSRGWriter.java | 12 ++++++------ 9 files changed, 16 insertions(+), 36 deletions(-) (limited to 'src/main/java/cuchaz') diff --git a/src/main/java/cuchaz/enigma/Constants.java b/src/main/java/cuchaz/enigma/Constants.java index 5bdb3af..0473048 100644 --- a/src/main/java/cuchaz/enigma/Constants.java +++ b/src/main/java/cuchaz/enigma/Constants.java @@ -16,5 +16,4 @@ public class Constants { public static final String URL = "http://www.cuchazinteractive.com/enigma"; public static final int MiB = 1024 * 1024; // 1 mebibyte public static final int KiB = 1024; // 1 kebibyte - public static final String NONE_PACKAGE = "none"; } diff --git a/src/main/java/cuchaz/enigma/Deobfuscator.java b/src/main/java/cuchaz/enigma/Deobfuscator.java index 2207999..e9a998d 100644 --- a/src/main/java/cuchaz/enigma/Deobfuscator.java +++ b/src/main/java/cuchaz/enigma/Deobfuscator.java @@ -146,7 +146,7 @@ public class Deobfuscator { if (!deobfClassEntry.equals(obfClassEntry)) { // if the class has a mapping, clearly it's deobfuscated deobfClasses.add(deobfClassEntry); - } else if (!obfClassEntry.getPackageName().equals(Constants.NONE_PACKAGE)) { + } else if (obfClassEntry.getPackageName() != null) { // also call it deobufscated if it's not in the none package deobfClasses.add(obfClassEntry); } else { diff --git a/src/main/java/cuchaz/enigma/TranslatingTypeLoader.java b/src/main/java/cuchaz/enigma/TranslatingTypeLoader.java index 13efbd5..e4c162d 100644 --- a/src/main/java/cuchaz/enigma/TranslatingTypeLoader.java +++ b/src/main/java/cuchaz/enigma/TranslatingTypeLoader.java @@ -187,10 +187,6 @@ public class TranslatingTypeLoader implements ITypeLoader { public List getClassNamesToTry(ClassEntry obfClassEntry) { List classNamesToTry = Lists.newArrayList(); classNamesToTry.add(obfClassEntry.getName()); - if (obfClassEntry.getPackageName().equals(Constants.NONE_PACKAGE)) { - // taking off the none package, if any - classNamesToTry.add(obfClassEntry.getSimpleName()); - } if (obfClassEntry.isInnerClass()) { // try just the inner class name classNamesToTry.add(obfClassEntry.getInnermostClassName()); @@ -201,10 +197,6 @@ public class TranslatingTypeLoader implements ITypeLoader { public CtClass transformClass(CtClass c) throws IOException, NotFoundException, CannotCompileException { - // we moved a lot of classes out of the default package into the none package - // make sure all the class references are consistent - ClassRenamer.moveAllClassesOutOfDefaultPackage(c, Constants.NONE_PACKAGE); - // reconstruct inner classes new InnerClassWriter(this.jarIndex).write(c); diff --git a/src/main/java/cuchaz/enigma/analysis/JarIndex.java b/src/main/java/cuchaz/enigma/analysis/JarIndex.java index e501540..619d862 100644 --- a/src/main/java/cuchaz/enigma/analysis/JarIndex.java +++ b/src/main/java/cuchaz/enigma/analysis/JarIndex.java @@ -59,17 +59,10 @@ public class JarIndex { public void indexJar(JarFile jar, boolean buildInnerClasses) { // step 1: read the class names - for (ClassEntry classEntry : JarClassIterator.getClassEntries(jar)) { - if (classEntry.isInDefaultPackage()) { - // move out of default package - classEntry = new ClassEntry(Constants.NONE_PACKAGE + "/" + classEntry.getName()); - } - this.obfClassEntries.add(classEntry); - } + this.obfClassEntries.addAll(JarClassIterator.getClassEntries(jar)); // step 2: index field/method/constructor access for (CtClass c : JarClassIterator.classes(jar)) { - ClassRenamer.moveAllClassesOutOfDefaultPackage(c, Constants.NONE_PACKAGE); for (CtField field : c.getDeclaredFields()) { FieldEntry fieldEntry = EntryFactory.getFieldEntry(field); this.access.put(fieldEntry, Access.get(field)); @@ -84,7 +77,6 @@ public class JarIndex { // step 3: index extends, implements, fields, and methods for (CtClass c : JarClassIterator.classes(jar)) { - ClassRenamer.moveAllClassesOutOfDefaultPackage(c, Constants.NONE_PACKAGE); this.translationIndex.indexClass(c); String className = Descriptor.toJvmName(c.getName()); for (String interfaceName : c.getClassFile().getInterfaces()) { @@ -101,7 +93,6 @@ public class JarIndex { // step 4: index field, method, constructor references for (CtClass c : JarClassIterator.classes(jar)) { - ClassRenamer.moveAllClassesOutOfDefaultPackage(c, Constants.NONE_PACKAGE); for (CtBehavior behavior : c.getDeclaredBehaviors()) { indexBehaviorReferences(behavior); } @@ -111,7 +102,6 @@ public class JarIndex { // step 5: index inner classes and anonymous classes for (CtClass c : JarClassIterator.classes(jar)) { - ClassRenamer.moveAllClassesOutOfDefaultPackage(c, Constants.NONE_PACKAGE); ClassEntry innerClassEntry = EntryFactory.getClassEntry(c); ClassEntry outerClassEntry = findOuterClass(c); if (outerClassEntry != null) { diff --git a/src/main/java/cuchaz/enigma/convert/ClassIdentity.java b/src/main/java/cuchaz/enigma/convert/ClassIdentity.java index 0960c86..4d1b3ca 100644 --- a/src/main/java/cuchaz/enigma/convert/ClassIdentity.java +++ b/src/main/java/cuchaz/enigma/convert/ClassIdentity.java @@ -58,7 +58,7 @@ public class ClassIdentity { // classes not in the none package can be passed through ClassEntry classEntry = new ClassEntry(className); - if (!classEntry.getPackageName().equals(Constants.NONE_PACKAGE)) { + if (!classEntry.getClassName().contains("/")) { return className; } diff --git a/src/main/java/cuchaz/enigma/convert/MappingsConverter.java b/src/main/java/cuchaz/enigma/convert/MappingsConverter.java index a80d9ce..01de9a5 100644 --- a/src/main/java/cuchaz/enigma/convert/MappingsConverter.java +++ b/src/main/java/cuchaz/enigma/convert/MappingsConverter.java @@ -235,7 +235,7 @@ public class MappingsConverter { // non obfuscated classes can be migrated ClassEntry classEntry = oldObfType.getClassEntry(); - if (!classEntry.getPackageName().equals(Constants.NONE_PACKAGE)) { + if (!classEntry.getClassName().contains("/")) { return true; } diff --git a/src/main/java/cuchaz/enigma/gui/Gui.java b/src/main/java/cuchaz/enigma/gui/Gui.java index 0ccb3f7..a81ad06 100644 --- a/src/main/java/cuchaz/enigma/gui/Gui.java +++ b/src/main/java/cuchaz/enigma/gui/Gui.java @@ -574,8 +574,7 @@ public class Gui { int offset = text.getText().lastIndexOf('/') + 1; // If it's a class and isn't in the default package, assume that it's deobfuscated. - if (m_reference.getNameableEntry() instanceof ClassEntry && !text.getText().startsWith(Constants.NONE_PACKAGE) - && offset != 0) + if (m_reference.getNameableEntry() instanceof ClassEntry && text.getText().contains("/") && offset != 0) text.select(offset, text.getText().length()); else text.selectAll(); @@ -778,9 +777,8 @@ public class Gui { { String oldEntry = deobfReference.entry.getClassEntry().getPackageName(); String newEntry = new ClassEntry(Descriptor.toJvmName(newName)).getPackageName(); - if (oldEntry != null && newEntry != null) - moveClassTree(deobfReference, newName, oldEntry.equals(Constants.NONE_PACKAGE), - newEntry.equals(Constants.NONE_PACKAGE)); + moveClassTree(deobfReference, newName, oldEntry == null, + newEntry == null); } public void moveClassTree(EntryReference deobfReference, String newName, boolean isOldOb, boolean isNewOb) diff --git a/src/main/java/cuchaz/enigma/gui/node/ClassSelectorPackageNode.java b/src/main/java/cuchaz/enigma/gui/node/ClassSelectorPackageNode.java index d2e421e..30d8a9c 100644 --- a/src/main/java/cuchaz/enigma/gui/node/ClassSelectorPackageNode.java +++ b/src/main/java/cuchaz/enigma/gui/node/ClassSelectorPackageNode.java @@ -10,6 +10,7 @@ ******************************************************************************/ package cuchaz.enigma.gui.node; +import com.strobel.annotations.Nullable; import javassist.bytecode.Descriptor; import javax.swing.tree.DefaultMutableTreeNode; @@ -18,8 +19,8 @@ public class ClassSelectorPackageNode extends DefaultMutableTreeNode { private String packageName; - public ClassSelectorPackageNode(String packageName) { - this.packageName = packageName; + public ClassSelectorPackageNode(@Nullable String packageName) { + this.packageName = packageName != null ? packageName : "(none)"; } public String getPackageName() { diff --git a/src/main/java/cuchaz/enigma/mapping/MappingsSRGWriter.java b/src/main/java/cuchaz/enigma/mapping/MappingsSRGWriter.java index 229bf46..4d0c261 100644 --- a/src/main/java/cuchaz/enigma/mapping/MappingsSRGWriter.java +++ b/src/main/java/cuchaz/enigma/mapping/MappingsSRGWriter.java @@ -34,25 +34,25 @@ public class MappingsSRGWriter { if(innerClassMapping.getDeobfName() == null || innerClassMapping.getObfSimpleName() == null || innerClassMapping.getDeobfName() == null){ continue; } - String innerClassName = classMapping.getObfSimpleName() + "$" + innerClassMapping.getObfSimpleName().replace("none/", ""); - String innerDebofClassName = classMapping.getDeobfName() + "$" + innerClassMapping.getDeobfName().replace("none/", ""); + String innerClassName = classMapping.getObfSimpleName() + "$" + innerClassMapping.getObfSimpleName(); + String innerDeobfClassName = classMapping.getDeobfName() + "$" + innerClassMapping.getDeobfName(); writer.write("CL: " + innerClassName + " " + classMapping.getDeobfName() + "$" + innerClassMapping.getDeobfName()); writer.write(System.lineSeparator()); for (FieldMapping fieldMapping : sorted(innerClassMapping.fields())) { - fieldMappings.add("FD: " + innerClassName + "/" + fieldMapping.getObfName() + " " + innerDebofClassName + "/" + fieldMapping.getDeobfName()); + fieldMappings.add("FD: " + innerClassName + "/" + fieldMapping.getObfName() + " " + innerDeobfClassName + "/" + fieldMapping.getDeobfName()); } for (MethodMapping methodMapping : sorted(innerClassMapping.methods())) { - methodMappings.add("MD: " + innerClassName + "/" + methodMapping.getObfName() + " " + methodMapping.getObfSignature().toString().replace("none/", "") + " " + innerDebofClassName + "/" + methodMapping.getDeobfName() + " " + mappings.getTranslator(TranslationDirection.Deobfuscating, index).translateSignature(methodMapping.getObfSignature())); + methodMappings.add("MD: " + innerClassName + "/" + methodMapping.getObfName() + " " + methodMapping.getObfSignature().toString() + " " + innerDeobfClassName + "/" + methodMapping.getDeobfName() + " " + mappings.getTranslator(TranslationDirection.Deobfuscating, index).translateSignature(methodMapping.getObfSignature())); } } for (FieldMapping fieldMapping : sorted(classMapping.fields())) { - fieldMappings.add("FD: " + classMapping.getObfFullName().replace("none/", "") + "/" + fieldMapping.getObfName() + " " + classMapping.getDeobfName() + "/" + fieldMapping.getDeobfName()); + fieldMappings.add("FD: " + classMapping.getObfFullName() + "/" + fieldMapping.getObfName() + " " + classMapping.getDeobfName() + "/" + fieldMapping.getDeobfName()); } for (MethodMapping methodMapping : sorted(classMapping.methods())) { - methodMappings.add("MD: " + classMapping.getObfFullName().replace("none/", "") + "/" + methodMapping.getObfName() + " " + methodMapping.getObfSignature().toString().replace("none/", "") + " " + classMapping.getDeobfName() + "/" + methodMapping.getDeobfName() + " " + mappings.getTranslator(TranslationDirection.Deobfuscating, index).translateSignature(methodMapping.getObfSignature())); + methodMappings.add("MD: " + classMapping.getObfFullName() + "/" + methodMapping.getObfName() + " " + methodMapping.getObfSignature().toString() + " " + classMapping.getDeobfName() + "/" + methodMapping.getDeobfName() + " " + mappings.getTranslator(TranslationDirection.Deobfuscating, index).translateSignature(methodMapping.getObfSignature())); } } for(String fd : fieldMappings){ -- cgit v1.2.3