在windows中如何确定指针是指向堆栈还是堆区域

时间:2015-01-19 19:28:34

标签: c++ c winapi

这个问题可能看似重复,但我猜不是。

主要是我想确定指针是否使用C ++或C驻留在Stack或Heap中而不​​使用任何调试库。我已经在堆栈溢出中进行了搜索,但找不到任何解决方案/解决方案。对于Windows系统。

我见过一个python库(pydbg),它可以确定任何地址是属于堆栈还是堆区域。该功能的确切链接如下所示。

https://github.com/OpenRCE/pydbg/blob/master/pydbg.py#L3147

我认为windbg"!地址为0xaddress"命令做了一些类似的事情。用法告诉我们它是堆还是堆栈。

0:000> !address 00aada58
    00a80000 : 00a80000 - 0004b000
                    Type     00020000 MEM_PRIVATE
                    Protect  00000004 PAGE_READWRITE
                    State    00001000 MEM_COMMIT
                    Usage    RegionUsageHeap
                    Handle   00970000

那么我们可以不使用任何调试库吗?

感谢Adv。

0 个答案:

没有答案