如何在android(使用xposed)中挂钩时获取返回值?

时间:2015-08-21 05:14:59

标签: android hook

例如,有一个像

这样的方法
private byte[] example() {
    byte[] parameter = 0x0; 
    /*modify the parameter*/
    return parameter;
}

我怎样才能得到参数的值?

1 个答案:

答案 0 :(得分:3)

获取返回值非常简单,只需勾选方法就像通常那样调用方法" getResult" MethodHookParam类。

当再次调用钩子方法时,变量" theReturnVal"将保留新的回报值。

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