1

是否可以使用 xposed 在另一个应用程序中挂钩私有方法?

我已经写了这个模块

public void handleLoadPackage(final LoadPackageParam lpparam) throws Throwable {
    if (!lpparam.packageName.equals("com.esealed.dalily"))
        return;


    findAndHookMethod("com.esealed.dalily.i.c",lpparam.classLoader ,"a","com.esealed.dalily.model.VersionInfo", new XC_MethodHook() {
        @Override
        protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
            Log.d("XPOSED_MOD","Inside  a method ");
            param.setResult(null);


        }


    }); 

它不会抛出任何错误,说找不到类,但是当调用该方法时,它不会将任何内容写入日志。所以我认为发生这种情况是因为该方法是私有的,但我不确定。

4

1 回答 1

1

根据xposed桥源(https://github.com/rovo89/XposedBridge/blob/art/app/src/main/java/de/robv/android/xposed/XposedHelpers.java),findAndHookMethod调用getDeclaredMethod并设置其结果可以访问。这意味着该功能应该适用于任何方法,无论是否公开。

你能挂钩同一个类的公共方法吗?

于 2016-05-16T18:09:28.823 回答