public static String myPrint(Object... objArr) {
StringBuilder sb = new StringBuilder();
for (Object obj : objArr) {
sb.append(obj);
sb.append("|");
}
return sb.toString();
}
如上面的图片所示,传入的类型各不相同,所以选用可变参数
可变参数本质上就是数组,按数组处理即可
只需要处理基本数据类型的包装,其他的frida会处理
function test(){
Java.perform(function () {
//logOutPut(Utils.myPrint("xiaojianbang", 30, true, this.bankCard));this.bankCard是一个实例对象
//值得注意的是,Frida只会自动处理字符串,int 和 boolean 不会自动处理
var Utils = Java.use("com.xiaojianbang.hook.Utils");
var bankCard = Java.use("com.xiaojianbang.hook.BankCard");
var bankCardObj = bankCard.$new("dudu", "123456789", "CBDA", 1, "15900000000");
var integer = Java.use("java.lang.Integer");
var boolean = Java.use("java.lang.Boolean");
console.log(Utils.myPrint(["xiaojianbang", integer.$new(30), boolean.$new(true),bankCardObj]))
})};
setImmediate(function(){
setTimeout(test(), 5000);
});