diff --git a/src/main/java/info/sigterm/deob/Deob.java b/src/main/java/info/sigterm/deob/Deob.java index f8ffc8c084..968e6ea49c 100644 --- a/src/main/java/info/sigterm/deob/Deob.java +++ b/src/main/java/info/sigterm/deob/Deob.java @@ -8,6 +8,7 @@ import info.sigterm.deob.deobfuscators.UnusedMethods; import info.sigterm.deob.deobfuscators.UnusedParameters; import info.sigterm.deob.deobfuscators.ConstantParameter; import info.sigterm.deob.deobfuscators.MethodInliner; +import info.sigterm.deob.deobfuscators.RenameUnique; import info.sigterm.deob.deobfuscators.UnreachedCode; import java.io.ByteArrayOutputStream; @@ -59,18 +60,18 @@ public class Deob bdur = System.currentTimeMillis() - bstart; System.out.println("illegal state exception took " + bdur/1000L + " seconds"); - // remove constant logically dead parameters - bstart = System.currentTimeMillis(); - new ConstantParameter().run(group); - bdur = System.currentTimeMillis() - bstart; - System.out.println("constant param took " + bdur/1000L + " seconds"); - - // remove unhit blocks - bstart = System.currentTimeMillis(); - new UnreachedCode().run(group); - //new UnusedBlocks().run(group); - bdur = System.currentTimeMillis() - bstart; - System.out.println("unused blocks took " + bdur/1000L + " seconds"); +// // remove constant logically dead parameters +// bstart = System.currentTimeMillis(); +// new ConstantParameter().run(group); +// bdur = System.currentTimeMillis() - bstart; +// System.out.println("constant param took " + bdur/1000L + " seconds"); +// +// // remove unhit blocks +// bstart = System.currentTimeMillis(); +// new UnreachedCode().run(group); +// //new UnusedBlocks().run(group); +// bdur = System.currentTimeMillis() - bstart; +// System.out.println("unused blocks took " + bdur/1000L + " seconds"); // remove unused parameters // bstart = System.currentTimeMillis(); @@ -82,20 +83,20 @@ public class Deob //new Jumps().run(group); // remove unused fields - bstart = System.currentTimeMillis(); - new UnusedFields().run(group); - bdur = System.currentTimeMillis() - bstart; - System.out.println("unused fields took " + bdur/1000L + " seconds"); - - // remove unused methods, again? - bstart = System.currentTimeMillis(); - new UnusedMethods().run(group); - bdur = System.currentTimeMillis() - bstart; - System.out.println("unused methods took " + bdur/1000L + " seconds"); +// bstart = System.currentTimeMillis(); +// new UnusedFields().run(group); +// bdur = System.currentTimeMillis() - bstart; +// System.out.println("unused fields took " + bdur/1000L + " seconds"); +// +// // remove unused methods, again? +// bstart = System.currentTimeMillis(); +// new UnusedMethods().run(group); +// bdur = System.currentTimeMillis() - bstart; +// System.out.println("unused methods took " + bdur/1000L + " seconds"); //new ModularArithmeticDeobfuscation().run(group); - new MethodInliner().run(group); + //new MethodInliner().run(group); saveJar(group, args[1]); diff --git a/src/main/java/info/sigterm/deob/attributes/code/instructions/MultiANewArray.java b/src/main/java/info/sigterm/deob/attributes/code/instructions/MultiANewArray.java index 29a277e533..9254bc1ccb 100644 --- a/src/main/java/info/sigterm/deob/attributes/code/instructions/MultiANewArray.java +++ b/src/main/java/info/sigterm/deob/attributes/code/instructions/MultiANewArray.java @@ -65,6 +65,6 @@ public class MultiANewArray extends Instruction // class is an array type, ugh. info.sigterm.deob.signature.Type t = new info.sigterm.deob.signature.Type(clazz.getName()); if (t.getType().equals("L" + cf.getName() + ";")) - clazz = new Class(name, t.getArrayDims()); + clazz = new Class("L" + name + ";", t.getArrayDims()); } }