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 不正确?
这些字节没有清零的事实意味着这些字节在某种程度上很重要。
不同的是
BaseOfData
,它出现在PE32(PE)上,而不是PE64(PE+)上。