gpt4 book ai didi

c - Internet Explorer 地址空间

转载 作者:可可西里 更新时间:2023-11-01 14:14:08 26 4
gpt4 key购买 nike

虽然我目前对 Internet Explorer 地址空间很感兴趣,但我不介意笼统的回答。问题是我如何计算 Windows 进程的地址空间(地址空间是指内存中的最小和最大地址 - 如果我错了请更正 - )。 这个空间到底是固定的还是变化的?我还知道虚拟地址空间还是物理地址空间,如果我得到的是视觉地址空间,那么我打开的每个 IE 实例的映射是否相同? 我确实有一个调试器(具体来说是 ollydbg),我想我可以从中获得一些信息,但我不能指定是什么以及如何。请原谅我的知识不足,谢谢。

最佳答案

正如 wj32 评论的那样,用户模式应用程序只处理虚拟内存。它们都被赋予相同的虚拟地址空间,通常大小约为 2GB(可以以其他方式配置,对于数据库服务器很常见)。可以使用 GetSystemInfo 获取确切的地址。例如,在我的系统上,这是我得到的:

Python 2.6.3
>>> import win32api
>>> win32api.GetSystemInfo()
(0, 4096, 65536, 2147418111, 3L, 2, 586, 65536, (6, 5898))

第三个和第四个结果值表示最小/最大内存地址,因此从用户模式的角度来看,所有进程的地址空间都是 65536-2147418111,大约 2GB。但是,我认为这些信息不会对您有太大帮助。如果您要在进程的地址空间中查找具有特定属性的页面,您可以使用 VirtualQueryEx(正如 wj32 再次评论的那样)。 VirtualQueryEx 的行为允许您多次调用它,从进程最小地址开始并根据上一次调用结果递增,并获得目标进程内存空间的完整 View 。

关于c - Internet Explorer 地址空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3861702/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com