Trying to make this work live, constant param deob is breaking stuff
This commit is contained in:
@@ -8,6 +8,7 @@ import info.sigterm.deob.deobfuscators.UnusedMethods;
|
|||||||
import info.sigterm.deob.deobfuscators.UnusedParameters;
|
import info.sigterm.deob.deobfuscators.UnusedParameters;
|
||||||
import info.sigterm.deob.deobfuscators.ConstantParameter;
|
import info.sigterm.deob.deobfuscators.ConstantParameter;
|
||||||
import info.sigterm.deob.deobfuscators.MethodInliner;
|
import info.sigterm.deob.deobfuscators.MethodInliner;
|
||||||
|
import info.sigterm.deob.deobfuscators.RenameUnique;
|
||||||
import info.sigterm.deob.deobfuscators.UnreachedCode;
|
import info.sigterm.deob.deobfuscators.UnreachedCode;
|
||||||
|
|
||||||
import java.io.ByteArrayOutputStream;
|
import java.io.ByteArrayOutputStream;
|
||||||
@@ -59,18 +60,18 @@ public class Deob
|
|||||||
bdur = System.currentTimeMillis() - bstart;
|
bdur = System.currentTimeMillis() - bstart;
|
||||||
System.out.println("illegal state exception took " + bdur/1000L + " seconds");
|
System.out.println("illegal state exception took " + bdur/1000L + " seconds");
|
||||||
|
|
||||||
// remove constant logically dead parameters
|
// // remove constant logically dead parameters
|
||||||
bstart = System.currentTimeMillis();
|
// bstart = System.currentTimeMillis();
|
||||||
new ConstantParameter().run(group);
|
// new ConstantParameter().run(group);
|
||||||
bdur = System.currentTimeMillis() - bstart;
|
// bdur = System.currentTimeMillis() - bstart;
|
||||||
System.out.println("constant param took " + bdur/1000L + " seconds");
|
// System.out.println("constant param took " + bdur/1000L + " seconds");
|
||||||
|
//
|
||||||
// remove unhit blocks
|
// // remove unhit blocks
|
||||||
bstart = System.currentTimeMillis();
|
// bstart = System.currentTimeMillis();
|
||||||
new UnreachedCode().run(group);
|
// new UnreachedCode().run(group);
|
||||||
//new UnusedBlocks().run(group);
|
// //new UnusedBlocks().run(group);
|
||||||
bdur = System.currentTimeMillis() - bstart;
|
// bdur = System.currentTimeMillis() - bstart;
|
||||||
System.out.println("unused blocks took " + bdur/1000L + " seconds");
|
// System.out.println("unused blocks took " + bdur/1000L + " seconds");
|
||||||
|
|
||||||
// remove unused parameters
|
// remove unused parameters
|
||||||
// bstart = System.currentTimeMillis();
|
// bstart = System.currentTimeMillis();
|
||||||
@@ -82,20 +83,20 @@ public class Deob
|
|||||||
//new Jumps().run(group);
|
//new Jumps().run(group);
|
||||||
|
|
||||||
// remove unused fields
|
// remove unused fields
|
||||||
bstart = System.currentTimeMillis();
|
// bstart = System.currentTimeMillis();
|
||||||
new UnusedFields().run(group);
|
// new UnusedFields().run(group);
|
||||||
bdur = System.currentTimeMillis() - bstart;
|
// bdur = System.currentTimeMillis() - bstart;
|
||||||
System.out.println("unused fields took " + bdur/1000L + " seconds");
|
// System.out.println("unused fields took " + bdur/1000L + " seconds");
|
||||||
|
//
|
||||||
// remove unused methods, again?
|
// // remove unused methods, again?
|
||||||
bstart = System.currentTimeMillis();
|
// bstart = System.currentTimeMillis();
|
||||||
new UnusedMethods().run(group);
|
// new UnusedMethods().run(group);
|
||||||
bdur = System.currentTimeMillis() - bstart;
|
// bdur = System.currentTimeMillis() - bstart;
|
||||||
System.out.println("unused methods took " + bdur/1000L + " seconds");
|
// System.out.println("unused methods took " + bdur/1000L + " seconds");
|
||||||
|
|
||||||
//new ModularArithmeticDeobfuscation().run(group);
|
//new ModularArithmeticDeobfuscation().run(group);
|
||||||
|
|
||||||
new MethodInliner().run(group);
|
//new MethodInliner().run(group);
|
||||||
|
|
||||||
saveJar(group, args[1]);
|
saveJar(group, args[1]);
|
||||||
|
|
||||||
|
|||||||
@@ -65,6 +65,6 @@ public class MultiANewArray extends Instruction
|
|||||||
// class is an array type, ugh.
|
// class is an array type, ugh.
|
||||||
info.sigterm.deob.signature.Type t = new info.sigterm.deob.signature.Type(clazz.getName());
|
info.sigterm.deob.signature.Type t = new info.sigterm.deob.signature.Type(clazz.getName());
|
||||||
if (t.getType().equals("L" + cf.getName() + ";"))
|
if (t.getType().equals("L" + cf.getName() + ";"))
|
||||||
clazz = new Class(name, t.getArrayDims());
|
clazz = new Class("L" + name + ";", t.getArrayDims());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user