如何在挂钩 android(使用 xposed)时获得 return 值?

How can I get a return value while hooking in android(using xposed)?

比如有这样的方法

private byte[] example() {
    byte[] parameter = 0x0; 
    /*modify the parameter*/
    return parameter;
}

如何获取参数的值?

获取 return 值非常简单,只需像通常那样挂钩方法,然后调用 MethodHookParam class.

的方法 "getResult"

每当再次调用挂钩方法时,变量 "theReturnVal" 将保存新的 return 值。

findAndHookMethod("example", classLoader, "exmpleMethod", new XC_MethodHook() {
        @Override
        protected void afterHookedMethod(MethodHookParam param) throws Throwable {

            byte[] theReturnVal= (byte[]) param.getResult();

        }
});

您可以查看我的开源 xposed 模块以获得更完整的示例。 https://github.com/Programming4life/SnapColors/blob/master/app/src/main/java/com/manvir/SnapColors/App.java#L428