I can trace JNI APIs very easily using this code
Interceptor.attach(Module.findExportByName("lib.so" , "somefunction"), {
onEnter: function(args) {
args[1] = ptr(0);
send("somefunction("+Memory.readCString(args[0])+","+args[1]+")");
},
onLeave:function(retval){
} });
when I try to trace java functions using the following code nothing returns
Java.perform(function () {
var c = Java.use("java.net.URI");
c.parseURI.implementation = function () {
console.log("String1:"+args[0]);
send("String1:"+args[0]);
this.parseURI(args[0]);
} });
from Frida website
Frida currently supports Dalvik, and while most of that code is just interacting with the JNI APIs implemented by the VM, there are some bits that are VM-specific