Зацепить приватный метод в другом приложении, используя Xposed

Можно ли подключить приватный метод в другом приложении, используя 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);


        }


    }); 

он не выдает никакой ошибки, говоря, что класс не найден, но когда вызывается метод, он не записывает ничего в журнал. Итак, я предположил, что это происходит, потому что метод является закрытым, но я не уверен.

1 ответ

Согласно источнику xposed bridge ( https://github.com/rovo89/XposedBridge/blob/art/app/src/main/java/de/robv/android/xposed/XposedHelpers.java), findAndHookMethod вызывает getDeclaredMethod и устанавливает его результат быть доступным. Это означает, что функция должна работать с любым методом, открытым или нет.

Можете ли вы подключить публичный метод того же класса?

Другие вопросы по тегам