具体来说,VMMap 如何知道给定的内存区域是线程堆栈?

2023-11-25

我一直在使用 Mark Russinovich 的 VMMap 来为我正在分析的进程映射虚拟内存。使用 VirtualQueryEx,我可以遍历外部进程的空间并获取有关进程地址空间内的内存区域的信息。当然,这些区域与 VMMap 匹配,但 VirtualQueryEx 只告诉我内存是否已提交/保留/空闲以及是否是私有/共享/映像。

我找不到任何其他记录的方法来查询进程虚拟内存。 VMMap 似乎知道一种查询内存的方法,以便了解它是“私有数据”还是“线程堆栈”。 VirtualQueryEx 将这两者标记为 MEM_PRIVATE。那么 VMMap 是如何进行区分的呢?

是否有其他 API 函数可以用来辨别这些细节?


马克·鲁西诺维奇从不分享他的秘密,他有很多秘密。我想它可以从未记录的线程环境块中找到,尽管我没有看到很好的候选者。更好的线索可能是页面属性。它使用 MEM_TOP_DOWN,只有堆栈才有(检查 VirtualAlloc)。与保护页面(引发 StackOverflowException 的保护页面)相结合,将使其完全明确。无论如何我都会这样做。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具体来说,VMMap 如何知道给定的内存区域是线程堆栈? 的相关文章

  • NtDll 真的导出 C 运行时函数吗?我可以在我的应用程序中使用这些函数吗?

    我在查看 Windows 10 计算机上的 NtDll 导出表 发现它导出标准 C 运行时函数 例如memcpy sprintf strlen etc 这是否意味着我可以在运行时动态调用它们LoadLibrary and GetProcAd
  • 使用 IDLE 编辑的 .py 文件消失了

    我曾经有过Edit with IDLE当我右键单击时的选项 py文件 但我多次卸载 重新安装以使某些东西正常工作 但现在它消失了 我检查了注册表HKEY CLASSES ROOT and HKEY LOCAL MACHINE对于价值低于Py
  • 如何使用 win32com.client api 访问 MS Word 的脚注

    我正在尝试使用 win32com client api 访问 MS Word 文件的脚注 我已经用谷歌搜索过 但没能找到合适的方法 我使用 python docx 来实现上述目的 但我发现当前版本的 python docx 无法访问 MS
  • 如何更改选项卡控件的名称

    我在 C WinForms 应用程序中使用选项卡控件 我想更改选项卡的标题 默认情况下它们是 tabPage1 tabPage2 等 一种无需代码即可实现的懒惰方法 选择选项卡控件 Go to properties use F4 to do
  • Windows7上python3.5无法安装BeautifulSoup4

    我已经从下载了 beautifulsoup4 4 5 3 tar gzhttps www crummy com software BeautifulSoup bs4 download 4 5 https www crummy com sof
  • 如何从任何进程关闭 Windows 上的套接字(ipv4 和 ipv6)连接?

    如何在 Windows 上关闭 tcp v4 和 tcp v6 连接 我不想终止具有开放连接的整个进程 因为这显然会将其他人踢出该进程 我需要从一个单独的进程执行此操作 因此无法访问套接字句柄等 我正在使用 Windows API 来获取
  • 确定用于映射网络驱动器的域和用户名

    使用带有 SP1 的 Windows 7 Enterprise 但我希望得到适用于 Windows XP 2003 2008 Vista 7 的通用答案 从命令提示符处 我执行net use命令将 Z 驱动器映射到另一台计算机上的共享 但我
  • 在 Google Colab 中重新启动内核

    我正在尝试通过单元重新启动 Google Colab Jupyter Notebook 中的内核 前面给出的选项 import os os exit 00 没问题 但在我看来 这不是一种非常 Pythonic 的重新启动内核的方式 另一种选
  • 检测计算机何时解锁 Windows

    我用过这个优秀的方法 https stackoverflow com questions 20733441 lock windows workstation using python 20733443锁定 Windows 计算机 那部分工作
  • 修改代码以从 Windows 中的 PE 可执行文件检索双重签名信息?

    我已经挣扎了一段时间想要修改这段代码示例 https support microsoft com en us help 323809 how to get information from authenticode signed execu
  • Git 扩展 - 无法在 Windows 上推送到网络驱动器中的 git bare 存储库

    我正在 Windows 上学习 git 我已经安装了 Git 扩展 版本 2 47 3 并使用了它 我在我的 C 单元中创建了一个裸存储库 作为中央存储库 并在硬盘中的其他任何位置创建了个人存储库 我对硬盘中的这两个存储库进行提交 推送和拉
  • 访问图像的 Windows“标签”元数据字段

    我正在尝试进行一些图像处理 所以现在我正在尝试读取图像 exif 数据 有 2 个内置函数可用于读取图像的 exif 数据 问题是我想读取图像标签 exifread and imfinfo这两个函数都不显示图像标签 Is there any
  • 自定义波特率,redux

    我遇到的问题详述如下自定义波特率 https stackoverflow com questions 7714060 custom baud rate SetCommState 波特率 921600 失败 但波特率 115200 成功 尽管
  • 在 Windows 上不使用 OpenSSL 从 pfx 文件或证书存储中提取私钥

    正如标题所示 我想在不使用 OpenSSL 或任何其他第三方工具的情况下导出我的私钥 如果我需要一个 cer文件或 pfx我可以通过 MMC 或 PowerShell 轻松导出这些文件pkiclient但我找不到获取私钥的方法 https
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • 为什么我只能用管理员权限才能导入Python中的某些模块?

    我正在努力解决 Python 2 7 中的一些奇怪问题 我写了一个很长的工具 在其中导入不同的模块 我必须首先使用它安装pip 该工具将在公司内部共享 不同的用户在其特定机器上拥有不同的权限 当另一个用户登录我的计算机 我在那里拥有管理员权
  • 不在焦点时响应键盘? (C#、Vista)

    我正在尝试编写一个应用程序 只要按下 Shift 键 无论当前哪个应用程序具有焦点 它都会做出响应 我尝试过这个SetWindowsHookEx 与GetKeyboardState 但这两种方法仅在应用程序窗口具有焦点时才有效 我需要它在全
  • 在哪里可以获得 PHP 5.3+ 的 runkit DLL 扩展?

    这是一个简单的问题 我在哪里可以获得 PHP 5 3 版本的 runkit 扩展 它的手册 http php net manual en book runkit php http php net manual en book runkit
  • SetCurrentDirectoryW 中的错误 206

    在我之后之前不清楚的问题 https stackoverflow com questions 44389617 long path name in setcurrentdirectoryw 我以某种方式能够创建一个具有长路径名的目录 但是
  • 如何查看网络连接状态是否发生变化?

    我正在编写一个应用程序 用于检查计算机是否连接到某个特定网络 并为我们的用户带来一些魔力 该应用程序将在后台运行并执行检查是否用户请求 托盘中的菜单 我还希望应用程序能够自动检查用户是否从有线更改为无线 或者断开连接并连接到新网络 并执行魔

随机推荐

  • 使用 XSLT 创建带有嵌套粗体/斜体标签的 XSL-FO

    我正在创建 xslt 文件 它将我的 xml 转换为 xsl fo XML 是这样的
  • 如何自动配置 Eclipse?

    从事项目的团队往往需要 Eclipse 的通用配置 这包括通用配置和项目特定配置 例如 一般来说 每个人都可能希望共享缩进 某些插件的安装 例如 m2eclipse testng egit Spring 支持 此外 对于一个项目 您可能需要
  • 为需要另一个扩展的 Python 进行 C 扩展

    我有几个 Python 函数 可以用来让 Pygame 的游戏开发变得更容易 我将它们放在 Python 路径中名为 helper py 的文件中 这样我就可以从我制作的任何游戏中导入它们 我想 作为学习 Python 扩展的练习 将此模块
  • 使用纯云 Azure Active Directory 进行 SQL Azure 集成身份验证失败

    我已经创建了 Azure 租赁并配置了以下内容 Azure AD 具有 简单的自定义域名 少于 15 个字符 DNS 验证等一切都很好 用户和管理员组 两个组中的用户 VNET DNS 和 IP 地址 启用设备管理 启用域服务并连接到 VN
  • Twitter API 在 XAMPP 上返回 NULL

    我正在尝试调用 Twitter API 简而言之 我的问题与描述的相同here 我接到电话NULL on a var dump 结果 However cURL 工作正常 我已经包含了最新版本的twitter api php脚本和所有令牌 密
  • 如何从输入类型文件多个中删除特定文件?

    我正在使用多个输入类型文件来更新一些图片 上传之前 页面会显示每张图片的缩影 我想为每张图片添加一个删除链接 当用户单击时 图片就会消失 文件也会从输入中删除 我尝试使用下面的代码 HTML
  • 理解封装和抽象的简单方法

    学习 OOP 概念特别有兴趣深入理解抽象和封装 已经查看了下面的内容 抽象VS信息隐藏VS封装 抽象和封装之间的区别 我发现如果没有真实且简单的示例类 代码片段 很难理解这些概念 我的一位同事说抽象只不过是创造抽象 类和用范围保护其成员变量
  • 在 Windows Phone 8.1 上获取 CivicAddress

    我正在尝试从 Windows Phone 8 1 中的地理位置获取 CivicAddress 我尝试使用以下代码 Get Current Location var geolocator new Geolocator geolocator D
  • 属性的使用... INotifyPropertyChanged

    这只是我在学习属性时想到的事情 而且我太多地使用了 INotifyPropertyChanged 这只是一个想法 我想听听一些关于它的意见 我知道这需要在编译器上做一些工作 而不是在消费者方面 由于 INotifyPropertyChang
  • 如何在 MySQL 中存储 varbinary?

    只是一个简单的问题 在下面提到的两个选项中 如何存储到varbinaryMySQL 中的列 public key 67498930589635764678356756719 or public key 6749893058963576467
  • 如何为 android MediaController 创建自定义 UI

    我想为我的视频播放器自定义 MediaController 中的控件 我想更换播放按钮的图像 更改皮肤 更改颜色等 有已知的方法可以做到这一点吗 Thanks 我在最近的一个项目中遇到了同样的问题 最终基于库存 MediaControlle
  • “ascii”编解码器无法对位置 9 中的字符 u'\u2013' 进行编码:序号不在范围内(128)

    我正在尝试导入 cvs 但出现此错误 UnicodeEncodeError at brokers csv ascii codec can t encode character u u2013 in position 9 ordinal no
  • 将多个本机 DLL 合并为一个 DLL

    我有很多小的 DLL 我想将它们制作成一个大的 呃 DLL 如在这里建议 我可以通过合并我的项目来做到这一点 但我想要一种侵入性较小的方式 多个DLL可以合并为一个单元吗 快速搜索发现这个线程声称这是不可能的 还有人知道吗 请注意 我谈论的
  • 关闭Form时出现异常(线程+调用)

    我刚刚开始学习c 中的线程和方法调用 但我遇到了一个我找不到解决方案的问题 我制作了一个基本的 C 表单程序 它通过启动线程并调用委托来不断更新和显示数字 在 Form1 load 上启动新线程 private void Form1 Loa
  • Spring security - 如何提及基于表单的身份验证和基本身份验证

    是否可以使用名称空间配置在 Spring security 中提及基于表单的身份验证和基本身份验证 而不覆盖其他身份验证 这样应用程序就可以为基于浏览器的请求和远程客户端提供服务 The grimesjm 的回应是对的 但是 如果您使用 S
  • Java中栈帧的内容

    从Java虚拟机实现中可以明显看出 http docs oracle com javase specs jvms se7 html index html 该堆栈帧存在于堆上 用于存储方法的运行时数据 但是java中栈帧的内容是什么以及栈帧是
  • 让div占据100%的身体高度,减去固定高度的页眉和页脚[重复]

    这个问题在这里已经有答案了 根据我的研究 这似乎是一个绝对经典的 CSS 问题 但我找不到明确的答案 所以 StackOverflow 就是这样 如何设置内容 div 占据正文高度的 100 减去固定高度页眉和页脚所占据的高度
  • 在 C# 中使用 LINQ 从名称值列表中获取 4 个元素的组

    我想循环遍历这个名称值对列表 并将它们分成 4 个一组 数据会是这样的 value1 1 value2 1 value3 1 value4 1 value1 2 value2 2 value3 2 value4 2 它会将其分组为 1 个列
  • 仅使用 css 换行(如

    是否可以在纯CSS中 即不添加额外的html标签 进行换行 例如 br 我想要在之后换行 h4 元素 但不在之前 HTML li Text text text text text h4 Sub header h4 Text text tex
  • 具体来说,VMMap 如何知道给定的内存区域是线程堆栈?

    我一直在使用 Mark Russinovich 的 VMMap 来为我正在分析的进程映射虚拟内存 使用 VirtualQueryEx 我可以遍历外部进程的空间并获取有关进程地址空间内的内存区域的信息 当然 这些区域与 VMMap 匹配 但