Skip to content

Commit 58c9212

Browse files
committed
fix: Allow StaticFields transformer independent of StaticMethods
1 parent 93d5b74 commit 58c9212

File tree

2 files changed

+28
-7
lines changed

2 files changed

+28
-7
lines changed

src/main/java/rs/lostcity/deob/ast/transform/ProduceMapTransformer.java

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,10 @@ public void transformUnit(CompilationUnit unit) {
6666
walk(unit, ClassOrInterfaceDeclaration.class, clazz -> {
6767
String className = clazz.getNameAsString();
6868

69-
boolean checkClass = true; // !clazz.getNameAsString().toLowerCase().startsWith("class")
70-
if (checkClass) {
69+
if (!(
70+
clazz.getNameAsString().toLowerCase().startsWith("class") ||
71+
clazz.getNameAsString().toLowerCase().startsWith("static")
72+
)) {
7173
String foundClass = getOriginalName(clazz.getAnnotations(), true);
7274

7375
if (foundClass != null) {
@@ -96,7 +98,7 @@ public void transformUnit(CompilationUnit unit) {
9698

9799
clazz.getFields().forEach(field -> {
98100
String fieldName = field.getVariables().get(0).getNameAsString();
99-
/*if (
101+
if (
100102
fieldName.startsWith("field") ||
101103
fieldName.startsWith("aFloat") ||
102104
fieldName.startsWith("aDouble") ||
@@ -110,10 +112,18 @@ public void transformUnit(CompilationUnit unit) {
110112
fieldName.startsWith("aFrame") ||
111113
fieldName.startsWith("anImage") ||
112114
fieldName.startsWith("aColor") ||
113-
fieldName.startsWith("aString")
115+
fieldName.startsWith("aString") ||
116+
fieldName.startsWith("aCalendar") ||
117+
fieldName.startsWith("aComponent") ||
118+
fieldName.startsWith("aThread") ||
119+
fieldName.startsWith("anAudio") ||
120+
fieldName.startsWith("aSocket") ||
121+
fieldName.startsWith("anInput") ||
122+
fieldName.startsWith("anOutput") ||
123+
fieldName.startsWith("aSoft")
114124
) {
115125
return;
116-
}*/
126+
}
117127

118128
String originalName = getOriginalName(field.getAnnotations(), false);
119129
if (
@@ -132,9 +142,9 @@ public void transformUnit(CompilationUnit unit) {
132142

133143
clazz.getMethods().forEach(method -> {
134144
String memberName = method.getNameAsString();
135-
/*if (memberName.startsWith("method")) {
145+
if (memberName.startsWith("method")) {
136146
return;
137-
}*/
147+
}
138148

139149
String originalName = getOriginalName(method.getAnnotations(), true);
140150
if (

src/main/java/rs/lostcity/deob/bytecode/transform/zwyz/StaticFieldsTransformer.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,17 @@
1212
public class StaticFieldsTransformer extends Transformer {
1313
@Override
1414
public void transform(List<ClassNode> classes) {
15+
boolean exists = false;
16+
for (var clazz : classes) {
17+
if (clazz.name.equals("Statics")) {
18+
exists = true;
19+
break;
20+
}
21+
}
22+
if (!exists) {
23+
classes.add(ZwyzLegacyLogic.staticsClass);
24+
}
25+
1526
// Remove unused fields
1627
var usedFields = new HashSet<String>();
1728

0 commit comments

Comments
 (0)