下面是使用Frida Hook获取uZModuleContext内对象的属性和值的代码:

Java.perform(function() { var module = Process.getModuleByName("xxx.so"); var jsmethod_aesCBCSync_sync_addr = module.findExportByName("Java_xxx_xxx_jsmethod_aesCBCSync_sync");

Interceptor.attach(jsmethod_aesCBCSync_sync_addr, {
    onEnter: function(args) {
        var uZModuleContext = Java.cast(args[0], Java.use("com.uzmap.pkg.uzcore.uzmodule.UZModuleContext"));
        var data = uZModuleContext.optString(Java.use("java.lang.String").$new("data"));
        var key = uZModuleContext.optString(Java.use("java.lang.String").$new("key"));
        var iv = uZModuleContext.optString(Java.use("java.lang.String").$new("iv"));
        console.log("data: " + data);
        console.log("key: " + key);
        console.log("iv: " + iv);
    },
    onLeave: function(retval) {
        // do nothing
    }
});

});

其中,"xxx.so"需要替换为目标应用程序中包含上述代码的so文件名。在onEnter函数中,我们使用Java.cast将第一个参数强制转换为UZModuleContext类型的对象,并使用optString方法获取data、key和iv属性的值,然后使用console.log输出到Frida的控制台。


原文地址: https://www.cveoy.top/t/topic/JIH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录