summaryrefslogtreecommitdiff
path: root/src/cuchaz/enigma/Deobfuscator.java
diff options
context:
space:
mode:
authorGravatar jeff2014-10-02 22:18:23 -0400
committerGravatar jeff2014-10-02 22:18:23 -0400
commit42e3b23f03a98a81ce7238bda96c4f046eab30be (patch)
tree6593c9c00b70940b3444301f105f7a917b2d29d8 /src/cuchaz/enigma/Deobfuscator.java
parentfix inner classes test (diff)
downloadenigma-fork-42e3b23f03a98a81ce7238bda96c4f046eab30be.tar.gz
enigma-fork-42e3b23f03a98a81ce7238bda96c4f046eab30be.tar.xz
enigma-fork-42e3b23f03a98a81ce7238bda96c4f046eab30be.zip
fixed issue with decompiling inner classes
Diffstat (limited to 'src/cuchaz/enigma/Deobfuscator.java')
-rw-r--r--src/cuchaz/enigma/Deobfuscator.java8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/cuchaz/enigma/Deobfuscator.java b/src/cuchaz/enigma/Deobfuscator.java
index 7e0f092..82c786c 100644
--- a/src/cuchaz/enigma/Deobfuscator.java
+++ b/src/cuchaz/enigma/Deobfuscator.java
@@ -127,11 +127,13 @@ public class Deobfuscator
127 Map<String,String> renames = Maps.newHashMap(); 127 Map<String,String> renames = Maps.newHashMap();
128 for( ClassMapping classMapping : val.classes() ) 128 for( ClassMapping classMapping : val.classes() )
129 { 129 {
130 String outerClassName = m_jarIndex.getOuterClass( classMapping.getObfName() ); 130 // make sure we strip the packages off of obfuscated inner classes
131 String innerClassName = new ClassEntry( classMapping.getObfName() ).getSimpleName();
132 String outerClassName = m_jarIndex.getOuterClass( innerClassName );
131 if( outerClassName != null ) 133 if( outerClassName != null )
132 { 134 {
133 // build the composite class name 135 // build the composite class name
134 String newName = outerClassName + "$" + new ClassEntry( classMapping.getObfName() ).getSimpleName(); 136 String newName = outerClassName + "$" + innerClassName;
135 137
136 // add a rename 138 // add a rename
137 renames.put( classMapping.getObfName(), newName ); 139 renames.put( classMapping.getObfName(), newName );
@@ -217,7 +219,7 @@ public class Deobfuscator
217 { 219 {
218 // check the class 220 // check the class
219 ClassEntry classEntry = new ClassEntry( classMapping.getObfName() ); 221 ClassEntry classEntry = new ClassEntry( classMapping.getObfName() );
220 String outerClassName = m_jarIndex.getOuterClass( classMapping.getObfName() ); 222 String outerClassName = m_jarIndex.getOuterClass( classEntry.getSimpleName() );
221 if( outerClassName != null ) 223 if( outerClassName != null )
222 { 224 {
223 classEntry = new ClassEntry( outerClassName + "$" + classMapping.getObfName() ); 225 classEntry = new ClassEntry( outerClassName + "$" + classMapping.getObfName() );