//不需要区分修饰符,也不需要区分静态和实例方法,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在参数传递的处理上也类似}
