From 8e39328eca408a3866f75ae45dc6b239c8194d4d Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 25 Oct 2015 14:19:48 -0400 Subject: [PATCH] Cleanup to prepare for tests --- .../deobfuscators/arithmetic/ModArith.java | 61 +------------------ 1 file changed, 1 insertion(+), 60 deletions(-) diff --git a/src/main/java/net/runelite/deob/deobfuscators/arithmetic/ModArith.java b/src/main/java/net/runelite/deob/deobfuscators/arithmetic/ModArith.java index b6beb8186d..5f58bd289c 100644 --- a/src/main/java/net/runelite/deob/deobfuscators/arithmetic/ModArith.java +++ b/src/main/java/net/runelite/deob/deobfuscators/arithmetic/ModArith.java @@ -35,7 +35,6 @@ public class ModArith implements Deobfuscator private MultiValueMap constantGetters = new MultiValueMap<>(), constantSetters = new MultiValueMap<>(); private List pairs = new ArrayList<>(); - private Set deobfuscatedFields = new HashSet<>(); private List getInsInExpr(InstructionContext ctx, Set set) { @@ -47,9 +46,6 @@ public class ModArith implements Deobfuscator if (ctx.getInstruction() instanceof InvokeInstruction) return l; -// if (ctx.getInstruction() instanceof FieldInstruction) -// return l; // well do this one later? - set.add(ctx.getInstruction()); l.add(ctx); @@ -148,7 +144,6 @@ public class ModArith implements Deobfuscator if (other.getMyField() != null && other.getMyField() != field) continue; - //return false; if (!(pc.getConstant().getObject() instanceof Integer)) continue; @@ -186,7 +181,6 @@ public class ModArith implements Deobfuscator static class numgs { int value; - //boolean getter; boolean other; } private MultiValueMap values2 = new MultiValueMap(); @@ -207,8 +201,6 @@ public class ModArith implements Deobfuscator || fi.getField().getNameAndType().getDescriptorType().getArrayDims() != 0) continue; - //if (!fi.getMyField().getName().equals("field2865")) continue; - List l = this.getInsInExpr(ctx, new HashSet()); boolean other = false; for (InstructionContext i : l) @@ -233,11 +225,9 @@ public class ModArith implements Deobfuscator LDC_W w = (LDC_W) i.getInstruction(); if (w.getConstant().getObject() instanceof Integer) { - //boolean getter = fi instanceof GetFieldInstruction; numgs n = new numgs(); n.value = w.getConstantAsInt(); n.other = other; - //n.getter = getter; values2.put(fi.getMyField(), n); } } @@ -292,16 +282,6 @@ public class ModArith implements Deobfuscator if (field == null) continue; -// List constants = null; -// try -// { -// constants = findAssocConstants(field, ctx); -// for (int i : constants) -// if (i != 1 && i != 0) -// constantSetters.put(field, i); -// } -// catch (OtherFieldException ex) { } - StackContext value = ctx.getPops().get(0); // the first thing popped from both putfield and putstatic is the value if (!(value.getPushed().getInstruction() instanceof IMul)) { @@ -344,11 +324,6 @@ public class ModArith implements Deobfuscator if (value2 == 1 || value2 == 0) continue; - if (field.getName().equals("field2201")) - { - int k=7; - } - constantSetters.put(field, value2); } } @@ -365,8 +340,6 @@ public class ModArith implements Deobfuscator for (Integer i2 : constants) { if (i == 0 || i2 == 0) - //|| i == -1 || i2 == -1 - //|| i == 1 || i2 == 1) continue; int result = i * i2; @@ -406,8 +379,6 @@ public class ModArith implements Deobfuscator { System.out.println("cant guess " + field.getName()); return null; - // I dont know what one to pick, maybe it doesnt matter - //assert false; } } else @@ -436,7 +407,6 @@ public class ModArith implements Deobfuscator { System.out.println("cant guess " + field.getName()); return null; - //assert false; } } } @@ -525,20 +495,13 @@ public class ModArith implements Deobfuscator if (col == null) continue; - //getter -442113225 - //setter -2129182073 - //if (f.getName().equals("field564")) { Collection col2 = col.stream().filter(i -> DMath.isBig(i.value)).collect(Collectors.toList()); Collection noOther = col2.stream().filter(i -> !i.other).map(i -> i.value).collect(Collectors.toList()); Collection other = col2.stream().filter(i -> i.other).map(i -> i.value).collect(Collectors.toList()); other.addAll(noOther); -// sorted.addAll( -// col2.stream().filter(i -> i.other).map(i -> i.value).collect(Collectors.toList()) -// ); - - //Set set = col2.stream().map(i -> i.value).collect(Collectors.toSet()); + removeDupes(noOther); removeDupes(other); @@ -551,12 +514,7 @@ public class ModArith implements Deobfuscator if (p != null) { - //if (this.deobfuscatedFields.contains(f)) - // continue; - pairs.add(p); - - //this.deobfuscatedFields.add(f); } } } @@ -642,25 +600,10 @@ public class ModArith implements Deobfuscator findUses2(); reduce2(); -// Encryption encr = new Encryption(); -// for (Pair pair : pairs) -// encr.addPair(pair); -// -// insertGetterSetterMuls(encr); - int i = 0; for (Pair pair : pairs) { Field field = pair.field; - - //field933 = -193434591 * field743; - // var143.field3014 = (var143.field2960 = 1 * var92.field2960) * 1496783801; - //if (!field.getName().equals("field3014") && !field.getName().equals("field2960")) - if (!field.getName().equals("field2201")) - { - int j =5; - // continue; - } System.out.println("Processing " + field.getName() + " getter " + pair.getter + " setter " + pair.setter); @@ -670,8 +613,6 @@ public class ModArith implements Deobfuscator insertGetterSetterMuls(encr); System.out.println("Changed " + ++i); - //assert !deobfuscatedFields.contains(field); - deobfuscatedFields.add(field); } System.out.println(pairs);