Jasper-1024 / DeepSleep

GNU General Public License v3.0
62 stars 4 forks source link

BroadcastReceiver 可以这样hook #10

Open RichardLuo0 opened 6 months ago

RichardLuo0 commented 6 months ago
val tmp: Class<*>? =
                XpUtil.getClass("android.content.BroadcastReceiver", lpparam.classLoader)

val hookedClassSet = HashSet<Class<*>>()
XposedBridge.hookAllConstructors(tmp, object : XC_MethodHook() {
    override fun afterHookedMethod(param: MethodHookParam) {
        val thisClass = param.thisObject.javaClass
        if (!hookedClassSet.contains(thisClass)) {
            XposedBridge.hookAllMethods(thisClass, "onReceive", Test())
            hookedClassSet.add(thisClass)
        }
    }
})