From 13c1b15a9278eeb62f6a4a58b89f4336d02dbf73 Mon Sep 17 00:00:00 2001 From: jeff Date: Wed, 6 Aug 2014 23:00:10 -0400 Subject: added un-obfuscated classes to the deobfuscated classes list --- src/cuchaz/enigma/ClassFile.java | 5 +++++ src/cuchaz/enigma/Deobfuscator.java | 4 ++++ src/cuchaz/enigma/TranslatingTypeLoader.java | 6 ++++-- 3 files changed, 13 insertions(+), 2 deletions(-) (limited to 'src') 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 { return m_name.replace( ".", "/" ) + ".class"; } + + public boolean isInPackage( ) + { + return m_name.indexOf( '/' ) >= 0; + } } 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 { deobfClasses.put( classFile, classMapping.getDeobfName() ); } + else if( classFile.isInPackage() ) + { + deobfClasses.put( classFile, classFile.getName() ); + } else { 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; import javassist.ByteArrayClassPath; import javassist.ClassPool; import javassist.CtClass; +import javassist.bytecode.Descriptor; import com.strobel.assembler.metadata.Buffer; import com.strobel.assembler.metadata.ITypeLoader; @@ -75,11 +76,12 @@ public class TranslatingTypeLoader implements ITypeLoader buf = data.toByteArray(); // translate the class + String javaName = Descriptor.toJavaName( name ); ClassPool classPool = new ClassPool(); - classPool.insertClassPath( new ByteArrayClassPath( name, buf ) ); + classPool.insertClassPath( new ByteArrayClassPath( javaName, buf ) ); try { - CtClass c = classPool.get( name ); + CtClass c = classPool.get( javaName ); new MethodParameterWriter( m_deobfuscatingTranslator ).writeMethodArguments( c ); new ClassTranslator( m_deobfuscatingTranslator ).translate( c ); buf = c.toBytecode(); -- cgit v1.2.3