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 {
109109
110110 fun tryFindClass (classLoader : ClassLoader , classLoaderName : String , packageName : String ) {
111111 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)
116130 }
117131 }
118132 }
You can’t perform that action at this time.
0 commit comments