Зацепить приватный метод в другом приложении, используя 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 и устанавливает его результат быть доступным. Это означает, что функция должна работать с любым методом, открытым или нет.
Можете ли вы подключить публичный метод того же класса?