e_magic сигнатура на самом деле ZM а не MZ?

Пишу такой код(dll библиотека):

IMAGE_DOS_HEADER Doh;
memcpy(&Doh, hModule, sizeof(IMAGE_DOS_HEADER));
std::cout << std::hex << Doh.e_magic << std::endl;

hModule- это HINSTANCE загруженного модуля(dll).

Выводится не 4d5a а 5a4d при загрузке dll. То есть получается сигнатура e_magic на самом деле равна ZM а не MZ. А сделано это для того чтоб это читалось как MZ в hex-представлении PE?Я правильно понимаю?


Ответы (0 шт):