【问题标题】:what is difference between image base address, virtual address and relative virtual address?映像基址、虚拟地址和相对虚拟地址有什么区别?
【发布时间】:2016-10-05 09:46:02
【问题描述】:

镜像基地址、虚拟地址和相对虚拟地址有什么区别?

我所知道的是,在请求分页时,CPU 会生成一个包含页码地址和偏移量的虚拟地址,从中我们检查页表,然后映射到主内存中的相应帧。我们通过计算找到物理地址:(frame no-1)* page size + offset。

但我所读到的有关物理可执行 (PE) 文件格式的内容却大不相同。 我发现虚拟地址=镜像基址+相对虚拟地址偏移量

这两者有何不同?图像基地址到底是什么? 映像基址、虚拟地址和相对虚拟地址有什么区别? 我们什么时候使用镜像基地址?

【问题讨论】:

  • 什么是PE文件格式??
  • PE 代表 Portable Executable format,它是基于 Windows NT 平台的默认可执行机器代码文件格式。从这里阅读更多信息en.wikipedia.org/wiki/Portable_Executable

标签: memory-management operating-system kernel reverse-engineering


【解决方案1】:

在PE文件格式中,图像基地址用于二进制虚拟地址本身。应在环境中加载图像的地址。
虚拟地址是为函数/标签(或更具体的符号)地址定义的。
相对地址 引用当前上下文的相对寻址,可以是当前父符号地址或段。

【讨论】:

    猜你喜欢
    • 2011-01-11
    • 2021-09-11
    • 2014-03-15
    • 2019-12-06
    • 2014-09-14
    • 2011-12-12
    • 2019-07-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多