我正在尝试使用
但是,一旦我读取值,该应用程序将自行关闭(它不会崩溃)。不知何故,该应用程序正在检测到我正在使用系统调用并尝试阅读其内存。
我正在尝试在基于x86的Android OS(7.0)上使用Linux 4.4内核进行操作。
这个功能高度未记录,任何有关此事的信息都将有助于解决问题。
以下是我实际代码的简化版本。
process_vm_readv()
读取另一个进程的内存。但是,一旦我读取值,该应用程序将自行关闭(它不会崩溃)。不知何故,该应用程序正在检测到我正在使用系统调用并尝试阅读其内存。
我正在尝试在基于x86的Android OS(7.0)上使用Linux 4.4内核进行操作。
这个功能高度未记录,任何有关此事的信息都将有助于解决问题。
以下是我实际代码的简化版本。
#include <sys/uio.h>
size_t readMem()
{
struct iovec local[1];
struct iovec remote[1];
char buf1[1024*8];
ssize_t nread;
pid_t pid = 3627;
local[0].iov_base = buf1;
local[0].iov_len = sizeof(buf1);
remote[0].iov_base = _ADDR // i in the loop below
remote[0].iov_len = sizeof(buf1);
return process_vm_readv(pid, local, 2, remote, 1, 0);
}
明确一点,这实际上是一个函数。我正在从循环中调用此函数,该循环遍历进程的每个内存地址。
for(long int i=0x7000000;!found;i+=4090)