帮我用frida hook写出获取uZModuleContext内对象的属性和值代码如下: public ModuleResult jsmethod_aesCBCSync_syncUZModuleContext uZModuleContext try String optString = uZModuleContextoptStringUZOpenAp
下面是使用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 著作权归作者所有。请勿转载和采集!