//不需要区分修饰符,也不需要区分静态和实例方法,hook代码的写法都是一样的
//函数参数和返回值的修改
var money = Java.use("com.dudu.hook.Money");
var str = Java.use("java.lang.String");
money.getInfo.implementation = function () {
var result = this.getInfo();
console.log("money.getInfo result: ", result);
return str.$new("dudu");
//上述字符串"dudu"是JS的string,而被hook的Java方法返回值是Java的String
//因此,可以主动调用Java方法转成Java的String
//但是为了方便起见,通常会直接直接返回JS的string,这时frida会自动处理,代码类似如下
//return "dudu";
//Java的类型可以调用Java的方法,JS的类型可以调用JS的方法
//区分清楚何时是Java的类型,何时是JS的类型,有助于代码的编写
//frida在参数传递的处理上也类似
}