0

使用 Dev-C++ 4.9.2。我正在通过 HeapCreate 分配一个新堆,然后执行两个 HeapAlloc(分配两个堆段),然后通过 HeapFree 释放第二个堆段......这一切都在 Windows XP SP3 上。当我释放第二个堆段时,它没有像应该的那样进入 LookAside List (LAL),而是将第二个段与堆中未分配的内存合并。所以我最终只得到一个堆段仍然分配,根本没有第二段。当我应该以分配的一个堆段和 LAL 上的第二个段结束时。

有任何想法吗?

我正在使用来自http://www.net-ninja.net/article/2011/Sep/03/heap-overflows-for-的一些基本堆溢出代码(试图了解堆溢出如何工作以使代码更安全)human-102/我已经使用 Dev-C++ 4.9.2 编译了它。

4

0 回答 0