【发布时间】:2021-07-10 16:15:55
【问题描述】:
我正在分析一个 PE 可执行文件,我想知道为什么物理大小小于第二部分的虚拟大小?
00000FEC 和 00000E00
究竟什么是物理尺寸以及它是如何计算的?有时大于虚拟大小,有时小于虚拟大小
# 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
【问题讨论】:
-
我很确定“VirtSize”就是 ELF 所说的“memsz”,而“PhysSize”就是 ELF 所说的“filesz”(ELF 有更好的名字)。请注意,MMU 意义上的“虚拟内存”通常是不相关的。我知道(在 ELF 上)
memsz更小,因为它不包括 BSS(初始化为 0)。我推测文件大小可能会四舍五入? -
可能是对齐方式