diff --git a/pom.xml b/pom.xml
index 4b58e1d18a..efb5165e6e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,21 +24,21 @@
commons-compress
1.10
-
+
com.google.code.gson
gson
2.4
-
+
org.slf4j
diff --git a/src/main/java/net/runelite/deob/Deob.java b/src/main/java/net/runelite/deob/Deob.java
index 53cba01fa9..0fe33c9981 100644
--- a/src/main/java/net/runelite/deob/Deob.java
+++ b/src/main/java/net/runelite/deob/Deob.java
@@ -3,12 +3,14 @@ package net.runelite.deob;
import java.io.File;
import java.io.IOException;
import net.runelite.deob.deobfuscators.MethodInliner;
-import net.runelite.deob.deobfuscators.rename.Rename;
import net.runelite.deob.deobfuscators.UnusedMethods;
+import net.runelite.deob.deobfuscators.rename.Rename2;
import net.runelite.deob.execution.Execution;
import net.runelite.deob.util.JarUtil;
// XXX something to detect final fields and evaluate them
+// the problem is static functions which dup,
+// graph of method/field (not include static) relationships
public class Deob
{
@@ -103,7 +105,7 @@ public class Deob
ClassGroup group1 = JarUtil.loadJar(new File("d:/rs/07/adamin1.jar")),
group2 = JarUtil.loadJar(new File("d:/rs/07/adamin2.jar"));
- Rename rename = new Rename();
+ Rename2 rename = new Rename2();
rename.run(group1, group2);
}
diff --git a/src/main/java/net/runelite/deob/Method.java b/src/main/java/net/runelite/deob/Method.java
index 96943360d9..adfe22ba28 100644
--- a/src/main/java/net/runelite/deob/Method.java
+++ b/src/main/java/net/runelite/deob/Method.java
@@ -17,8 +17,13 @@ import java.util.List;
public class Method
{
+ public static final int ACC_PUBLIC = 0x1;
+ public static final int ACC_PRIVATE = 0x2;
+ public static final int ACC_PROTECTED = 0x4;
public static final int ACC_STATIC = 0x8;
+ public static final int ACC_FINAL = 0x10;
public static final int ACC_SYNCHRONIZED = 0x20;
+ public static final int ACC_ABSTRACT = 0x400;
private Methods methods;
@@ -79,6 +84,11 @@ public class Method
{
this.attributes = a;
}
+
+ public short getAccessFlags()
+ {
+ return accessFlags;
+ }
public String getName()
{
diff --git a/src/main/java/net/runelite/deob/deobfuscators/rename/Rename.java b/src/main/java/net/runelite/deob/deobfuscators/rename/Rename.java
index e9acade0db..ccb8072e7e 100644
--- a/src/main/java/net/runelite/deob/deobfuscators/rename/Rename.java
+++ b/src/main/java/net/runelite/deob/deobfuscators/rename/Rename.java
@@ -1,246 +1,246 @@
-package net.runelite.deob.deobfuscators.rename;
-
-import edu.ucla.sspace.graph.Edge;
-import edu.ucla.sspace.graph.Graph;
-import edu.ucla.sspace.graph.isomorphism.IsomorphismTester;
-import edu.ucla.sspace.graph.isomorphism.VF2IsomorphismTester;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Optional;
-import java.util.Set;
-import java.util.stream.Collectors;
-import net.runelite.deob.ClassGroup;
-import net.runelite.deob.Method;
-import net.runelite.deob.execution.Execution;
-import net.runelite.deob.execution.Frame;
-import net.runelite.deob.execution.MethodContext;
-
-public class Rename
-{
- private ClassGroup groupOne, groupTwo;
-
- // respective executions
- //private Execution eone, etwo;
-
- // old -> new object mapping
- private Map