Исполняемые файлы ( EXE-файлы).

Структура исполняемых двоичных файлов всецело зависит от того, для какой ОС эти программы предназначены. В качестве примера возьмем исполняемый файл с расширением exe для ОС Microsoft Windows.

Любой такой файл начинается с последовательности байт 4D 5A (MZ в представлении ASCII) — это сигнатура EXE-файлов Windows. В ней увековечены инициалы одного из разработчиков ОС MS-DOS 2.0 Марка Збиковски, а выбрана была она потому, что ни одна из инструкций процессоров семейства Intel x86 не начинается с такого кода!

Первые 128 байтов файла представляют собой простейшую программу MS-DOS. При попытке запустить исполняемый файл Windows в среде MS-DOS она выведет на экран сообщение: This program cannot be run in DOS mode. Станет ясно, что эту программу в среде DOS выполнить нельзя. Сегодня такой заголовок уже стал данью традиции, но присутствовать он должен все равно. По характерной строке (она представлена в кодировке ASCII) очень легко узнать исполняемые файлы при просмотре содержимого диска в любом HEX-редакторе.

Далее следует сам откомпилированный программный код. Очень часто он бывает еще и сжат одним из упаковщиков, и в HEX-редакторе вы вряд ли увидите что-либо вразумительное.