首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >虚拟大小和物理大小

问虚拟大小和物理大小
EN

Stack Overflow用户
提问于 2021-07-11 00:15:56
回答 1查看 44关注 0票数 0

我正在分析一个PE可执行文件,我想知道为什么物理大小小于第二部分的虚拟大小?

00000FEC和00000E00

物理大小到底是多少,它是如何计算的?有时大于虚拟大小,有时小于虚拟大小

代码语言:javascript
复制
#  Name   VirtSize RVA      PhysSize Offset
1 .text   000C44C1 00001000 000C4600 00000800
2 .data   00000FEC 000C6000 00000E00 000C4E00
3 .rsrc   00000520 000C7000 00000600 000C5C00
4 .reloc  0000B098 000C8000 0000B200 000C6200
EN

回答 1

Stack Overflow用户

发布于 2021-07-11 02:40:20

虚拟大小表示区段映射到内存后的“实际”大小,而物理大小是PE文件中为区段数据分配的字节数。请注意,物理大小始终是文件块大小(512字节)的倍数,因此它可能会在对应于实际节数据的字节之后包含一些填充字节。

如果物理大小大于虚拟大小,这正是因为段数据被填充为文件块大小的倍数(您可以看到大小的差异将小于512字节)。

如果虚拟大小大于物理大小,这是因为该部分以零/空字节结束,并且在PE文件中没有显式表示零以节省空间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68329522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档