summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Thog2017-04-05 19:51:25 +0200
committerGravatar Thog2017-04-05 19:51:25 +0200
commit1d513e75cb5ed7c8a3b21f868b6edfd24ce49133 (patch)
tree64ce7b377e77710b36ef285226bf62430889c1d1
parentFix tiny mapping separator, and print out stacktrace on error. (diff)
downloadenigma-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.java8
-rw-r--r--src/main/java/cuchaz/enigma/gui/GuiController.java1
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.*;
29import cuchaz.enigma.bytecode.ClassProtectifier; 29import cuchaz.enigma.bytecode.ClassProtectifier;
30import cuchaz.enigma.bytecode.ClassPublifier; 30import cuchaz.enigma.bytecode.ClassPublifier;
31import cuchaz.enigma.mapping.*; 31import cuchaz.enigma.mapping.*;
32import cuchaz.enigma.throwables.IllegalNameException;
32import cuchaz.enigma.utils.Utils; 33import cuchaz.enigma.utils.Utils;
33import javassist.CtClass; 34import javassist.CtClass;
34import javassist.bytecode.Descriptor; 35import 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) {