加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

Windows进程的内存映射如何?

发布时间:2021-01-31 06:46:24 所属栏目:Windows 来源:网络整理
导读:这可能是一个重复的问题.我想知道一个 windows进程的内存映射怎么样?我正在寻找细节.请提供博客,文章和其他相关文献的链接. 我总是喜欢实际看到的东西,而不只是读理论.事实证明,根据 this blog post,如果您使用windbg打开程序,即使它不运行,仍然映射到地

这可能是一个重复的问题.我想知道一个 windows进程的内存映射怎么样?我正在寻找细节.请提供博客,文章和其他相关文献的链接. 我总是喜欢实际看到的东西,而不只是读理论.事实证明,根据 this blog post,如果您使用windbg打开程序,即使它不运行,仍然映射到地址空间,就像它一样.因此,您的反汇编窗口比喻(不保证在这些确切的地址加载您的代码)显示这些地址在代码方面是什么:

当然,由于ASLR,您不能保证这些地址,但它给您一个想法/让您思考:内存地址也只是代码.根据大多数现代计算机实现的Von Neumann架构,代码和内存存储在相同(虚拟)空间中.不幸的是,因为没有堆栈,堆等你不能移动,看看那些.

此blog post from Microsoft为您提供了虚拟地址空间的高级概述.正如你所看到的,其中一半被保留供操作系统使用,另一半可以填充任何内容(代码,malloc调用,堆栈分配等).

关于地址空间在用户端的工作方式,this diagram帮助我理解了.它链接了in this question,它为不同的可能的地图提供了一系列体面的链接.记住,内存中的布局将在部件方面有所不同.

要记住的一个重要的一点是,所有这些,程序,数据,堆栈,堆,内核的东西都是一个大的顺序系列的内存地址,尽管这些可能或可能不会实际转化为实际的内存地址.

尽管如此,您可能也会对可执行文件在磁盘上的显示感兴趣. This article和this article particularly提供了一些对PE文件格式的深入分析.后一篇文章还有一个图表,大致显示了数据是毫米.

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读