如何强制释放进程中的部分内存?

逆向工程 记忆 聚乙烯
2021-07-05 01:11:27

我需要在特殊地址中分配。如何强制在进程中分配内存的空闲部分?

ZwFreeVirtualMemory(0,(LPVOID*)&(ImageBase),&(SizeOfImage),MEM_RELEASE );
1个回答

您可以通过将调试器附加到进程并从调试器内部调用函数来实现。但是,由于这会使您的应用程序中的所有指针都无效到该强制释放区域,因此您的应用程序会在尝试取消引用该指针之一时立即崩溃。

确保您可以分配特定内存位置的唯一方法是在您的程序中尽快分配它,以免其他任何事情将其带走。

请在您发帖时,多告诉我们您想做什么以及为什么要这样做。通常没有充分的理由在虚拟内存中分配特定地址,但如果该地址有硬件,则可能有理由为特定物理地址创建映射

所以我假设你的问题是一个XY 问题,而你真正的问题是“我如何分配一块映射到某个物理地址的虚拟内存”。但是没有任何背景,就不可能知道如何帮助您。