Skip to content

Commit 648f125

Browse files
committed
feat: better class analysis
1 parent d83abb6 commit 648f125

3 files changed

Lines changed: 27 additions & 1 deletion

File tree

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,4 @@ jobs:
2828
uses: actions/upload-artifact@v3.1.0
2929
with:
3030
name: Skidfuscator.jar
31-
path: staging/client-1.0.0-SNAPSHOT.jar
31+
path: staging/client-2.0.0-SNAPSHOT.jar

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,10 @@ dev.skidfuscator.obfuscator/src/test/resources/test.jar.compressed.json
9393

9494
dev.skidfuscator.obfuscator/src/test/resources/test.jar.compressed.skid
9595

96+
dev.skidfuscator.obfuscator/out/production/resources/log4j.properties
97+
98+
dev.skidfuscator.obfuscator/out/test/resources/exempt.txt
99+
96100
skidfuscator.log
97101

98102
calculations.txt

org.mapleir.parent/org.mapleir.app-services/src/main/java/org/mapleir/app/service/ClassTree.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,28 @@ public void verify() {
5252
verifyVertex(node);
5353
}
5454
}
55+
56+
public List<String> getMissingClasses() {
57+
List<String> missing = new ArrayList<>();
58+
for (ClassNode cn : source.iterate()) {
59+
if(cn != rootNode) {
60+
ClassNode sup = cn.node.superName != null
61+
? requestClass0(cn.node.superName, cn.getName())
62+
: rootNode;
63+
if(sup == null) {
64+
missing.add(cn.node.superName);
65+
}
66+
67+
for (String s : cn.node.interfaces) {
68+
ClassNode iface = requestClass0(s, cn.getName());
69+
if(iface == null) {
70+
missing.add(s);
71+
}
72+
}
73+
}
74+
}
75+
return missing;
76+
}
5577

5678
public ClassNode getRootNode() {
5779
return rootNode;

0 commit comments

Comments
 (0)