EXE

eXeL@B DVD

Материал из Справочник исследователя программ

Перейти к: навигация, поиск

EXE файлы (от англ. executable) (произносится ЭкЗэ-файлы) представляют из себя скомпилированную программу, которую можно запустить на исполнение.

EXE.png

Файл с расширением .exe всегда состоит из байт, также как и любой другой файл. Однако, все эти байты располагаются определенным образом: существует несколько форматов EXE файлов, которые делят их на программы для различных операционных систем, как DOS, Windows 16, Windows 32, нас на cracklab.ru прежде всего интересует формат EXE для Windows 32, называемый PE форматом.

Следует отметить, что экзе файл подразумевает наличие внутри себя исполняемого машинного кода, который выполняется процессором компьютера. Этот исполняемый код был написан программистом и реализует определенный алгоритм программы, сам код пишется либо на языке ассемблер данного процессора, либо чаще всего использется любой популярный язык программирования высокого уровня.

Кроме машинного кода исполняемый файл практически всегда содержит ряд прочих данных, например, служебные заголовки, строковые ресурсы, иконки, диалоговые окна, встроенные медиа файлы (картинки, мелодии). Вы можете узнать подробнее о них в описание PE формата (для Windows EXE файлов).

EXE файл для крэкера

EXE файлы являются основным материалом работы крэкеров, именно внутри файла программы обычно и содержится её защита.

Кодекс крэкера гласит: всё, что можно запустить, можно и взломать.

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

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

Динамический метод изучения алгоритма программы - отладка, для этого существуют специализированные программы, называемые отладчиками. В этом случае сама исследуемая программа запускается на выполнение пошагово, крэкер наблюдает за исполнением ассемблерных инструкций в ключевых местах (которые он определяет основываясь на своём опыте) и делает выводы о работе алгоритма защиты программы.

Источник — «https://exelab.ru/faq/EXE»