PE: Difference between revisions

76 bytes added ,  10 years ago
m
Convert to standard ISO data types
[unchecked revision][unchecked revision]
(→‎64 bit PE: Some info on field expansion)
m (Convert to standard ISO data types)
Line 24:
// 1 byte aligned
struct PeHeader {
uint32uint32_t mMagic; // PE\0\0 or 0x00004550
uint16uint16_t mMachine;
uint16uint16_t mNumberOfSections;
uint32uint32_t mTimeDateStamp;
uint32uint32_t mPointerToSymbolTable;
uint32uint32_t mNumberOfSymbols;
uint16uint16_t mSizeOfOptionalHeader;
uint16uint16_t mCharacteristics;
};
</source>
Line 43:
// 1 byte aligned
struct Pe32OptionalHeader {
uint16uint16_t mMagic; // 0x010b - PE32, 0x020b - PE32+ (64 bit)
uint8uint8_t mMajorLinkerVersion;
uint8uint8_t mMinorLinkerVersion;
uint32uint32_t mSizeOfCode;
uint32uint32_t mSizeOfInitializedData;
uint32uint32_t mSizeOfUninitializedData;
uint32uint32_t mAddressOfEntryPoint;
uint32uint32_t mBaseOfCode;
uint32uint32_t mBaseOfData;
uint32uint32_t mImageBase;
uint32uint32_t mSectionAlignment;
uint32uint32_t mFileAlignment;
uint16uint16_t mMajorOperatingSystemVersion;
uint16uint16_t mMinorOperatingSystemVersion;
uint16uint16_t mMajorImageVersion;
uint16uint16_t mMinorImageVersion;
uint16uint16_t mMajorSubsystemVersion;
uint16uint16_t mMinorSubsystemVersion;
uint32uint32_t mWin32VersionValue;
uint32uint32_t mSizeOfImage;
uint32uint32_t mSizeOfHeaders;
uint32uint32_t mCheckSum;
uint16uint16_t mSubsystem;
uint16uint16_t mDllCharacteristics;
uint32uint32_t mSizeOfStackReserve;
uint32uint32_t mSizeOfStackCommit;
uint32uint32_t mSizeOfHeapReserve;
uint32uint32_t mSizeOfHeapCommit;
uint32uint32_t mLoaderFlags;
uint32uint32_t mNumberOfRvaAndSizes;
};
</source>
Anonymous user