diff options
Diffstat (limited to 'src/main/java/cuchaz/enigma/Deobfuscator.java')
| -rw-r--r-- | src/main/java/cuchaz/enigma/Deobfuscator.java | 25 |
1 files changed, 12 insertions, 13 deletions
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 { | |||
| 156 | } | 156 | } |
| 157 | } | 157 | } |
| 158 | 158 | ||
| 159 | public TranslatingTypeLoader createTypeLoader() | ||
| 160 | { | ||
| 161 | return new TranslatingTypeLoader( | ||
| 162 | this.jar, | ||
| 163 | this.jarIndex, | ||
| 164 | getTranslator(TranslationDirection.Obfuscating), | ||
| 165 | getTranslator(TranslationDirection.Deobfuscating) | ||
| 166 | ); | ||
| 167 | } | ||
| 168 | |||
| 159 | public CompilationUnit getSourceTree(String className) { | 169 | public CompilationUnit getSourceTree(String className) { |
| 160 | 170 | ||
| 161 | // we don't know if this class name is obfuscated or deobfuscated | 171 | // we don't know if this class name is obfuscated or deobfuscated |
| @@ -172,12 +182,7 @@ public class Deobfuscator { | |||
| 172 | } | 182 | } |
| 173 | 183 | ||
| 174 | // set the type loader | 184 | // set the type loader |
| 175 | TranslatingTypeLoader loader = new TranslatingTypeLoader( | 185 | TranslatingTypeLoader loader = createTypeLoader(); |
| 176 | this.jar, | ||
| 177 | this.jarIndex, | ||
| 178 | getTranslator(TranslationDirection.Obfuscating), | ||
| 179 | getTranslator(TranslationDirection.Deobfuscating) | ||
| 180 | ); | ||
| 181 | this.settings.setTypeLoader(loader); | 186 | this.settings.setTypeLoader(loader); |
| 182 | 187 | ||
| 183 | // see if procyon can find the type | 188 | // see if procyon can find the type |
| @@ -383,13 +388,7 @@ public class Deobfuscator { | |||
| 383 | } | 388 | } |
| 384 | 389 | ||
| 385 | public void writeJar(File out, ProgressListener progress) { | 390 | public void writeJar(File out, ProgressListener progress) { |
| 386 | final TranslatingTypeLoader loader = new TranslatingTypeLoader( | 391 | transformJar(out, progress, createTypeLoader()::transformClass); |
| 387 | this.jar, | ||
| 388 | this.jarIndex, | ||
| 389 | getTranslator(TranslationDirection.Obfuscating), | ||
| 390 | getTranslator(TranslationDirection.Deobfuscating) | ||
| 391 | ); | ||
| 392 | transformJar(out, progress, loader::transformClass); | ||
| 393 | } | 392 | } |
| 394 | 393 | ||
| 395 | public void protectifyJar(File out, ProgressListener progress) { | 394 | public void protectifyJar(File out, ProgressListener progress) { |