在进程内存中查找未使用的内存[关闭]

问题描述 投票:-3回答:1

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

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

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

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

c memory memory-management
1个回答
1
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.