我尝试使用 Frida 和位于 Android 虚拟设备(模拟)上的服务器读取堆上的内存,但一直出现内存access violation
错误。
首先,我正在寻找一个有趣的类的实例:
Java.performNow(function() {
Java.choose("com.example.model.interestingObject", {
onMatch: function(instance) {
console.log(instance.toString());
}, onComplete: function() {
}
});
});
作为输出,我在内存中得到(我想)地址:
com.example.model.interestingObject@d735e35
但是当我尝试从该地址读取时:
Memory.readByteArray(ptr("0xd735e35"), 64);
然后我收到以下错误:
Error: access violation accessing 0xd735e35
at frida/runtime/core.js:282
at /repl18.js:26
问题是,如何从该地址读取字节?我对弗里达很陌生,所以可能做错了什么。很高兴有任何帮助!