From fb0b74520da0781cfae880e69360cd5580447a40 Mon Sep 17 00:00:00 2001 From: Thog Date: Mon, 15 Aug 2016 11:28:12 +0200 Subject: MARK EVERYTHING PUBLIC BECAUSE WE ARE EVIL --- src/main/java/cuchaz/enigma/TranslatingTypeLoader.java | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/main/java/cuchaz/enigma') diff --git a/src/main/java/cuchaz/enigma/TranslatingTypeLoader.java b/src/main/java/cuchaz/enigma/TranslatingTypeLoader.java index ad1d244..b3e5226 100644 --- a/src/main/java/cuchaz/enigma/TranslatingTypeLoader.java +++ b/src/main/java/cuchaz/enigma/TranslatingTypeLoader.java @@ -31,6 +31,7 @@ import cuchaz.enigma.bytecode.*; import cuchaz.enigma.mapping.ClassEntry; import cuchaz.enigma.mapping.Translator; import javassist.*; +import javassist.bytecode.AccessFlag; import javassist.bytecode.Descriptor; public class TranslatingTypeLoader implements ITypeLoader { @@ -201,10 +202,20 @@ public class TranslatingTypeLoader implements ITypeLoader { new MethodParameterWriter(this.deobfuscatingTranslator).writeMethodArguments(c); new LocalVariableRenamer(this.deobfuscatingTranslator).rename(c); new ClassTranslator(this.deobfuscatingTranslator).translate(c); + markAllTheThingsPublicBecauseWeAreEvil(c); return c; } + @Deprecated + private void markAllTheThingsPublicBecauseWeAreEvil(CtClass ctClass) + { + for (CtField field : ctClass.getDeclaredFields()) + field.setModifiers(AccessFlag.setPublic(field.getModifiers())); + for (CtBehavior behavior : ctClass.getDeclaredBehaviors()) + behavior.setModifiers(AccessFlag.setPublic(behavior.getModifiers())); + } + private void assertClassName(CtClass c, ClassEntry obfClassEntry) { String name1 = Descriptor.toJvmName(c.getName()); assert (name1.equals(obfClassEntry.getName())) : String.format("Looking for %s, instead found %s", obfClassEntry.getName(), name1); -- cgit v1.2.3