From 17feccc4b5e8a6205a8ddb17b91ef61fcfa2186c Mon Sep 17 00:00:00 2001 From: Thog Date: Mon, 17 Oct 2016 14:37:27 +0200 Subject: Method Converter: Add bytecode matching to match what is identical --- src/main/java/cuchaz/enigma/Deobfuscator.java | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) (limited to 'src/main/java/cuchaz/enigma/Deobfuscator.java') diff --git a/src/main/java/cuchaz/enigma/Deobfuscator.java b/src/main/java/cuchaz/enigma/Deobfuscator.java index 2207999..20bb8b9 100644 --- a/src/main/java/cuchaz/enigma/Deobfuscator.java +++ b/src/main/java/cuchaz/enigma/Deobfuscator.java @@ -156,6 +156,16 @@ public class Deobfuscator { } } + public TranslatingTypeLoader createTypeLoader() + { + return new TranslatingTypeLoader( + this.jar, + this.jarIndex, + getTranslator(TranslationDirection.Obfuscating), + getTranslator(TranslationDirection.Deobfuscating) + ); + } + public CompilationUnit getSourceTree(String className) { // we don't know if this class name is obfuscated or deobfuscated @@ -172,12 +182,7 @@ public class Deobfuscator { } // set the type loader - TranslatingTypeLoader loader = new TranslatingTypeLoader( - this.jar, - this.jarIndex, - getTranslator(TranslationDirection.Obfuscating), - getTranslator(TranslationDirection.Deobfuscating) - ); + TranslatingTypeLoader loader = createTypeLoader(); this.settings.setTypeLoader(loader); // see if procyon can find the type @@ -383,13 +388,7 @@ public class Deobfuscator { } public void writeJar(File out, ProgressListener progress) { - final TranslatingTypeLoader loader = new TranslatingTypeLoader( - this.jar, - this.jarIndex, - getTranslator(TranslationDirection.Obfuscating), - getTranslator(TranslationDirection.Deobfuscating) - ); - transformJar(out, progress, loader::transformClass); + transformJar(out, progress, createTypeLoader()::transformClass); } public void protectifyJar(File out, ProgressListener progress) { -- cgit v1.2.3