我试图在一个类中挂钩一些函数它工作正常,但我想查看一个作为类实例的参数,并且这个类具有String
类型的字段,但是当我尝试获取这个字段时,我得到了一些非常奇怪的类型字符串的
这是代码: var someclass = Java.use('com.myapp.classes.someclass.a');
// String (Object, String, Boolean)
someclass.getData.overload('com.myapp.classes.ClassContext',
'java.lang.String', 'java.lang.Boolean').implementation = function (a, b, c) {
console.log('com.myapp.classes.ClassContext.stringify: ',
JSON.stringify(a.fieldWithStringData), '\r\n');
}
但是当我在这个对象上使用时,我得到了一些奇怪的对象,而不是字符串,我得到了这样的JSON.stringify
字符串(对于这个问题很漂亮):
{
"_p": ["<instance: com.myapp.classes.ClassContext>", 2, {
"className": "java.lang.String",
"name": "Ljava/lang/String;",
"type": "pointer",
"size": 1,
"defaultValue": "0x0"
}, "0xa3144614", "0xc2aaa8b0", "0xc2aace70"]
}
这个对象是什么以及如何从中获取实际的字符串,有人可以帮忙吗?