frida-gum
frida-gum copied to clipboard
Java: class[method].overload.apply() results in errors in frida-gum
Run
Java.perform(function () {
var target_class = Java.use("java.security.KeyStore");
var target_method_name = "getInstance";
var target_overload = ['java.lang.String'];
var original_method = target_class[target_method_name].overload.apply('this', target_overload);
});
Using frida -U -n Gadget -l simpletest.js
On https://github.com/googlearchive/android-BasicAndroidKeyStore
Expected result: no error, original_method gets a reference to java.security.KeyStore.getInstance
Actual result:
TypeError: cannot read property 'length' of undefined
at [anon] (../../../frida-gum/bindings/gumjs/duktape.c:56618)
at frida/node_modules/frida-java-bridge/lib/class-factory.js:872
at /simpletest.js:6
at frida/node_modules/frida-java-bridge/lib/vm.js:11
at frida/node_modules/frida-java-bridge/index.js:389
at frida/node_modules/frida-java-bridge/index.js:340
at frida/node_modules/frida-java-bridge/lib/vm.js:11
at /_java.js:2916
at frida/node_modules/frida-java-bridge/index.js:307
at /simpletest.js:7
Looks like a bug either here or in duktape? Or am I doing it wrong and there is a better way to call .overload with a dynamic set of arguments?