我有一个封闭源码的第三方程序,我想要能够
>知道分配给程序的内存
>访问该内存(只读是好的)
像vmmap(1),heap(1)和leaks(1)这样的功能似乎与我需要的功能类似,但是我找不到源代码(OS X版本),并且无法弄明白工作.优选地,这将全部在用户空间中完成,可能以root身份运行,如果我可以避免,我不想为了绕过内存保护而编写内核代码.
我尝试使用共享内存传递我想要阅读的地址作为shmat(2)的第二个参数,但这最终不成功(可能不是其预期的用法和/或不好的做法),仍然让我没有办法确定我正在寻找什么记忆(拥有记忆的程序必须向我报告其地址).
是否有一种方法来禁用特定程序的内存保护,以便在尝试读取/写入分配给其他进程的内存时不会发生故障?有没有更好的方法,不会使错误严重损坏我的整个系统?
这是如何实现的?