在进程内存中查找未使用的内存

时间:2017-12-16 19:14:28

标签: c memory memory-management

我正在寻找一种可靠的方法在unused memory程序的过程中找到C,因为我需要将某些数据“注入”到某个地方而不会破坏任何内容。

每当我发现其中只有零的区域时,这是一个好兆头。但是,没有保证:它仍然可以崩溃。所有非零内存最有可能被肯定使用,因此无法可靠地覆盖(大多数内存中都有某种数据)。

我知道你真的不知道(例如没有应用程序的源代码),但是有没有任何启发意义,例如选择某些段或内存看起来某种方式?由于数据可能是200KB,因此相当大,找到合适的地址范围可能很困难/乏味。

通过OS功能分配内存在此上下文中不起作用。

1 个答案:

答案 0 :(得分:1)

如果不了解远程进程,您无法知道实际分配给该进程的任何内存都是“未使用”。

找到可写内存(无论当前内容如何)都要求崩溃进程或更糟。

要求操作系统在另一个进程中分配更多的内存是要走的路,这样你就知道进程没有使用内存,进程也不会通过自己的分配来接收该地址。 / p>