summaryrefslogtreecommitdiff
path: root/src/cuchaz
diff options
context:
space:
mode:
authorGravatar jeff2014-08-06 23:00:10 -0400
committerGravatar jeff2014-08-06 23:00:10 -0400
commit13c1b15a9278eeb62f6a4a58b89f4336d02dbf73 (patch)
treeb19f66c3aec9f5457b2ba2ded74f6a6260b8a616 /src/cuchaz
parentadded open entry function to popup menu (diff)
downloadenigma-13c1b15a9278eeb62f6a4a58b89f4336d02dbf73.tar.gz
enigma-13c1b15a9278eeb62f6a4a58b89f4336d02dbf73.tar.xz
enigma-13c1b15a9278eeb62f6a4a58b89f4336d02dbf73.zip
added un-obfuscated classes to the deobfuscated classes list
Diffstat (limited to 'src/cuchaz')
-rw-r--r--src/cuchaz/enigma/ClassFile.java5
-rw-r--r--src/cuchaz/enigma/Deobfuscator.java4
-rw-r--r--src/cuchaz/enigma/TranslatingTypeLoader.java6
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;
19import javassist.ByteArrayClassPath; 19import javassist.ByteArrayClassPath;
20import javassist.ClassPool; 20import javassist.ClassPool;
21import javassist.CtClass; 21import javassist.CtClass;
22import javassist.bytecode.Descriptor;
22 23
23import com.strobel.assembler.metadata.Buffer; 24import com.strobel.assembler.metadata.Buffer;
24import com.strobel.assembler.metadata.ITypeLoader; 25import 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();