windows – VMMap如何知道给定的内存区域是Thread Stack,具体来
发布时间:2020-12-14 04:16:41 所属栏目:Windows 来源:网络整理
导读:我一直在使用Mark Russinovich的VMMap为我正在分析的过程绘制虚拟内存.使用VirtualQueryEx,我可以走外部进程的空间,获取进程地址空间内存区域的信息.当然,这些区域与VMMap匹配,但VirtualQueryEx只告诉我内存是否已提交/保留/免费以及是否为私有/共享/映像.
我一直在使用Mark Russinovich的VMMap为我正在分析的过程绘制虚拟内存.使用VirtualQueryEx,我可以走外部进程的空间,获取进程地址空间内存区域的信息.当然,这些区域与VMMap匹配,但VirtualQueryEx只告诉我内存是否已提交/保留/免费以及是否为私有/共享/映像.
我找不到任何其他记录的方法来查询进程虚拟内存. VMMap似乎知道一种查询内存的方法,以便了解它是“私有数据”还是“线程堆栈”. VirtualQueryEx将这两个标记为MEM_PRIVATE.那么VMMap如何做出这种区分呢? 是否有其他API函数可以用来辨别这些细节?
Mark Russinovich从不分享他的秘密,他有很多.我想可以从未记录的线程环境块找到它,虽然我没有看到很好的候选人.页面属性可能更好.它使用MEM_TOP_DOWN,只有堆栈具有(检查VirtualAlloc).与Guard页面的组合,一个使StackOverflowException跳闸的页面将使它完全明确.无论如何,这就是我要这样做的方式.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
推荐文章
站长推荐
- 我怎么可能从Windows上ssh到机器,但不是我的mac?
- windows-phone-8 – Visual Studio 2013中Window
- JLink重刷固件(win7/win8/win10亲测可用)
- 如何在Windows上为ruby安装PCAP
- windows – 与WMF 4.0有任何已知的不兼容性吗?
- windows-server-2008 – SharePoint 2010是否与W
- .net – 您是否在GAC中安装域DLL?
- laravel – npm在vagrant / homestead / windows
- Windows API一日一练 54 WriteFile和ReadFile函数
- windows sc 添加创建exe服务;
热点阅读