android - 如何在 Hook android(使用 xposed)时获取返回值?

标签 android hook

比如有这样的方法

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

如何获取参数的值?

最佳答案

获取返回值非常简单,只需像通常一样 Hook 方法,然后调用 MethodHookParam 类的方法“getResult”。

每当再次调用 Hook 方法时,变量“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

关于android - 如何在 Hook android(使用 xposed)时获取返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32132792/

相关文章:

Android Flutter 调试 - 设备未授权

java - 不运行BroadcastReceiver代码

c# - Hook /覆盖 DirectX 游戏?

c++ - AppInit_DLL 能否用于从 Ws2_32.dll 挂接 API?

Java:如何在系统范围内禁用鼠标和键盘

java - 无法找到显式 Activity 类并且无法实例化 Activity

android - Kotlin Elvis Operator 在 JsonElement 上失败?

android - 尝试将 URL 从 webview 传递到浏览器

ubuntu - Ubuntu 18.04 中未调用 Netfilter Hook - 内核 4.18

linux - 如何 Hook 特定共享 ELF 库的函数?