что такое exe файл это

ITGuides.ru

Вопросы и ответы в сфере it технологий и настройке ПК

Открываем файлы EXE формата: программы под Windows, Mac OS, Linux

Формат exe – это исполняемый файл, который используется в данном виде еще с далеких времен первой ОС DOS. Бывают ситуации, когда нужно открыть такой файл для редактирования. Какой программой можно воспользоваться в таком случае и как это вообще можно сделать, будет сказано далее.

Где используется формат EXE

Такие файлы использовались ранее и существуют сейчас в таких ОС, как MS-DOS, OS/2, Windows, Symbian и OpenVMS. Такие файлы задействуются в 16-, 32- и 64-разрядных ОС.

Основной частью файла exe является исполняемый код, но в дополнение к нему там могут содержаться такие элементы графики, как иконки, и другие данные. Поэтому в большинстве случаев никакой дополнительной программой пользоваться не придется — exe сам по себе программа. Однако есть ряд случаев, когда все же необходимо залезть в сам исполняемый файл. Что делать в таком случае?

Программы для работы с форматом EXE

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

что такое exe файл это. otkryvaem fajly exe formata 101. что такое exe файл это фото. что такое exe файл это-otkryvaem fajly exe formata 101. картинка что такое exe файл это. картинка otkryvaem fajly exe formata 101. Формат exe – это исполняемый файл, который используется в данном виде еще с далеких времен первой ОС DOS. Бывают ситуации, когда нужно открыть такой файл для редактирования. Какой программой можно воспользоваться в таком случае и как это вообще можно сделать, будет сказано далее.

При помощи Resource Hacker можно открыть и вытянуть информацию и ресурсы из EXE файла — иконки, версии, и другие

Resourse Hacker (сокращенно — Reshack). Это приложение бесплатное, и его размер всего 545 кб. В этой программке можно менять такие элементы, как курсоры, и конки и проч., но доступа к программному коду она не дает. То же самое можно сделать в программе Resource Tuner.

При попытке открыть файл EXE, вы можете столкнуться с тем, что программа будет выдавать одно из сообщений о ошибке:

Файлы exe используются для распространения вирусов, в частности, троянов. Поэтому при открытии таких файлов соблюдайте осторожность и не забывайте проводить сканирование системы, например, с помощью бесплатной лечащей утилиты Dr.Web CureIt.

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

Какие файлы не стоит открывать в редакторах ресурсов

Какие еще существуют программы для открытия exe

Другие распространенные программы, позволяющие открыть exe под Windows:

Если ваш ПК является «обладателем» Mac OS, то подойдут такие приложения:

В Linux работают Cedega, Wine и DataFlex.

Если под операционную систему Linux при выборе, чем открывать exe файлы, вы остановитесь на Wine, то рекомендуем обратить внимание на версию от Ethersoft. В нее включен ряд модулей, которые ориентированы на запуск и работу с приложениями для бизнеса — 1С Предприятие и продукты Microsoft. Также хочется отметить, что Wine уже длительное время умеет стабильно работать с MS Office, включая текстовый редактор Word.

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

Отблагодари меня, поделись ссылкой с друзьями в социальных сетях:

Читайте также

что такое exe файл это. %D0%9E%D1%82%D0%BA%D1%80%D1%8B%D1%82%D1%8C DOC %D0%BE%D0%BD%D0%BB%D0%B0%D0%B9%D0%BD. что такое exe файл это фото. что такое exe файл это-%D0%9E%D1%82%D0%BA%D1%80%D1%8B%D1%82%D1%8C DOC %D0%BE%D0%BD%D0%BB%D0%B0%D0%B9%D0%BD. картинка что такое exe файл это. картинка %D0%9E%D1%82%D0%BA%D1%80%D1%8B%D1%82%D1%8C DOC %D0%BE%D0%BD%D0%BB%D0%B0%D0%B9%D0%BD. Формат exe – это исполняемый файл, который используется в данном виде еще с далеких времен первой ОС DOS. Бывают ситуации, когда нужно открыть такой файл для редактирования. Какой программой можно воспользоваться в таком случае и как это вообще можно сделать, будет сказано далее.

Как открыть документы в формате DOC онлайн

что такое exe файл это. %D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D1%8C %D1%84%D0%B0%D0%B9%D0%BB dwg %D0%BE%D0%BD%D0%BB%D0%B0%D0%B9%D0%BD. что такое exe файл это фото. что такое exe файл это-%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D1%8C %D1%84%D0%B0%D0%B9%D0%BB dwg %D0%BE%D0%BD%D0%BB%D0%B0%D0%B9%D0%BD. картинка что такое exe файл это. картинка %D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D1%8C %D1%84%D0%B0%D0%B9%D0%BB dwg %D0%BE%D0%BD%D0%BB%D0%B0%D0%B9%D0%BD. Формат exe – это исполняемый файл, который используется в данном виде еще с далеких времен первой ОС DOS. Бывают ситуации, когда нужно открыть такой файл для редактирования. Какой программой можно воспользоваться в таком случае и как это вообще можно сделать, будет сказано далее.

Онлайн просмотр файлов с расширением DWG

что такое exe файл это. CHem otkryit fayl CDR 3. что такое exe файл это фото. что такое exe файл это-CHem otkryit fayl CDR 3. картинка что такое exe файл это. картинка CHem otkryit fayl CDR 3. Формат exe – это исполняемый файл, который используется в данном виде еще с далеких времен первой ОС DOS. Бывают ситуации, когда нужно открыть такой файл для редактирования. Какой программой можно воспользоваться в таком случае и как это вообще можно сделать, будет сказано далее.

Как открыть файлы CDR онлайн

что такое exe файл это. AVI %D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82. что такое exe файл это фото. что такое exe файл это-AVI %D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82. картинка что такое exe файл это. картинка AVI %D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82. Формат exe – это исполняемый файл, который используется в данном виде еще с далеких времен первой ОС DOS. Бывают ситуации, когда нужно открыть такой файл для редактирования. Какой программой можно воспользоваться в таком случае и как это вообще можно сделать, будет сказано далее.

Формат AVI

что такое exe файл это. fajl 264 chem otkryt. что такое exe файл это фото. что такое exe файл это-fajl 264 chem otkryt. картинка что такое exe файл это. картинка fajl 264 chem otkryt. Формат exe – это исполняемый файл, который используется в данном виде еще с далеких времен первой ОС DOS. Бывают ситуации, когда нужно открыть такой файл для редактирования. Какой программой можно воспользоваться в таком случае и как это вообще можно сделать, будет сказано далее.

что такое exe файл это. kak otkryvat fajly formata html. что такое exe файл это фото. что такое exe файл это-kak otkryvat fajly formata html. картинка что такое exe файл это. картинка kak otkryvat fajly formata html. Формат exe – это исполняемый файл, который используется в данном виде еще с далеких времен первой ОС DOS. Бывают ситуации, когда нужно открыть такой файл для редактирования. Какой программой можно воспользоваться в таком случае и как это вообще можно сделать, будет сказано далее.

Как и чем открывать, создавать и редактировать файлы формата HTML

что такое exe файл это. fajl formata vob kak otkryt ili szhat. что такое exe файл это фото. что такое exe файл это-fajl formata vob kak otkryt ili szhat. картинка что такое exe файл это. картинка fajl formata vob kak otkryt ili szhat. Формат exe – это исполняемый файл, который используется в данном виде еще с далеких времен первой ОС DOS. Бывают ситуации, когда нужно открыть такой файл для редактирования. Какой программой можно воспользоваться в таком случае и как это вообще можно сделать, будет сказано далее.

Файл формата VOB: какие программы для открытия использовать и как сжать

что такое exe файл это. fajly fdb kak i kakimi programmami otkryt. что такое exe файл это фото. что такое exe файл это-fajly fdb kak i kakimi programmami otkryt. картинка что такое exe файл это. картинка fajly fdb kak i kakimi programmami otkryt. Формат exe – это исполняемый файл, который используется в данном виде еще с далеких времен первой ОС DOS. Бывают ситуации, когда нужно открыть такой файл для редактирования. Какой программой можно воспользоваться в таком случае и как это вообще можно сделать, будет сказано далее.

Для чего используются файлы FDB, как и какими программами их открыть?

Оставить комментарий ВКонтакте

2 Комментариев

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

ООО, да тут даже околохакерские приемы работы с «экзешниками» описаны!

На Линуксе открытие exe без Wine превращается в пляску с бубно с последующим выдиранием волос из головы. Автору спасибо — указал конкретную версию для проги!

Источник

Структура exe файла windows

.EXE (сокр. англ. executable — исполнимый) — расширение исполняемых файлов, применяемое в операционных системах DOS, Windows, Symbian OS, OS/2 и в некоторых других, соответствующее ряду форматов. Кроме объектного кода может содержать различные метаданные (ресурсы, цифровая подпись [1] ).

Содержание

Структура файлов [ править | править код ]

Файл EXE, создаваемый компоновщиком, состоит из двух частей:

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

Стандартная часть заголовка имеет следующий формат [3] :

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

Структура программного сегмента [ править | править код ]

что такое exe файл это. 48px Question book 4.svg. что такое exe файл это фото. что такое exe файл это-48px Question book 4.svg. картинка что такое exe файл это. картинка 48px Question book 4.svg. Формат exe – это исполняемый файл, который используется в данном виде еще с далеких времен первой ОС DOS. Бывают ситуации, когда нужно открыть такой файл для редактирования. Какой программой можно воспользоваться в таком случае и как это вообще можно сделать, будет сказано далее.

При обращении к нерезидентной команде или вызове программы операцией Exec, DOS определяет минимальный адрес, начиная с которого может быть загружена соответствующая программа. Эта область называется программным сегментом.

По смещению 0000 в программном сегменте DOS формирует префикс программного сегмента (PSP). Сама программа загружается по смещению 0100.

Программа завершается переходом по адресу 0000 в программном сегменте, выполнив INT 20, выполнив INT 21 с AH=0 или AH=4C, или обратившись к подпрограмме по адресу 0050 в программном сегмент с AH=0 или AH=4C.

Примечание: при завершении иначе, чем операцией 4C, программа должна предварительно заслать в CS адрес начала своего программного сегмента.

Все четыре способа возвращают управление в резидентную часть COMMAND.COM (при этом операция 4C передает код завершения). Все четыре способа приводят к продолжению выполнения программы, обратившейся к операции Exec (4B). При этом вектора прерываний 22, 23 и 24 (завершение, Ctrl-Break, фатальная ошибка обмена) восстанавливаются из Префикса Программного сегмента возобновляемой задачи. Затем управление передается по адресу завершения. Если программа возвращается в COMMAND.COM, то управление передается в нерезидентную часть. Если это происходит во время выполнения командного файла, оно продолжается, иначе COMMAND выдает на терминал приглашение и ждет ввода следующей команды.

Когда загруженная программа получает управление, имеют место следующие условия:

Portable Executable (PE, «переносимый исполняемый») — формат исполняемых файлов, объектного кода и динамических библиотек, используемый в 32- и 64-разрядных версиях операционной системы Microsoft Windows. Формат PE представляет собой структуру данных, содержащую всю информацию, необходимую PE-загрузчику для отображения файла в память. Исполняемый код включает в себя ссылки для связывания динамически загружаемых библиотек, таблицы экспорта и импорта API-функций, данные для управления ресурсами и данные локальной памяти потока (TLS). В операционных системах семейства Windows NT формат PE используется для EXE, DLL, SYS (драйверов устройств) и других типов исполняемых файлов.

PE представляет собой модифицированную версию COFF формата файла для Unix. PE/COFF — альтернативный термин при разработке Windows.

На операционных системах семейства Windows NT формат PE в настоящее время поддерживает следующие архитектуры наборов команд: IA-32, IA-64 и x86-64 (AMD64/Intel64). До Windows 2000 Windows NT (таким образом, и PE) поддерживал MIPS, Alpha и PowerPC. Поскольку PE используется на Windows CE, он продолжает поддерживать несколько разновидностей MIPS, ARM (включая Thumb) и SuperH.

Основные «конкуренты» PE — ELF (используемый в Linux и большинстве других версий Unix) и Mach-O (используемый в Mac OS X).

Содержание

Краткая история [ править | править код ]

С появлением операционной системы Windows NT 3.1 Microsoft перешла на формат PE. Все более поздние версии Windows, включая Windows 95/98/ME, поддерживают этот формат. Формат сохранил ограниченную поддержку существующего (MZ) для преодоления разрыва между системами, основанными на DOS, и системами NT. Например, заголовки PE/COFF всё ещё включают исполняемую программу MS-DOS, которая по умолчанию является заглушкой, выводящей на экран простое сообщение «This program cannot be run in DOS mode» — «Эта программа не может быть выполнена в режиме DOS» (или подобное). PE продолжает служить изменяющейся платформе Windows. Некоторые расширения включают формат PE.NET (см. ниже), 64-разрядную версию под названием PE32+ (иногда PE+) и спецификацию для Windows CE.

Технические детали [ править | править код ]

что такое exe файл это. 320px. что такое exe файл это фото. что такое exe файл это-320px. картинка что такое exe файл это. картинка 320px. Формат exe – это исполняемый файл, который используется в данном виде еще с далеких времен первой ОС DOS. Бывают ситуации, когда нужно открыть такой файл для редактирования. Какой программой можно воспользоваться в таком случае и как это вообще можно сделать, будет сказано далее.

Сигнатура [ править | править код ]

Первые 2 байта PE-файла содержат сигнатуру 0x4D 0x5A — «MZ» (как наследник MZ-формата). Далее – двойное слово по смещению 0x3C содержит адрес PE-заголовка. Последний начинается с сигнатуры 0x50 0x45 — «PE».

Структура [ править | править код ]

Таблица импорта [ править | править код ]

Одна из известных секций — таблица адресов импорта (IAT — Import Address Table), которая используется в качестве таблицы поиска, когда приложение вызывает функцию из другого модуля. Это может быть сделано и в форме импорта по порядковому номеру функции (ordinal), и импорта по её имени. Поскольку скомпилированной программе неизвестно расположение библиотек, от которых она зависит, то требуется производить косвенный переход всякий раз, когда происходит вызов API-функции. Когда динамический компоновщик загружает модули и объединяет их, он записывает действительные адреса в область IAT так, чтобы они указали на ячейки памяти соответствующих библиотечных функций. Хотя это добавляет дополнительный переход внутри модуля, приводящий к потере производительности, это предоставляет ключевое преимущество: количество страниц памяти, которые должны быть скопированы загрузчиком при записи, минимизировано, что приводит к экономии памяти и дискового времени ввода-вывода. Если компилятору будет известно заранее, что вызов будет межмодульным (через атрибут dllimport), то он сможет произвести более оптимизированный код, который просто приводит к коду операции косвенного вызова.

Таблица экспорта [ править | править код ]

Таблица адресов экспорта (EAT — Export Address Table) нужна для того, чтобы один модуль (обычно это динамически загружаемая библиотека) мог указать другим модулям, какие функции они могут из него импортировать, и по каким адресам последние расположены.

Таблица перемещений [ править | править код ]

Файлы PE не содержат позиционно-независимого кода. Вместо этого они скомпилированы для предпочтительного базового адреса, и все адреса, генерируемые компилятором/компоновщиком, заранее фиксированы. Если PE-файл не может быть загружен по своему предпочтительному адресу (потому что он уже занят чем-то ещё), операционная система будет перебазировать его. Это включает в себя перевычисление каждого абсолютного адреса и изменение кода для того, чтобы использовать новые значения. Загрузчик делает это, сравнивая предпочтительный и фактический адреса загрузки, и вычисляя значение разности. Тогда для получения нового адреса ячейки памяти эта разность складывается с предпочтительным адресом. Базовые адреса перемещений хранятся в списке и при необходимости добавляются к существующей ячейке памяти. Полученный код является теперь отдельным по отношению к процессу и не является больше разделяемым, так что при таком способе теряются многие из преимуществ экономии памяти динамически загружаемых библиотек. Такой способ также значительно замедляет загрузку модуля. По этой причине следует избегать перебазирования везде, где это возможно; например, библиотеки, поставляемые Microsoft, имеют предварительно вычисленные неперекрывающиеся базовые адреса. В случае отсутствия необходимости перебазировании PE-файлы имеют преимущество очень эффективного кода, но при наличии перебазирования издержки в использовании памяти могут быть значительными. Это отличает формат PE от ELF, который использует полностью позиционно-независимый код и глобальную таблицу смещений, которая жертвует временем выполнения в пользу расходования памяти.

.NET, метаданные и PE-формат [ править | править код ]

Секция данных CLR содержит два важных сегмента: сегмент метаданных и сегмент кода промежуточного языка (IL):

Использование в других операционных системах [ править | править код ]

Формат PE также используется ReactOS, поскольку ReactOS предназначена для того, чтобы быть двоично совместимой с Windows на уровне кода. Кроме того, он исторически использовался многими другими операционными системами, включая SkyOS и BeOS R3. Однако и SkyOS, и BeOS в конечном счёте перешли на формат ELF.

На платформе x86 в Unix-подобных операционных системах некоторые двоичные файлы Windows (в формате PE) могут быть исполнены с помощью Wine. HX DOS Extender также использует формат PE для собственных 32-разрядных двоичных файлов DOS, кроме того, может в некоторой степени выполнить существующие двоичные файлы Windows в DOS, действуя, таким образом, как Wine для DOS.

Mac OS X 10.5 имеет возможность загружать и интерпретировать PE-файлы, однако они не являются двоично совместимыми с Windows.

что такое exe файл это. 73770. что такое exe файл это фото. что такое exe файл это-73770. картинка что такое exe файл это. картинка 73770. Формат exe – это исполняемый файл, который используется в данном виде еще с далеких времен первой ОС DOS. Бывают ситуации, когда нужно открыть такой файл для редактирования. Какой программой можно воспользоваться в таком случае и как это вообще можно сделать, будет сказано далее.

PingVinich

Технарь

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

что такое exe файл это. pe101 v1ru png. что такое exe файл это фото. что такое exe файл это-pe101 v1ru png. картинка что такое exe файл это. картинка pe101 v1ru png. Формат exe – это исполняемый файл, который используется в данном виде еще с далеких времен первой ОС DOS. Бывают ситуации, когда нужно открыть такой файл для редактирования. Какой программой можно воспользоваться в таком случае и как это вообще можно сделать, будет сказано далее.

Как мы можем увидить, исполняемый файл состоит из двух основных частей:

Если вернуться к аналогии с квартирой, то заголовок – это информация о квартире. Планировка квартиры, количество комнат, этаж, где кладовка, где гостинная, где дверь, где прихожая, кто и когда сделал квартиру, квартира ли это вообще и т.д.. А секции – это комнаты. В секциях хранится код, различные данные, строки, функции и т.д.. Также как и в комнатах есть свои жильцы.

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

что такое exe файл это. sekcii png. что такое exe файл это фото. что такое exe файл это-sekcii png. картинка что такое exe файл это. картинка sekcii png. Формат exe – это исполняемый файл, который используется в данном виде еще с далеких времен первой ОС DOS. Бывают ситуации, когда нужно открыть такой файл для редактирования. Какой программой можно воспользоваться в таком случае и как это вообще можно сделать, будет сказано далее.

Давайте изучим по-порядку какие есть заголовки и что в них указано. Заголовками PE-файла являются следующие заголовки в указанном порядке:

Начнём наше приключение с изучения DOS заголовка.

Как я и сказал, заголовки хранят необходимую информацию для загрузки PE-файла. Поэтому данный заголовок является обязательным для загрузки PE-файла, хоть и не несёт в себе большой смысловой информации.

Заголовок состоит из полей, как список состоит из пунктов свойств. Каждый пункт хранит в себе какое-либо значение. Естественно, в файле всё это представленно в байтовом представлении. Не все поля нужны для загрузки (запуска) PE-файла. Поэтому комментировать и рассматривать мы будем только поля, необходимые для загрузки файла в память.

Вот его структура на языке C/C++.

Нас интересуют только первое ( e_magic ) и последнее поле ( e_lfanew ) этого заголовка. Они является самыми важными и влияют непосредственно на загрузку PE-файла.

    e_magic
    Двухбайтовое поле e_magic хранит в себе специальную сигнатуру. Эта сигнатура нужна, чтобы указать что это действительно исполняемый файл. Вот она – «MZ». Каждый PE-файл обязан начинаться с неё. Если это не так, файл просто не запустится.

что такое exe файл это. dos header png. что такое exe файл это фото. что такое exe файл это-dos header png. картинка что такое exe файл это. картинка dos header png. Формат exe – это исполняемый файл, который используется в данном виде еще с далеких времен первой ОС DOS. Бывают ситуации, когда нужно открыть такой файл для редактирования. Какой программой можно воспользоваться в таком случае и как это вообще можно сделать, будет сказано далее.

Я выделил самым большим красный прямоугольником область DOS-заголовка. Здесь мы можем увидеть байты в шестнадцатеричном представлении.

что такое exe файл это. dos stub png. что такое exe файл это фото. что такое exe файл это-dos stub png. картинка что такое exe файл это. картинка dos stub png. Формат exe – это исполняемый файл, который используется в данном виде еще с далеких времен первой ОС DOS. Бывают ситуации, когда нужно открыть такой файл для редактирования. Какой программой можно воспользоваться в таком случае и как это вообще можно сделать, будет сказано далее.

Дальше у нас по списку PE-заголовок, который на самом деле, состоит из трёх частей: сигнатуры, файлового подзаголовка и дополнительного подзаголовка.

Вот его структура на языке C/C++:

что такое exe файл это. pe begin png. что такое exe файл это фото. что такое exe файл это-pe begin png. картинка что такое exe файл это. картинка pe begin png. Формат exe – это исполняемый файл, который используется в данном виде еще с далеких времен первой ОС DOS. Бывают ситуации, когда нужно открыть такой файл для редактирования. Какой программой можно воспользоваться в таком случае и как это вообще можно сделать, будет сказано далее.

что такое exe файл это. pe header png. что такое exe файл это фото. что такое exe файл это-pe header png. картинка что такое exe файл это. картинка pe header png. Формат exe – это исполняемый файл, который используется в данном виде еще с далеких времен первой ОС DOS. Бывают ситуации, когда нужно открыть такой файл для редактирования. Какой программой можно воспользоваться в таком случае и как это вообще можно сделать, будет сказано далее.

Теперь давайте разберём каждое поле по-порядку.

    Signature
    Это четырёхбайтовое поле содержит сигнатуру, а именно значение 50 45 00 00 (или «PEx00x00»). Эта сигнатура указывает на то, что перед нами действительно PE-файл (Ага, ещё одна проверка).

FileHeader
Это обязательный подзаголовок PE-заголовка. Он хранит в себе базовые характеристики исполняемого файла.

На C/C++ структура данного заголовка выглядит так:

Разберём и этот подзаголовок по порядку.

NumberOfSections
Двухбайтовоеполе NumberOfSections содержит в себе число секций (комнат) в PE-файле.

SizeOfOptionalHeader
Двухбайтовое поле содержащее размер дополнительного заголовка, который идёт сразу за файловым заголовком.

Characteristics
Даное двухбайтовое поле содержит характеристики PE-файла. Например, является ли это exe-файлом, или dll. Также, тут описано, является ли данная программа x64-битной или x86-битной.

что такое exe файл это. fileheader png. что такое exe файл это фото. что такое exe файл это-fileheader png. картинка что такое exe файл это. картинка fileheader png. Формат exe – это исполняемый файл, который используется в данном виде еще с далеких времен первой ОС DOS. Бывают ситуации, когда нужно открыть такой файл для редактирования. Какой программой можно воспользоваться в таком случае и как это вообще можно сделать, будет сказано далее.

Перейдём к следующему подзаголовку PE-заголовка.

OptionalHeader
Это ещё один обязательный подзаголовок PE-файла. В нём хранится необходимая информация для загрузки PE-файла. Он имеет всего два формата PE32+ (для 64-битных программ) и PE32 (для 32-битных).

Структура дополнительного заголовка представлена следующий C/C++ кодом.

И на этот раз рассмотрим только основные поля, необходимые для загрузки PE-файла в память.

1. IMAGE_NT_OPTIONAL_HDR32_MAGIC ( 0x10b ) – означает, что это x32 (x86) исполняемый образ.
2. IMAGE_NT_OPTIONAL_HDR64_MAGIC ( 0x20b ) – означает, что это x64 исполняемый образ.
3. IMAGE_ROM_OPTIONAL_HDR_MAGIC ( 0x107 ) – означает, что это ROM образ.

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

ImageBase
Это четырёхбайтовое поле содержит предпочтительный адрес загрузки программы в память. В следующей статье мы разберём для чего он нужен.

SectionAlignment
Это четырёхбайтовое поле содержит относительный виртуальный адрес (относительно ImageBase, т. е. сколько байтов нужно отсчитать с адреса загрузки программы, чтобы попасть к началу секций) начала секций в виртуальной памяти.

FileAlignment
Это четырёхбайтовое поле содержит смещение относительной файла (сколько байтов нужно отсчитать с начала файла) начала секций в исполняемом файле.

MajorSubsystemVersion и MinorSubsytemVersion
В этих двухбайтовых полях содержится необходимая версия Windows.

SizeOfImage
Это четырёхбайтовое поле содержит размер (в байтах) загруженного исполняемого файла в памяти.

SizeOfHeaders
Четырёхбайтовое поле SizeOfHeaders содержит размер (в байтах) заголовков файла в памяти.

NumberOfRvaAndSizes
Данное четырёхбайтовое поле содержит число каталогов в массиве каталогов. По умолчанию равна 16.

DataDirectory
Это поле – на самом деле массив, которая содержит информацию о каталогах. Их число определено в поле NumberOfRvaAndSizes (по умолчанию (и почти всегда) 16) дополнительного заголовка. Каждый элемент информации о каталоге хранит относительный виртуальный адрес (относительно ImageBase, т. е. сколько байтов нужно отсчитать с адреса загрузки программы, чтобы попасть к началу секций) и размер какого-либо каталога (которые являются и секциями), которая определяется по её позиции в массиве.

Вот структура каталога на языке C/C++:

А вот идентификаторы (порядковый номер в DataDirectory):

Давайте подробно рассмотрим основные поля.

    Name
    Это поле, размером в 8 байт, содержит имя секции, в ASCII кодировке.

VirtualSize
Это четырёхбайтовое поле содержит размер (в байтах) секции (той самой комнаты) в виртуальной памяти.

VirtualAddress
А это четырёхбайтовое поле уже содержит относительный адрес секции в виртуальной памяти.

SizeOfRawData
Данное четырёхбайтовое поле содержит размер секции в файле.

PointerToRawData
А указатель на эти самые данные, содержаться в этом четырёхбайтовом поле.

Characteristics
Это четырёхбайтовое поле содержит атрибуты секции. Например, права чтения, записи и исполнения (Read Write Execute) (RWE).

что такое exe файл это. section table png. что такое exe файл это фото. что такое exe файл это-section table png. картинка что такое exe файл это. картинка section table png. Формат exe – это исполняемый файл, который используется в данном виде еще с далеких времен первой ОС DOS. Бывают ситуации, когда нужно открыть такой файл для редактирования. Какой программой можно воспользоваться в таком случае и как это вообще можно сделать, будет сказано далее.

По сути, в таблице секций просто зафиксирована информация о секциях.

Вот и всё, мы закончили изучать заголовки. Теперь мы приступаем к изучению секций. По сути, секции являются простыми последовательными блоками данных. Они следуют друг за другом и у них нет определенного формата, так как их характеристики описаны в таблице секций. А вот формат данных, в этих секциях, зависят от типа информации, которая в них хранится. Секции, как я уже сказал, можно представить в виде комнат. Также, их можно представить и как в виде коробок с информацией. Размер каждой секции зафиксирован в таблице секций, поэтому секции должны быть определённого размера, а для этого их дополняют NULL-байтами (00). Вот и всё, что касается секций.

Также, небольшая шпаргалка, для того, чтобы понимать какое назначение носит имя определенного заголовка секции в таблице:

Также, секциями являются и различные каталоги.

На этом всё. Спасибо за внимание. Если у Вас есть какие-либо вопросы или вы обнаружите неточности в статье, прошу отписаться в комментариях. Буду рад ответить на все ваши вопросы.

Источник

Как устроен исполняемый файл(.EXE) Windows. Reverse engineering для самых маленьких(часть 3).

что такое exe файл это. PE101 v1RU. что такое exe файл это фото. что такое exe файл это-PE101 v1RU. картинка что такое exe файл это. картинка PE101 v1RU. Формат exe – это исполняемый файл, который используется в данном виде еще с далеких времен первой ОС DOS. Бывают ситуации, когда нужно открыть такой файл для редактирования. Какой программой можно воспользоваться в таком случае и как это вообще можно сделать, будет сказано далее.

Сегодня, мы изучим под микроскопом структуру исполняемых файлов Windows (Portable EXEcutable, или просто PE).

Что бы заглянуть внутрь файла мы будем использовать популярный редактор двоичных файлов или просто HEX-редактор, ориентированный на работу с кодом — Hiew ( простонародье Хью ). За одно получиться руководство к нему )))

Запускаем редактор, выбираем файл который будем использовать. Например этот crack.exe из прошлой статье.

Заголовок.

Структура исполняемого файла состоит из двух частей:

DOS заголовок.

Это заголовок для DOS программы. В полях заголовка хранятся данные для запуска в MS-DOS, если кто-то попытается запустить PE-файл. Не кто не стал переписывать формат из за того что многие уже не знают что это такое. Структура заголовка выглядит так :

Последнее поле e_lfanew — четырёхбайтовое поле хранит в себе смещение до заголовка PE относительно начала файла. Только этот адрес хранится в обратном порядке : B8 00 00 00 —> 00 00 00 B8

что такое exe файл это. 2021 10 23 12 04 21. что такое exe файл это фото. что такое exe файл это-2021 10 23 12 04 21. картинка что такое exe файл это. картинка 2021 10 23 12 04 21. Формат exe – это исполняемый файл, который используется в данном виде еще с далеких времен первой ОС DOS. Бывают ситуации, когда нужно открыть такой файл для редактирования. Какой программой можно воспользоваться в таком случае и как это вообще можно сделать, будет сказано далее.

Вы можете нажать клавишу F5 и ввести адрес «B8» что бы сразу попасть на заголовок PE

DOS стаб.

Дальше у нас идет область DOS-стаб которая продолжается до PE заголовка. Это код программы который выполниться если мы попытаемся запустить программу в MS-DOS. Она выводит надпись что эта программа не может работать в DOS и закроет ее.

что такое exe файл это. 2021 10 23 16 25 25. что такое exe файл это фото. что такое exe файл это-2021 10 23 16 25 25. картинка что такое exe файл это. картинка 2021 10 23 16 25 25. Формат exe – это исполняемый файл, который используется в данном виде еще с далеких времен первой ОС DOS. Бывают ситуации, когда нужно открыть такой файл для редактирования. Какой программой можно воспользоваться в таком случае и как это вообще можно сделать, будет сказано далее.

PE — заголовок.

Теперь мы переходим к самому важному для нас месту, PE-заголовок, который на самом деле, состоит из трёх частей: сигнатуры, файлового подзаголовка и дополнительного подзаголовка.

Давайте рассмотрим FileHeader более детально:

Третий заголовок OptionalHeader — это ещё один обязательный подзаголовок PE-файла. В нём хранится необходимая информация для загрузки PE-файла. Он имеет всего два формата PE32+ (для 64-битных программ) и PE32 (для 32-битных).

Нажав клавишу F8 мы можем посмотреть основные данные заголовка.

что такое exe файл это. 2021 10 24 12 26 11. что такое exe файл это фото. что такое exe файл это-2021 10 24 12 26 11. картинка что такое exe файл это. картинка 2021 10 24 12 26 11. Формат exe – это исполняемый файл, который используется в данном виде еще с далеких времен первой ОС DOS. Бывают ситуации, когда нужно открыть такой файл для редактирования. Какой программой можно воспользоваться в таком случае и как это вообще можно сделать, будет сказано далее.

Таблица секций.

Перейдём к последнему заголовку. Этот заголовок — таблица, которая содержит различную информацию о секциях. Мы уже знаем, что их количество определено в файловом заголовке в поле NumberOfSections. Проще говоря, это массив с NumberOfSections элементов. Этот массив содержит элементы типа IMAGE_SECTION_HEADER.

Давайте подробно рассмотрим основные поля.

По сути, в таблице секций просто зафиксирована информация о секциях.

Вот и всё, мы закончили изучать заголовки. Теперь мы приступаем к изучению секций. По сути, секции являются простыми последовательными блоками данных. Они следуют друг за другом и у них нет определенного формата, так как их характеристики описаны в таблице секций. А вот формат данных, в этих секциях, зависят от типа информации, которая в них хранится. Секции, как я уже сказал можно представить в виде коробок с информацией. Размер каждой секции зафиксирован в таблице секций, поэтому секции должны быть определённого размера, а для этого их дополняют NULL-байтами (00). Вот и всё, что касается секций.

Также, небольшая шпаргалка, для того, чтобы понимать какое назначение носит имя определенного заголовка секции в таблице:

Также, секциями являются и различные каталоги.

Нажав F8 потом F6 мы сожем посмотреть секции в файле. Выбираем любую нажимаем Enter и попадаем на начало секции.

что такое exe файл это. 2021 10 24 12 49 32. что такое exe файл это фото. что такое exe файл это-2021 10 24 12 49 32. картинка что такое exe файл это. картинка 2021 10 24 12 49 32. Формат exe – это исполняемый файл, который используется в данном виде еще с далеких времен первой ОС DOS. Бывают ситуации, когда нужно открыть такой файл для редактирования. Какой программой можно воспользоваться в таком случае и как это вообще можно сделать, будет сказано далее.

В статье использовались материалы из статьи : codeby.net/threads/0x01-issleduem-portable-executable-exe-fajl-format-pe-fajla.65415/

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *