Fix rename unique, renaming fields depends on classgraph for searching deep for fields

This commit is contained in:
Adam
2015-07-28 16:48:03 -04:00
parent 369a93be7b
commit f27e410f5b
4 changed files with 9 additions and 2 deletions

View File

@@ -62,6 +62,11 @@ public class Field
{
return accessFlags;
}
public boolean isStatic()
{
return (accessFlags & ACC_STATIC) != 0;
}
public String getName()
{

View File

@@ -82,6 +82,7 @@ public class GetField extends Instruction implements GetFieldInstruction
return;
info.sigterm.deob.Field f2 = cf.findFieldDeep(nat);
assert f2 != null;
if (f2 == f)
{

View File

@@ -95,6 +95,7 @@ public class GetStatic extends Instruction implements GetFieldInstruction
return;
info.sigterm.deob.Field f2 = cf.findFieldDeep(nat);
assert f2 != null;
if (f2 == f)
{

View File

@@ -163,6 +163,8 @@ public class RenameUnique implements Deobfuscator
int i = 0;
int classes = 0, fields = 0, methods = 0;
group.buildClassGraph();
for (ClassFile cf : group.getClasses())
{
if (cf.getName().length() > 2)
@@ -183,8 +185,6 @@ public class RenameUnique implements Deobfuscator
++fields;
}
group.buildClassGraph();
// rename methods
for (ClassFile cf : group.getClasses())
for (Method method : cf.getMethods().getMethods())