From 1d513e75cb5ed7c8a3b21f868b6edfd24ce49133 Mon Sep 17 00:00:00 2001 From: Thog Date: Wed, 5 Apr 2017 19:51:25 +0200 Subject: Avoid crash using rebuild method names + make sure that the mapping is dirty if rebuildMethodNames is called (Fix #56) --- src/main/java/cuchaz/enigma/Deobfuscator.java | 8 +++++++- src/main/java/cuchaz/enigma/gui/GuiController.java | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) 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.*; import cuchaz.enigma.bytecode.ClassProtectifier; import cuchaz.enigma.bytecode.ClassPublifier; import cuchaz.enigma.mapping.*; +import cuchaz.enigma.throwables.IllegalNameException; import cuchaz.enigma.utils.Utils; import javassist.CtClass; import javassist.bytecode.Descriptor; @@ -372,7 +373,12 @@ public class Deobfuscator { Entry obfEntry = entry.getKey(); String name = entry.getValue(); - rename(obfEntry, name); + try { + rename(obfEntry, name); + } catch (IllegalNameException exception) + { + System.out.println("WARNING: " + exception.getMessage()); + } } } } 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 { public void rebuildMethodNames() { ProgressDialog.runInThread(this.gui.getFrame(), progress -> this.deobfuscator.rebuildMethodNames(progress)); + this.isDirty = true; } public void exportSource(final File dirOut) { -- cgit v1.2.3