在 Frida 中迭代集合——创建一个迭代器
Iterate over collection in Frida - Creating an iterator
我在 Frida 中 hook 了一个 Java 方法,它看起来像
public ABC setSomething(Collection<RandObject> things) {
this.things = new ArrayList(things);
return this;
}
在 javascript 中,我能够记录 things
参数并打印出 RandObjects。我还可以执行 size()
并获取内部元素的总数。
我尝试迭代集合所做的任何操作都不起作用。您不能使用 .get(X)
或 [X]
访问元素。我无法执行 Array.from
,因为 Frida 似乎没有可用的。我相信我需要创建一个迭代器才能正确执行此操作。我该怎么做?
我一直在尝试实例化 Java.use("java.util.Iterator")
但卡住了。
想通了:
var iter = things.iterator();
while(iter.hasNext()) {
console.log(iter.next());
}
我在 Frida 中 hook 了一个 Java 方法,它看起来像
public ABC setSomething(Collection<RandObject> things) {
this.things = new ArrayList(things);
return this;
}
在 javascript 中,我能够记录 things
参数并打印出 RandObjects。我还可以执行 size()
并获取内部元素的总数。
我尝试迭代集合所做的任何操作都不起作用。您不能使用 .get(X)
或 [X]
访问元素。我无法执行 Array.from
,因为 Frida 似乎没有可用的。我相信我需要创建一个迭代器才能正确执行此操作。我该怎么做?
我一直在尝试实例化 Java.use("java.util.Iterator")
但卡住了。
想通了:
var iter = things.iterator();
while(iter.hasNext()) {
console.log(iter.next());
}