ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
30 апреля
750413 Топик полностью
Dingo (18.04.2017 11:03 - 11:07, просмотров: 165) ответил Ксения на Сигнатура MZ есть везде, только дальше у 32- и 64-разрядных идет PE-заголовок с данными, а у 16-разрядных на этом месте случайный мусор. Из-за этого даже Win7 иногда заглатывает некоторые 16-разрядные приложения, хотя должна их сразу выплевывать.
Раз такое дело, то вероятней всего это NE или LE файл, причём по инфы из вики поведение больше похоже на NE. UPD: а может прицепите пример "вредного" файла?  
При запуске из Windows NT или OS/2 2.x NE-программы запускаются под Virtual DOS Machine (NTVDM.EXE и VDM, соответственно), которая обеспечивает их выполнение и почти полную совместимость с операционной системой DOS. Начиная с Windows NT 6.0 (Vista) оболочка Windows не поддерживает извлечение ресурсов из New Executable, поэтому, вместо иконки программы, в проводнике будет отображаться стандартная иконка .exe-файла. Также в 64-битных редакциях Windows запуск таких программ невозможен, т. к. 64-битные дескрипторы системы не могут быть урезаны до необходимых 16 бит.
Формат заголовка вроде расписан здесь Подвариант: анализ заголовка, но в служеббной инфе смотреть правдоподобность параметров: в те времена вряд ли кто-то надеялся бы на память >4Gb, перекрытие сегментов, их соотношение и т.п. То есть попытаться формально правильный заголовок отличить логически от мусора.