From 35fcfc06451267d5c149d8cb8036b4cd1256d2c3 Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 26 Jul 2015 19:01:43 -0400 Subject: [PATCH] Don't remove params on not ob'd methods, or ctors --- src/main/java/info/sigterm/deob/Deob.java | 2 +- .../java/info/sigterm/deob/deobfuscators/UnusedParameters.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/info/sigterm/deob/Deob.java b/src/main/java/info/sigterm/deob/Deob.java index 9b3678032a..7b4774e6d7 100644 --- a/src/main/java/info/sigterm/deob/Deob.java +++ b/src/main/java/info/sigterm/deob/Deob.java @@ -59,7 +59,7 @@ public class Deob new UnusedBlocks().run(group); // remove unused parameters - //new UnusedParameters().run(group); + new UnusedParameters().run(group); // remove jump obfuscation //new Jumps().run(group); diff --git a/src/main/java/info/sigterm/deob/deobfuscators/UnusedParameters.java b/src/main/java/info/sigterm/deob/deobfuscators/UnusedParameters.java index 546eb98a31..26a16924d4 100644 --- a/src/main/java/info/sigterm/deob/deobfuscators/UnusedParameters.java +++ b/src/main/java/info/sigterm/deob/deobfuscators/UnusedParameters.java @@ -209,7 +209,7 @@ public class UnusedParameters implements Deobfuscator { for (Method m : cf.getMethods().getMethods()) { - if (done.contains(m)) + if (done.contains(m) || m.getName().length() > 2) // ctors not uniquely renamed. overriding jre methods can't just remove a parameter continue; int offset = m.isStatic() ? 0 : 1;