summaryrefslogtreecommitdiff
path: root/src/cuchaz
diff options
context:
space:
mode:
authorGravatar jeff2014-08-24 16:35:38 -0400
committerGravatar jeff2014-08-24 16:35:38 -0400
commit9c28492b717b866c6b70fe1ef4552eac66857f25 (patch)
treedeb2c96b12cf37867744c6a98c11251106b523df /src/cuchaz
parentduh! We can't put classes in a package called "default" (diff)
downloadenigma-9c28492b717b866c6b70fe1ef4552eac66857f25.tar.gz
enigma-9c28492b717b866c6b70fe1ef4552eac66857f25.tar.xz
enigma-9c28492b717b866c6b70fe1ef4552eac66857f25.zip
minor bug fixes
Diffstat (limited to 'src/cuchaz')
-rw-r--r--src/cuchaz/enigma/Deobfuscator.java1
-rw-r--r--src/cuchaz/enigma/Main.java2
-rw-r--r--src/cuchaz/enigma/TranslatingTypeLoader.java6
-rw-r--r--src/cuchaz/enigma/bytecode/ClassRenamer.java4
4 files changed, 11 insertions, 2 deletions
diff --git a/src/cuchaz/enigma/Deobfuscator.java b/src/cuchaz/enigma/Deobfuscator.java
index cfd28429..0bc4a043 100644
--- a/src/cuchaz/enigma/Deobfuscator.java
+++ b/src/cuchaz/enigma/Deobfuscator.java
@@ -73,6 +73,7 @@ public class Deobfuscator
73 73
74 // config the decompiler 74 // config the decompiler
75 m_settings = DecompilerSettings.javaDefaults(); 75 m_settings = DecompilerSettings.javaDefaults();
76 m_settings.setForceExplicitImports( true );
76 // DEBUG 77 // DEBUG
77 //m_settings.setShowSyntheticMembers( true ); 78 //m_settings.setShowSyntheticMembers( true );
78 79
diff --git a/src/cuchaz/enigma/Main.java b/src/cuchaz/enigma/Main.java
index c1547193..fe4d6e34 100644
--- a/src/cuchaz/enigma/Main.java
+++ b/src/cuchaz/enigma/Main.java
@@ -32,7 +32,7 @@ public class Main
32 } 32 }
33 33
34 // DEBUG 34 // DEBUG
35 //gui.getController().openDeclaration( new ClassEntry( "none/aay" ) ); 35 //gui.getController().openDeclaration( new ClassEntry( "none/bgl" ) );
36 } 36 }
37 37
38 private static File getFile( String path ) 38 private static File getFile( String path )
diff --git a/src/cuchaz/enigma/TranslatingTypeLoader.java b/src/cuchaz/enigma/TranslatingTypeLoader.java
index 162858de..763d767c 100644
--- a/src/cuchaz/enigma/TranslatingTypeLoader.java
+++ b/src/cuchaz/enigma/TranslatingTypeLoader.java
@@ -27,6 +27,7 @@ import javassist.bytecode.Descriptor;
27 27
28import com.beust.jcommander.internal.Maps; 28import com.beust.jcommander.internal.Maps;
29import com.strobel.assembler.metadata.Buffer; 29import com.strobel.assembler.metadata.Buffer;
30import com.strobel.assembler.metadata.ClasspathTypeLoader;
30import com.strobel.assembler.metadata.ITypeLoader; 31import com.strobel.assembler.metadata.ITypeLoader;
31 32
32import cuchaz.enigma.analysis.BridgeFixer; 33import cuchaz.enigma.analysis.BridgeFixer;
@@ -45,6 +46,7 @@ public class TranslatingTypeLoader implements ITypeLoader
45 private Translator m_obfuscatingTranslator; 46 private Translator m_obfuscatingTranslator;
46 private Translator m_deobfuscatingTranslator; 47 private Translator m_deobfuscatingTranslator;
47 private Map<String,byte[]> m_cache; 48 private Map<String,byte[]> m_cache;
49 private ClasspathTypeLoader m_defaultTypeLoader;
48 50
49 public TranslatingTypeLoader( JarFile jar, JarIndex jarIndex, Translator obfuscatingTranslator, Translator deobfuscatingTranslator ) 51 public TranslatingTypeLoader( JarFile jar, JarIndex jarIndex, Translator obfuscatingTranslator, Translator deobfuscatingTranslator )
50 { 52 {
@@ -53,6 +55,7 @@ public class TranslatingTypeLoader implements ITypeLoader
53 m_obfuscatingTranslator = obfuscatingTranslator; 55 m_obfuscatingTranslator = obfuscatingTranslator;
54 m_deobfuscatingTranslator = deobfuscatingTranslator; 56 m_deobfuscatingTranslator = deobfuscatingTranslator;
55 m_cache = Maps.newHashMap(); 57 m_cache = Maps.newHashMap();
58 m_defaultTypeLoader = new ClasspathTypeLoader();
56 } 59 }
57 60
58 public void clearCache( ) 61 public void clearCache( )
@@ -77,7 +80,8 @@ public class TranslatingTypeLoader implements ITypeLoader
77 80
78 if( data == null ) 81 if( data == null )
79 { 82 {
80 return false; 83 // chain to default type loader
84 return m_defaultTypeLoader.tryLoadType( deobfClassName, out );
81 } 85 }
82 86
83 // send the class to the decompiler 87 // send the class to the decompiler
diff --git a/src/cuchaz/enigma/bytecode/ClassRenamer.java b/src/cuchaz/enigma/bytecode/ClassRenamer.java
index cba58617..f3a8c0ef 100644
--- a/src/cuchaz/enigma/bytecode/ClassRenamer.java
+++ b/src/cuchaz/enigma/bytecode/ClassRenamer.java
@@ -45,6 +45,10 @@ public class ClassRenamer
45 { 45 {
46 ClassEntry inClassEntry = new ClassEntry( Descriptor.toJvmName( attr.innerClass( i ) ) ); 46 ClassEntry inClassEntry = new ClassEntry( Descriptor.toJvmName( attr.innerClass( i ) ) );
47 ClassEntry outClassEntry = map.get( inClassEntry ); 47 ClassEntry outClassEntry = map.get( inClassEntry );
48 if( outClassEntry == null )
49 {
50 continue;
51 }
48 attr.setInnerClassIndex( i, constants.addClassInfo( outClassEntry.getName() ) ); 52 attr.setInnerClassIndex( i, constants.addClassInfo( outClassEntry.getName() ) );
49 if( attr.outerClassIndex( i ) != 0 ) 53 if( attr.outerClassIndex( i ) != 0 )
50 { 54 {