From 698f4d025e0b9ee5bbd1bd701cc46c340b8b4d9c Mon Sep 17 00:00:00 2001 From: Cuchaz Date: Sat, 28 Mar 2015 19:12:53 -0400 Subject: add methods for better runtime obfuscation in M3L --- src/cuchaz/enigma/analysis/TranslationIndex.java | 26 +++++++++++++++--------- src/cuchaz/enigma/mapping/Translator.java | 4 ++++ 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/src/cuchaz/enigma/analysis/TranslationIndex.java b/src/cuchaz/enigma/analysis/TranslationIndex.java index 8651ebd6..bd77344c 100644 --- a/src/cuchaz/enigma/analysis/TranslationIndex.java +++ b/src/cuchaz/enigma/analysis/TranslationIndex.java @@ -84,6 +84,10 @@ public class TranslationIndex implements Serializable { } public void indexClass(CtClass c) { + indexClass(c, true); + } + + public void indexClass(CtClass c, boolean indexMembers) { ClassEntry classEntry = EntryFactory.getClassEntry(c); @@ -93,16 +97,18 @@ public class TranslationIndex implements Serializable { m_superclasses.put(classEntry, superclassEntry); } - // add fields - for (CtField field : c.getDeclaredFields()) { - FieldEntry fieldEntry = EntryFactory.getFieldEntry(field); - m_fieldEntries.put(fieldEntry.getClassEntry(), fieldEntry); - } - - // add behaviors - for (CtBehavior behavior : c.getDeclaredBehaviors()) { - BehaviorEntry behaviorEntry = EntryFactory.getBehaviorEntry(behavior); - m_behaviorEntries.put(behaviorEntry.getClassEntry(), behaviorEntry); + if (indexMembers) { + // add fields + for (CtField field : c.getDeclaredFields()) { + FieldEntry fieldEntry = EntryFactory.getFieldEntry(field); + m_fieldEntries.put(fieldEntry.getClassEntry(), fieldEntry); + } + + // add behaviors + for (CtBehavior behavior : c.getDeclaredBehaviors()) { + BehaviorEntry behaviorEntry = EntryFactory.getBehaviorEntry(behavior); + m_behaviorEntries.put(behaviorEntry.getClassEntry(), behaviorEntry); + } } } diff --git a/src/cuchaz/enigma/mapping/Translator.java b/src/cuchaz/enigma/mapping/Translator.java index dcb7435f..5d174947 100644 --- a/src/cuchaz/enigma/mapping/Translator.java +++ b/src/cuchaz/enigma/mapping/Translator.java @@ -43,6 +43,10 @@ public class Translator { m_index = index; } + public TranslationDirection getDirection() { + return m_direction; + } + public TranslationIndex getTranslationIndex() { return m_index; } -- cgit v1.2.3