diff options
| author | 2015-02-20 18:19:57 -0500 | |
|---|---|---|
| committer | 2015-02-20 18:19:57 -0500 | |
| commit | ddaa0f6bdeeec392764ff36d822d39baf154d8c6 (patch) | |
| tree | 2e2851013ac39024d9d86753857337cc1c615338 | |
| parent | Added tag v0.7 beta for changeset 36d527e5aeb7 (diff) | |
| download | enigma-ddaa0f6bdeeec392764ff36d822d39baf154d8c6.tar.gz enigma-ddaa0f6bdeeec392764ff36d822d39baf154d8c6.tar.xz enigma-ddaa0f6bdeeec392764ff36d822d39baf154d8c6.zip | |
better error messages for procyon type resolution
| -rw-r--r-- | src/cuchaz/enigma/Deobfuscator.java | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/cuchaz/enigma/Deobfuscator.java b/src/cuchaz/enigma/Deobfuscator.java index 9cd6e41f..c1954fc7 100644 --- a/src/cuchaz/enigma/Deobfuscator.java +++ b/src/cuchaz/enigma/Deobfuscator.java | |||
| @@ -31,6 +31,7 @@ import com.google.common.collect.Maps; | |||
| 31 | import com.google.common.collect.Sets; | 31 | import com.google.common.collect.Sets; |
| 32 | import com.strobel.assembler.metadata.MetadataSystem; | 32 | import com.strobel.assembler.metadata.MetadataSystem; |
| 33 | import com.strobel.assembler.metadata.TypeDefinition; | 33 | import com.strobel.assembler.metadata.TypeDefinition; |
| 34 | import com.strobel.assembler.metadata.TypeReference; | ||
| 34 | import com.strobel.decompiler.DecompilerContext; | 35 | import com.strobel.decompiler.DecompilerContext; |
| 35 | import com.strobel.decompiler.DecompilerSettings; | 36 | import com.strobel.decompiler.DecompilerSettings; |
| 36 | import com.strobel.decompiler.PlainTextOutput; | 37 | import com.strobel.decompiler.PlainTextOutput; |
| @@ -225,9 +226,15 @@ public class Deobfuscator { | |||
| 225 | getTranslator(TranslationDirection.Obfuscating), | 226 | getTranslator(TranslationDirection.Obfuscating), |
| 226 | getTranslator(TranslationDirection.Deobfuscating) | 227 | getTranslator(TranslationDirection.Deobfuscating) |
| 227 | )); | 228 | )); |
| 229 | |||
| 230 | // see if procyon can find the type | ||
| 231 | TypeReference type = new MetadataSystem(m_settings.getTypeLoader()).lookupType(lookupClassName); | ||
| 232 | if (type == null) { | ||
| 233 | throw new Error("Unable to find type: " + lookupClassName + " (obf name: " + obfClassName + ")"); | ||
| 234 | } | ||
| 235 | TypeDefinition resolvedType = type.resolve(); | ||
| 228 | 236 | ||
| 229 | // decompile it! | 237 | // decompile it! |
| 230 | TypeDefinition resolvedType = new MetadataSystem(m_settings.getTypeLoader()).lookupType(lookupClassName).resolve(); | ||
| 231 | DecompilerContext context = new DecompilerContext(); | 238 | DecompilerContext context = new DecompilerContext(); |
| 232 | context.setCurrentType(resolvedType); | 239 | context.setCurrentType(resolvedType); |
| 233 | context.setSettings(m_settings); | 240 | context.setSettings(m_settings); |