一、普通方法
var act = Java.use("com.xxx.cxnppwx.MyJni");
console.log(act.func); // func表示方法
act.func.implementation = function (a,b) {
console.log(a);
console.log(b);
var result = this.func(a,b);
console.log(result);
return result;
}
二、重载方法
var act = Java.use("com.xxx.cxnppwx.MyJni"); // $:表示类中类
console.log(act.func); // func表示方法
act.func.overload('java.lang.String').implementation = function (a) {
console.log(a);
var result = this.func(a);
console.log(result);
return result;
}
其他类型
.overload()
.overload('int')
.overload('java.lang.Exception')
.overload('android.content.Context')
.overload('java.lang.String')
.overload('android.content.Context', 'java.lang.String')
.overload('java.io.BufferedInputStream', 'java.io.BufferedInputStream', 'int')
.overload('android.content.Context', 'java.lang.String', 'java.lang.String', 'java.lang.String')
三、构造方法
var act = Java.use('com.xxx.fridatest.Money');
act.$init.implementation = function(a, b) {
console.log(a);
console.log(b);
a = 100;
b = "Frida";
return this.$init(a, b);
}