-
-
[旧帖]
[求助]关于文件偏移地址与虚拟地址转换的疑惑
0.00雪花
-
发表于:
2009-8-21 18:34
1680
-
[旧帖] [求助]关于文件偏移地址与虚拟地址转换的疑惑
0.00雪花
在<<加密与解密>>P-24页谈到了文件偏移地址与虚拟地址转换,有这样一段话:
文件区块有两种对齐值:一种是磁盘文件中的,另一种是内存的。PE文件被映射到内存时,区块总是至少以一个边界开始。也就是说,每个区块的第一个字节对应于某个内存页。在x86系统中,
每个内存页的大小是4KB,即0x1000个字节,所以在x86系统中,PE文件区块的内存对齐值一般等于0x1000,每个区块按0x1000之倍数的内存偏移位置开始。而磁盘对齐值一般取0x200,每个区块按0x200之倍数的文件偏移位置开始。
例如,本例文件的.text区块在磁盘文件中的起始偏移位置是0x400,当PE文件被装入内存后,将放在装入地址之上的0x1000位置处。同样,.rdata区块在磁盘文件中的起始偏移位置是0x800偏移处,PE文件被装入内存后,将放在装入地址之上的0x2000字节处。
我有几点不懂
1.什么是文件区块对齐?
2.上述文件转换,是如何实现的?
我想了好久,也没明白,希望大家能解释下,麻烦能详细点,在下感激不尽...
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课