summaryrefslogtreecommitdiff
path: root/src/cuchaz/enigma
diff options
context:
space:
mode:
authorGravatar jeff2015-02-10 23:26:33 -0500
committerGravatar jeff2015-02-10 23:26:33 -0500
commit1bddb51a8370f96af2dfd61e75d72b155b71923e (patch)
tree1528622baafd6bb87ab78e9906ec6411261871f1 /src/cuchaz/enigma
parentblack list Object methods from deobfuscation (diff)
downloadenigma-fork-0.7_beta.tar.gz
enigma-fork-0.7_beta.tar.xz
enigma-fork-0.7_beta.zip
repackage as v0.7bv0.7_beta
Diffstat (limited to 'src/cuchaz/enigma')
-rw-r--r--src/cuchaz/enigma/Constants.java2
-rw-r--r--src/cuchaz/enigma/TranslatingTypeLoader.java2
-rw-r--r--src/cuchaz/enigma/analysis/BridgeMarker.java11
-rw-r--r--src/cuchaz/enigma/analysis/JarIndex.java10
4 files changed, 10 insertions, 15 deletions
diff --git a/src/cuchaz/enigma/Constants.java b/src/cuchaz/enigma/Constants.java
index a1ba2e9..3bf3999 100644
--- a/src/cuchaz/enigma/Constants.java
+++ b/src/cuchaz/enigma/Constants.java
@@ -12,7 +12,7 @@ package cuchaz.enigma;
12 12
13public class Constants { 13public class Constants {
14 public static final String Name = "Enigma"; 14 public static final String Name = "Enigma";
15 public static final String Version = "0.6 beta"; 15 public static final String Version = "0.7 beta";
16 public static final String Url = "http://www.cuchazinteractive.com/enigma"; 16 public static final String Url = "http://www.cuchazinteractive.com/enigma";
17 public static final int MiB = 1024 * 1024; // 1 mebibyte 17 public static final int MiB = 1024 * 1024; // 1 mebibyte
18 public static final int KiB = 1024; // 1 kebibyte 18 public static final int KiB = 1024; // 1 kebibyte
diff --git a/src/cuchaz/enigma/TranslatingTypeLoader.java b/src/cuchaz/enigma/TranslatingTypeLoader.java
index 19e3d2a..12cde4b 100644
--- a/src/cuchaz/enigma/TranslatingTypeLoader.java
+++ b/src/cuchaz/enigma/TranslatingTypeLoader.java
@@ -199,7 +199,7 @@ public class TranslatingTypeLoader implements ITypeLoader {
199 assertClassName(c, obfClassEntry); 199 assertClassName(c, obfClassEntry);
200 200
201 // do all kinds of deobfuscating transformations on the class 201 // do all kinds of deobfuscating transformations on the class
202 new BridgeMarker(m_jarIndex.getBridgedMethods()).markBridges(c); 202 new BridgeMarker(m_jarIndex).markBridges(c);
203 new MethodParameterWriter(m_deobfuscatingTranslator).writeMethodArguments(c); 203 new MethodParameterWriter(m_deobfuscatingTranslator).writeMethodArguments(c);
204 new ClassTranslator(m_deobfuscatingTranslator).translate(c); 204 new ClassTranslator(m_deobfuscatingTranslator).translate(c);
205 205
diff --git a/src/cuchaz/enigma/analysis/BridgeMarker.java b/src/cuchaz/enigma/analysis/BridgeMarker.java
index e80f87d..28e3517 100644
--- a/src/cuchaz/enigma/analysis/BridgeMarker.java
+++ b/src/cuchaz/enigma/analysis/BridgeMarker.java
@@ -3,18 +3,15 @@ package cuchaz.enigma.analysis;
3import javassist.CtClass; 3import javassist.CtClass;
4import javassist.CtMethod; 4import javassist.CtMethod;
5import javassist.bytecode.AccessFlag; 5import javassist.bytecode.AccessFlag;
6
7import com.google.common.collect.BiMap;
8
9import cuchaz.enigma.mapping.EntryFactory; 6import cuchaz.enigma.mapping.EntryFactory;
10import cuchaz.enigma.mapping.MethodEntry; 7import cuchaz.enigma.mapping.MethodEntry;
11 8
12public class BridgeMarker { 9public class BridgeMarker {
13 10
14 private BiMap<MethodEntry,MethodEntry> m_bridgedMethods; 11 private JarIndex m_jarIndex;
15 12
16 public BridgeMarker(BiMap<MethodEntry,MethodEntry> bridgedMethods) { 13 public BridgeMarker(JarIndex jarIndex) {
17 m_bridgedMethods = bridgedMethods; 14 m_jarIndex = jarIndex;
18 } 15 }
19 16
20 public void markBridges(CtClass c) { 17 public void markBridges(CtClass c) {
@@ -23,7 +20,7 @@ public class BridgeMarker {
23 MethodEntry methodEntry = EntryFactory.getMethodEntry(method); 20 MethodEntry methodEntry = EntryFactory.getMethodEntry(method);
24 21
25 // is this a bridge method? 22 // is this a bridge method?
26 MethodEntry bridgedMethodEntry = m_bridgedMethods.get(methodEntry); 23 MethodEntry bridgedMethodEntry = m_jarIndex.getBridgedMethod(methodEntry);
27 if (bridgedMethodEntry != null) { 24 if (bridgedMethodEntry != null) {
28 25
29 // it's a bridge method! add the bridge flag 26 // it's a bridge method! add the bridge flag
diff --git a/src/cuchaz/enigma/analysis/JarIndex.java b/src/cuchaz/enigma/analysis/JarIndex.java
index 797deb8..1c74f15 100644
--- a/src/cuchaz/enigma/analysis/JarIndex.java
+++ b/src/cuchaz/enigma/analysis/JarIndex.java
@@ -34,8 +34,6 @@ import javassist.expr.FieldAccess;
34import javassist.expr.MethodCall; 34import javassist.expr.MethodCall;
35import javassist.expr.NewExpr; 35import javassist.expr.NewExpr;
36 36
37import com.google.common.collect.BiMap;
38import com.google.common.collect.HashBiMap;
39import com.google.common.collect.HashMultimap; 37import com.google.common.collect.HashMultimap;
40import com.google.common.collect.Lists; 38import com.google.common.collect.Lists;
41import com.google.common.collect.Maps; 39import com.google.common.collect.Maps;
@@ -66,7 +64,7 @@ public class JarIndex {
66 private Multimap<String,String> m_innerClasses; 64 private Multimap<String,String> m_innerClasses;
67 private Map<String,String> m_outerClasses; 65 private Map<String,String> m_outerClasses;
68 private Map<String,BehaviorEntry> m_anonymousClasses; 66 private Map<String,BehaviorEntry> m_anonymousClasses;
69 private BiMap<MethodEntry,MethodEntry> m_bridgedMethods; 67 private Map<MethodEntry,MethodEntry> m_bridgedMethods;
70 68
71 public JarIndex() { 69 public JarIndex() {
72 m_obfClassEntries = Sets.newHashSet(); 70 m_obfClassEntries = Sets.newHashSet();
@@ -79,7 +77,7 @@ public class JarIndex {
79 m_innerClasses = HashMultimap.create(); 77 m_innerClasses = HashMultimap.create();
80 m_outerClasses = Maps.newHashMap(); 78 m_outerClasses = Maps.newHashMap();
81 m_anonymousClasses = Maps.newHashMap(); 79 m_anonymousClasses = Maps.newHashMap();
82 m_bridgedMethods = HashBiMap.create(); 80 m_bridgedMethods = Maps.newHashMap();
83 } 81 }
84 82
85 public void indexJar(JarFile jar, boolean buildInnerClasses) { 83 public void indexJar(JarFile jar, boolean buildInnerClasses) {
@@ -758,7 +756,7 @@ public class JarIndex {
758 } 756 }
759 } 757 }
760 758
761 public BiMap<MethodEntry,MethodEntry> getBridgedMethods() { 759 public MethodEntry getBridgedMethod(MethodEntry bridgeMethodEntry) {
762 return m_bridgedMethods; 760 return m_bridgedMethods.get(bridgeMethodEntry);
763 } 761 }
764} 762}