RangeError: invalid array index
- 错误:Frida的hook脚本js中
Interceptor.attach(functionRealAddress, { onEnter: function(args) { console.log(args);
- 会报错:
RangeError: invalid array index
- 会报错:
- 原因:无法知道准确的
args
的数组的大小,无法直接打印,所以报错 - 解决办法:不去直接打印,而改为去获取对应的前几个参数(前提:已知参数个数),再去打印:
Interceptor.attach(functionRealAddress, { onEnter: function(args) { var arg0 = args[0] var arg1 = args[1] var arg2 = args[2] console.log("arg0=" + arg0 + ", arg1=" + arg1 + ", arg2=" + arg2);
- 进一步优化:甚至是,计算出此处的ObjC的参数的个数,循环批量打印所有参数
- 具体详见:ObjC的参数 · 逆向调试利器:Frida中的
计算ObjC的函数的真正参数的个数 + 打印全部参数
- 具体详见:ObjC的参数 · 逆向调试利器:Frida中的
- 进一步优化:甚至是,计算出此处的ObjC的参数的个数,循环批量打印所有参数