MS文档中说BaseOfCode
值只存在于PE文件中,而不存在于PE+中。使用dotPeek和PE Viewer查看notepad.exe
似乎表明BaseOfCode
存在并被使用。
0 1 2 3 4 5 6 7 8 9 A B C D E F
0x00E0 | 5045 0000 6486 0600 6a98 8957 0000 0000
0x00F0 | 0000 0000 f000 2200 0b02 0e00 0086 0100
0x0100 | 004e 0200 0000 0000 d087 0100 0010 0000
字符串0x00F8
处的两个字节表示这是一个PE+报头。BaseOfCode
是0x010C
处的四个字节。
是文档(和我自己)不正确还是dotPeek和PE View不正确?
这些字节没有被清零的事实意味着这些字节在某种程度上是有意义的。
1条答案
按热度按时间pgccezyw1#
区别在于
BaseOfData
。它存在于PE 32(PE)上,而不是PE 64(PE+)上。