diff options
| author | 2017-04-05 19:51:25 +0200 | |
|---|---|---|
| committer | 2017-04-05 19:51:25 +0200 | |
| commit | 1d513e75cb5ed7c8a3b21f868b6edfd24ce49133 (patch) | |
| tree | 64ce7b377e77710b36ef285226bf62430889c1d1 | |
| parent | Fix tiny mapping separator, and print out stacktrace on error. (diff) | |
| download | enigma-1d513e75cb5ed7c8a3b21f868b6edfd24ce49133.tar.gz enigma-1d513e75cb5ed7c8a3b21f868b6edfd24ce49133.tar.xz enigma-1d513e75cb5ed7c8a3b21f868b6edfd24ce49133.zip | |
Avoid crash using rebuild method names + make sure that the mapping is dirty if rebuildMethodNames is called (Fix #56)
| -rw-r--r-- | src/main/java/cuchaz/enigma/Deobfuscator.java | 8 | ||||
| -rw-r--r-- | src/main/java/cuchaz/enigma/gui/GuiController.java | 1 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/main/java/cuchaz/enigma/Deobfuscator.java b/src/main/java/cuchaz/enigma/Deobfuscator.java index d72dfdd2..4e4a54f6 100644 --- a/src/main/java/cuchaz/enigma/Deobfuscator.java +++ b/src/main/java/cuchaz/enigma/Deobfuscator.java | |||
| @@ -29,6 +29,7 @@ import cuchaz.enigma.analysis.*; | |||
| 29 | import cuchaz.enigma.bytecode.ClassProtectifier; | 29 | import cuchaz.enigma.bytecode.ClassProtectifier; |
| 30 | import cuchaz.enigma.bytecode.ClassPublifier; | 30 | import cuchaz.enigma.bytecode.ClassPublifier; |
| 31 | import cuchaz.enigma.mapping.*; | 31 | import cuchaz.enigma.mapping.*; |
| 32 | import cuchaz.enigma.throwables.IllegalNameException; | ||
| 32 | import cuchaz.enigma.utils.Utils; | 33 | import cuchaz.enigma.utils.Utils; |
| 33 | import javassist.CtClass; | 34 | import javassist.CtClass; |
| 34 | import javassist.bytecode.Descriptor; | 35 | import javassist.bytecode.Descriptor; |
| @@ -372,7 +373,12 @@ public class Deobfuscator { | |||
| 372 | Entry obfEntry = entry.getKey(); | 373 | Entry obfEntry = entry.getKey(); |
| 373 | String name = entry.getValue(); | 374 | String name = entry.getValue(); |
| 374 | 375 | ||
| 375 | rename(obfEntry, name); | 376 | try { |
| 377 | rename(obfEntry, name); | ||
| 378 | } catch (IllegalNameException exception) | ||
| 379 | { | ||
| 380 | System.out.println("WARNING: " + exception.getMessage()); | ||
| 381 | } | ||
| 376 | } | 382 | } |
| 377 | } | 383 | } |
| 378 | } | 384 | } |
diff --git a/src/main/java/cuchaz/enigma/gui/GuiController.java b/src/main/java/cuchaz/enigma/gui/GuiController.java index c3cdbf83..6d98743d 100644 --- a/src/main/java/cuchaz/enigma/gui/GuiController.java +++ b/src/main/java/cuchaz/enigma/gui/GuiController.java | |||
| @@ -111,6 +111,7 @@ public class GuiController { | |||
| 111 | 111 | ||
| 112 | public void rebuildMethodNames() { | 112 | public void rebuildMethodNames() { |
| 113 | ProgressDialog.runInThread(this.gui.getFrame(), progress -> this.deobfuscator.rebuildMethodNames(progress)); | 113 | ProgressDialog.runInThread(this.gui.getFrame(), progress -> this.deobfuscator.rebuildMethodNames(progress)); |
| 114 | this.isDirty = true; | ||
| 114 | } | 115 | } |
| 115 | 116 | ||
| 116 | public void exportSource(final File dirOut) { | 117 | public void exportSource(final File dirOut) { |