File tree Expand file tree Collapse file tree 1 file changed +18
-4
lines changed
ClassHunter/src/main/java/de/binarynoise/classHunter Expand file tree Collapse file tree 1 file changed +18
-4
lines changed Original file line number Diff line number Diff line change @@ -109,10 +109,24 @@ class Hook : IXposedHookLoadPackage {
109
109
110
110
fun tryFindClass (classLoader : ClassLoader , classLoaderName : String , packageName : String ) {
111
111
BuildConfig .targetClass.forEach { className ->
112
- try {
113
- val cls = Class .forName(className, false , classLoader)
114
- logClass(cls, classLoaderName, classLoader, packageName)
115
- } catch (_: Throwable ) {
112
+ var cls: Class <* >? = null
113
+
114
+ var classLoader: ClassLoader ? = classLoader
115
+ var successClassLoader: ClassLoader ? = null
116
+ var i = 0
117
+
118
+ while (classLoader != null && i++ < 10 ) {
119
+ try {
120
+ cls = Class .forName(className, false , classLoader)
121
+ successClassLoader = classLoader
122
+ } catch (_: Throwable ) {
123
+ break
124
+ }
125
+ classLoader = classLoader.parent
126
+ }
127
+
128
+ if (cls != null && successClassLoader != null ) {
129
+ logClass(cls, classLoaderName, successClassLoader, packageName)
116
130
}
117
131
}
118
132
}
You can’t perform that action at this time.
0 commit comments