Reputation: 28500
The MS documentation says that the BaseOfCode
value is only present in PE files, not in PE+. Looking at notepad.exe
with dotPeek and with PE Viewer seems to indicate that the BaseOfCode
is present and consumed.
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
The two bytes at 0x00F8
signify that this is a PE+ header. The BaseOfCode
is the four bytes at 0x010C
.
Is the documentation (and myself) incorrect or are dotPeek and PE View incorrect?
The fact that these bytes aren't zeroed out would imply that it the bytes are significant in some way.
Upvotes: 0
Views: 519
Reputation: 139
The difference is the BaseOfData
. It's present on PE32 (PE), not PE64 (PE+).
Upvotes: 0