gpt4 book ai didi

android - 如何调用在 Xposed 中作为参数传递的自定义对象的方法?

转载 作者:行者123 更新时间:2023-11-29 19:33:54 49 4
gpt4 key购买 nike

在 Xposed 中,我试图调用 AppCustomClass 的方法 getResult对象在 Hook 方法中作为参数传递。

protected void myMethod(XC_LoadPackage.LoadPackageParam loadPackageParam) {
final Class<?> appCustomClass = XposedHelpers.findClass("com.app.customClass", loadPackageParam.classLoader);

findAndHookMethod("com.app.aClass", loadPackageParam.classLoader, "aMethod", appCustomClass, new XC_MethodHook() {
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
//How to call param.args[0].getResult()
}
}

最佳答案

你可以使用 XposedHelpers.callMethod它有两个变体

callMethod(Object obj, String methodName, Class[]<?> parameterTypes, Object... args)

callMethod(Object obj, String methodName, Object... args)

所以你可以做

XposedHelpers.callMethod(param.args[0],"getResult");

如果需要参数就做

XposedHelpers.callMethod(param.args[0],"getResult",arg1,arg2,arg3);

注意:方法是用findMethodBestMatch解析的。 this("callMethod") 方法抛出的异常是 XposedHelpers.InvocationTargetError,它给出了被调用方法抛出的异常(如果有的话)。

进一步阅读:http://api.xposed.info/reference/de/robv/android/xposed/XposedHelpers.html#callMethod(java.lang.Object,%20java.lang.String,%20java.lang.Object...)

关于android - 如何调用在 Xposed 中作为参数传递的自定义对象的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39485746/

49 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com