能力值:
( LV1,RANK:0 )
|
-
-
2 楼
安卓部分代码 // 安卓部分代码。hook alterText方法修改num,frida输入参数为6791443766394045000,出现精度丢失现象
private void alterText(long num)
{
textView.setText(String.valueOf(num));
} frida部分代码 my_class.alterText.overload('long').implementation = function () {
//打印替换前的参数
console.log("args:", arguments[0]);
var ret_value = this.alterText(7791443766394045000);
return ret_value;
}
最后于 2020-2-21 18:10
被mrmoney编辑
,原因:
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
this.alterText(7791443766394045000L); 这样呢?
|
能力值:
( LV1,RANK:0 )
|
-
-
4 楼
js 不支持 7791443766394045000L,安卓部分alterText(7791443766394045000L)在view内可以获取正确显示。
|
能力值:
(RANK:350 )
|
-
-
5 楼
console.log(Java.use('java.lang.String').valueOf.overload('long').call(Java.use('java.lang.String'), Java.use('java.lang.Long').parseLong.overload('java.lang.String').call(Java.use('java.lang.Long'), "6791443766394045000")))
|
能力值:
( LV1,RANK:0 )
|
-
-
6 楼
感谢飞虫兄弟,虽然回帖并不是我原本需求,不过思路已经解释清楚,后面这类情况知道解决办法了,附上我修改后的代码,问题已解决 alterText.call(this, Java.use('java.lang.Long').parseLong.overload('java.lang.String').call(Java.use('java.lang.Long'), "4891443766394045000"));
最后于 2020-2-22 15:48
被mrmoney编辑
,原因:
|
能力值:
( LV1,RANK:0 )
|
-
-
7 楼
帮顶
|
|
|