Javascript 将强制对象转换为字符串列表

Javascript 将强制对象转换为字符串列表,javascript,java,android,frida,Javascript,Java,Android,Frida,当我用Frida连接android应用程序时,我一直在尝试打印列表的内容,但我没有任何运气 我想在Java中钩住的对象如下所示 import com.fasterxml.jackson.annotation.JsonIgnore; 导入java.util.List; 公共期末班{ @杰索尼奥雷 公开最终清单样本清单; } 这个公共对象没有任何getter,所以我不得不求助于使用另一个对象(让我们调用对象“Bye”)的方法(byeMethodB)来监视这个值 这就是我的frida脚本的样子: s

当我用Frida连接android应用程序时,我一直在尝试打印列表的内容,但我没有任何运气

我想在Java中钩住的对象如下所示

import com.fasterxml.jackson.annotation.JsonIgnore;
导入java.util.List;
公共期末班{
@杰索尼奥雷
公开最终清单样本清单;
}
这个公共对象没有任何getter,所以我不得不求助于使用另一个对象(让我们调用对象“Bye”)的方法(byeMethodB)来监视这个值

这就是我的frida脚本的样子:

setTimeout(function() {

    Java.perform(function(){
        
        Java.use("Bye").byeMethodA.implementation = function(){

            try{
                //Returns a Hello object
                var helloObject = Java.cast(this.byeMethodB(),Java.use("Hello"))
                printListContent(Java.cast(helloObject.sampleList,Java.use("java.util.List"))))
            }catch(err){
                console.log(err)
            }
        }

    })
},1000)

function printListContent(list){

    var listIter = list.iterator()
    while(listIter.hasNext()){
        console.log(listIter.next())
    }

}
如果不将“helloObject.sampleList”对象强制转换为列表,则输出如下所示:

[object Object]
所以我确信它不是空的

如果我使用
Java.cast(helloObject.sampleList,Java.use(“Java.util.List”))进行强制转换

我得到以下错误:

我也尝试过:

Java.cast(helloObject.sampleList,Java.use(“Java.util.List”))

(我敢肯定这是一根绳子)
Java.cast(helloObject.sampleList,Java.use(“Java.util.List”))

Java.cast(helloObject.sampleList,Java.use(“Java.util.List”))

Java.cast(helloObject.sampleList,Java.use(“[String”))

Java.cast(helloObject.sampleList,Java.use(“[Ljava.lang.String”))


一点也不顺利。如果您在Frida中执行
helloObject.sampleList
,您将获得描述字段的JavaScript对象,而不是字段值本身,请在Frida中获得一些帮助

如果需要字段值,则必须执行
helloObject.sampleList.value

因此,以下代码应起作用:

Java.cast(helloObject.sampleList.value, Java.use("java.util.List")),

泛型只在编译时存在,而frida在运行时工作。因此
java.util.List
和其他带尖括号的类名将永远无法工作。

请不要将控制台输出作为屏幕截图发布。它是简单的文本,只需将相关部分复制并粘贴到您的问题中即可。它正在工作!感谢指导。