1- package de.binarynoise.ClassHunter
1+ package de.binarynoise.classHunter
22
33import android.util.Log
4+ import de.binarynoise.ClassHunter.BuildConfig
45import de.robv.android.xposed.IXposedHookLoadPackage
56import de.robv.android.xposed.callbacks.XC_LoadPackage
67
@@ -10,7 +11,7 @@ class Hook : IXposedHookLoadPackage {
1011 override fun handleLoadPackage (lpparam : XC_LoadPackage .LoadPackageParam ) {
1112 Log .i(TAG , " *" .repeat(50 ))
1213 Log .i(TAG , " loading package: ${lpparam.packageName} " )
13- Log .i(TAG , " hunting for ${BuildConfig .targetClass} " )
14+ Log .i(TAG , " hunting for ${BuildConfig .targetClass.joinToString() } " )
1415
1516 val classLoaders = mutableSetOf<ClassLoader >()
1617
@@ -28,30 +29,31 @@ class Hook : IXposedHookLoadPackage {
2829
2930 Log .i(TAG , " currently known classloaders:" )
3031 classLoaders.forEach {
31- Log .d (TAG , " ${it.toObjectString()} " + " - " + it.toString() )
32+ Log .v (TAG , " ${it.toObjectString()} - $it " )
3233
33- try {
34- val cls = Class .forName(BuildConfig .targetClass, false , it)
35- Log .w(TAG , " - found class: ${cls.name} " )
36-
37- Log .i(TAG , " - methods:" )
38- cls.declaredMethods.forEach {
39- Log .d(TAG , " - ${it.returnType.name} ${it.name} (${it.parameters.joinToString(" , " ) { it.name + " " + it.type.name }} )" )
34+ BuildConfig .targetClass.forEach { className ->
35+ try {
36+ val cls = Class .forName(className, false , it)
37+ Log .i(TAG , " - found class: ${cls.name} in package ${lpparam.packageName} by $it " )
38+
39+ Log .i(TAG , " - methods:" )
40+ cls.declaredMethods.forEach { m ->
41+ Log .v(TAG , " - ${m.returnType.name} ${m.name} (${m.parameters.joinToString(" , " ) { p -> p.name + " " + p.type.name }} )" )
42+ }
43+
44+ Log .i(TAG , " - fields:" )
45+ cls.declaredFields.forEach { f ->
46+ Log .v(TAG , " - ${f.type.name} ${f.name} " )
47+ }
48+ } catch (_: Throwable ) {
4049 }
41-
42- Log .i(TAG , " - fields:" )
43- cls.declaredFields.forEach {
44- Log .d(TAG , " - ${it.type.name} ${it.name} " )
45- }
46- } catch (_: Throwable ) {
47-
4850 }
4951 }
5052 }
5153
5254 private fun collectParents (classLoader : ClassLoader , name : String , classLoaders : MutableSet <ClassLoader >) {
5355 generateSequence(classLoader) { it.parent }.forEach {
54- Log .d (TAG , name + " - ${it.toObjectString()} " )
56+ Log .v (TAG , name + " - ${it.toObjectString()} " )
5557 classLoaders.add(it)
5658 }
5759 }
0 commit comments