diff options
| author | 2014-08-06 23:00:10 -0400 | |
|---|---|---|
| committer | 2014-08-06 23:00:10 -0400 | |
| commit | 13c1b15a9278eeb62f6a4a58b89f4336d02dbf73 (patch) | |
| tree | b19f66c3aec9f5457b2ba2ded74f6a6260b8a616 | |
| parent | added open entry function to popup menu (diff) | |
| download | enigma-13c1b15a9278eeb62f6a4a58b89f4336d02dbf73.tar.gz enigma-13c1b15a9278eeb62f6a4a58b89f4336d02dbf73.tar.xz enigma-13c1b15a9278eeb62f6a4a58b89f4336d02dbf73.zip | |
added un-obfuscated classes to the deobfuscated classes list
| -rw-r--r-- | src/cuchaz/enigma/ClassFile.java | 5 | ||||
| -rw-r--r-- | src/cuchaz/enigma/Deobfuscator.java | 4 | ||||
| -rw-r--r-- | src/cuchaz/enigma/TranslatingTypeLoader.java | 6 |
3 files changed, 13 insertions, 2 deletions
diff --git a/src/cuchaz/enigma/ClassFile.java b/src/cuchaz/enigma/ClassFile.java index 613b379d..043558d0 100644 --- a/src/cuchaz/enigma/ClassFile.java +++ b/src/cuchaz/enigma/ClassFile.java | |||
| @@ -33,4 +33,9 @@ public class ClassFile | |||
| 33 | { | 33 | { |
| 34 | return m_name.replace( ".", "/" ) + ".class"; | 34 | return m_name.replace( ".", "/" ) + ".class"; |
| 35 | } | 35 | } |
| 36 | |||
| 37 | public boolean isInPackage( ) | ||
| 38 | { | ||
| 39 | return m_name.indexOf( '/' ) >= 0; | ||
| 40 | } | ||
| 36 | } | 41 | } |
diff --git a/src/cuchaz/enigma/Deobfuscator.java b/src/cuchaz/enigma/Deobfuscator.java index 2fceef1c..e067183e 100644 --- a/src/cuchaz/enigma/Deobfuscator.java +++ b/src/cuchaz/enigma/Deobfuscator.java | |||
| @@ -133,6 +133,10 @@ public class Deobfuscator | |||
| 133 | { | 133 | { |
| 134 | deobfClasses.put( classFile, classMapping.getDeobfName() ); | 134 | deobfClasses.put( classFile, classMapping.getDeobfName() ); |
| 135 | } | 135 | } |
| 136 | else if( classFile.isInPackage() ) | ||
| 137 | { | ||
| 138 | deobfClasses.put( classFile, classFile.getName() ); | ||
| 139 | } | ||
| 136 | else | 140 | else |
| 137 | { | 141 | { |
| 138 | obfClasses.add( classFile ); | 142 | obfClasses.add( classFile ); |
diff --git a/src/cuchaz/enigma/TranslatingTypeLoader.java b/src/cuchaz/enigma/TranslatingTypeLoader.java index 44fe9805..f5112e0f 100644 --- a/src/cuchaz/enigma/TranslatingTypeLoader.java +++ b/src/cuchaz/enigma/TranslatingTypeLoader.java | |||
| @@ -19,6 +19,7 @@ import java.util.jar.JarFile; | |||
| 19 | import javassist.ByteArrayClassPath; | 19 | import javassist.ByteArrayClassPath; |
| 20 | import javassist.ClassPool; | 20 | import javassist.ClassPool; |
| 21 | import javassist.CtClass; | 21 | import javassist.CtClass; |
| 22 | import javassist.bytecode.Descriptor; | ||
| 22 | 23 | ||
| 23 | import com.strobel.assembler.metadata.Buffer; | 24 | import com.strobel.assembler.metadata.Buffer; |
| 24 | import com.strobel.assembler.metadata.ITypeLoader; | 25 | import com.strobel.assembler.metadata.ITypeLoader; |
| @@ -75,11 +76,12 @@ public class TranslatingTypeLoader implements ITypeLoader | |||
| 75 | buf = data.toByteArray(); | 76 | buf = data.toByteArray(); |
| 76 | 77 | ||
| 77 | // translate the class | 78 | // translate the class |
| 79 | String javaName = Descriptor.toJavaName( name ); | ||
| 78 | ClassPool classPool = new ClassPool(); | 80 | ClassPool classPool = new ClassPool(); |
| 79 | classPool.insertClassPath( new ByteArrayClassPath( name, buf ) ); | 81 | classPool.insertClassPath( new ByteArrayClassPath( javaName, buf ) ); |
| 80 | try | 82 | try |
| 81 | { | 83 | { |
| 82 | CtClass c = classPool.get( name ); | 84 | CtClass c = classPool.get( javaName ); |
| 83 | new MethodParameterWriter( m_deobfuscatingTranslator ).writeMethodArguments( c ); | 85 | new MethodParameterWriter( m_deobfuscatingTranslator ).writeMethodArguments( c ); |
| 84 | new ClassTranslator( m_deobfuscatingTranslator ).translate( c ); | 86 | new ClassTranslator( m_deobfuscatingTranslator ).translate( c ); |
| 85 | buf = c.toBytecode(); | 87 | buf = c.toBytecode(); |