android Xposed在我的设备中连接每个TextView

ehxuflar  于 2023-10-14  发布在  Android
关注(0)|答案(1)|浏览(107)

我挂接的是Android框架本身,而不是一个特定的应用程序,这是我的代码:

public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwable {
        
        if (lpparam == null||lpparam.packageName == null || lpparam.processName == null)
            return;

        if (lpparam.packageName.equals("android")) {
            XposedBridge.log("Hooked into Android framework.");

            if (!sInitialized) {
                sInitialized = true;
                hookSetVisibility(lpparam);
            }
        }
    }

    private void hookSetVisibility(XC_LoadPackage.LoadPackageParam lpparam) {

        final Class<?> mViewGroup = XposedHelpers.findClass("android.widget.TextView", lpparam.classLoader);
        for (final Method method : mViewGroup.getDeclaredMethods()) {
            if (true == Modifier.isAbstract(method.getModifiers())) {
                XposedBridge.log("skip abstract:" + method.getName());
                continue;
            }
            XposedBridge.log("----" + method.getName());
            XposedBridge.hookMethod(method, methodHook);
        }
    }

    final StringBuilder sb = new StringBuilder();
    XC_MethodHook methodHook = new XC_MethodHook() {
        @Override
        protected void beforeHookedMethod(XC_MethodHook.MethodHookParam param) throws Throwable {

            XposedBridge.log("before hook log");
        }

        @Override
        protected void afterHookedMethod(XC_MethodHook.MethodHookParam param) throws Throwable {
            //param.setResult(false);
            XposedBridge.log("after hook log");       
        }
    };

这个模块确实很好地打印了所有类的方法名,就像在android framework中看到的那样,但是BeforeHookedMethodafterHookMethod从来没有被调用过。

qybjjes1

qybjjes11#

你的主要问题是,你试图限制挂钩的“Android框架”只会失败,因为Android框架不是一个单独的进程,但包括在每个应用程序进程,分别TextView元素是应用程序进程的一部分,他们显示在。
据我所知,handleLoadPackage在每个应用程序进程中被调用一次,这允许你决定是否要在这个特定的应用程序进程中挂钩一些东西。
但是,由于您希望在任何应用程序中挂钩某个UI元素,因此不应在此处应用过滤器。所以最后你应该删除过滤器(或者只过滤掉那些让你的钩子出现问题的应用),然后直接调用hookSetVisibility

相关问题