Исполняемый файл программа в операционной системе windows имеет расширение

Сведения о том, что такое расширения имен файлов, какие расширения являются наиболее распространенными в Windows и как просматривать их в проводнике.

Имена файлов в Windows состоять из двух частей, разделенных точкой: первая, имя файла, и вторая, расширение из трех или четырех символов, которое определяет тип файла. Например, в expenses.xlsx первая часть имени файла — expenses, а расширение — xlsx.

Расширения помогают определить компьютеру, в каком приложении был создан файл или в каком приложении его можно открыть, а также какой значок следует использовать для файла. Например, расширение docx сообщает компьютеру, что файл можно открыть в программе Microsoft Word и что при просмотре файла в проводнике для него следует отображать значок Word.

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

Если при просмотре файлов в проводнике не отображаются расширения имен файлов, выполните следующие действия.

  1. В поле поиска на панели задач введите слово проводник и в результатах поиска выберите Проводник.

  2. В проводнике в разделе Вид в группе Показать или скрыть установите флажок Расширения имен файлов.

    Включение отображения расширений имен файлов в Windows

Ниже приведен список распространенных расширений имен и форматов файлов в Windows.

Расширение

Формат

aac, adt, adts

Файл аудио Windows

accdb

Файл базы данных Microsoft Access

accde

Файл Microsoft Access только для выполнения

accdr

База данных Microsoft Access

accdt

Шаблон базы данных Microsoft Access

aif, aifc, aiff

Звуковой файл Audio Interchange File Format

aspx

Файл Active Server Page ASP.NET

avi

Файл аудио или видео Audio Video Interleave

bat

Пакетный файл PC

bin

Двоичный сжатый файл

bmp

Файл точечного рисунка

cab

CAB-файл Windows

cda

Дорожка компакт-диска

csv

Файл данных с разделителями-запятыми

dif

Файл таблицы формата DIF

dll

Файл динамической библиотеки

doc

Документ Microsoft Word до Word 2007

docm

Документ Microsoft Word с включенной поддержкой макросов

docx

Документ Microsoft Word

dot

Шаблон Microsoft Word до Word 2007

dotx

Шаблон Microsoft Word

eml

Файл электронной почты, созданный в приложениях Outlook Express, «Почта Windows Live» и других программах

eps

Файл Encapsulated PostScript

exe

Исполняемый файл программы

flv

Видеофайл совместимый с Flash

gif

Файл Graphical Interchange Format

htm, html

Страница на языке разметки HTML

ini

Файл конфигурации для инициализации Windows

iso

Образ диска ISO-9660

jar

Файл архитектуры Java

jpg, jpeg

Файл фотографии Joint Photographic Experts Group

m4a

Звуковой файл MPEG-4

mdb

База данных Microsoft Access до Access 2007

mid, midi

Файл интерфейса Musical Instrument Digital Interface

mov

Видеофайл Apple QuickTime

.mp3

Аудиофайл MPEG Layer-3

mp4

Видео MPEG 4

mp4

Видео MPEG 4

mpeg

Видеофайл Moving Picture Experts Group

mpg

Поток в формате MPEG 1

msi

Файл установщика Майкрософт

mui

Файл многоязычного пользовательского интерфейса

pdf

Файл Portable Document Format

png

Файл Portable Network Graphics

pot

Шаблон Microsoft PowerPoint до PowerPoint 2007

potm

Шаблон Microsoft PowerPoint с включенной поддержкой макросов

potx

Шаблон Microsoft PowerPoint

ppam

Надстройка Microsoft PowerPoint

pps

Слайд-шоу Microsoft PowerPoint до PowerPoint 2007

ppsm

Слайд-шоу Microsoft PowerPoint с включенной поддержкой макросов

ppsx

Слайд-шоу Microsoft PowerPoint

ppt

Формат Microsoft PowerPoint до PowerPoint 2007

pptm

Презентация Microsoft PowerPoint с включенной поддержкой макросов

pptx

Презентация Microsoft PowerPoint

psd

Файл Adobe Photoshop

pst

Хранилище данных Outlook

pub

Файл Microsoft Publisher

rar

Сжатый файл архива Roshal

rtf

Текстовый файл в формате Rich Text Format

sldm

Слайд Microsoft PowerPoint с включенной поддержкой макросов

sldx

Слайд Microsoft PowerPoint

swf

Файл Shockwave Flash

sys

Файл переменных и системных параметров Microsoft DOS и Windows

tif, tiff

Файл Tagged Image Format

tmp

Файл временных данных

txt

Файл неформатированного текста

vob

Файл видеообъекта

vsd

Рисунок Microsoft Visio до Visio 2013

vsdm

Рисунок Microsoft Visio с включенными макросами

vsdx

Файл рисунка Microsoft Visio

vss

Трафарет Microsoft Visio до Visio 2013

vssm

Трафарет Microsoft Visio с включенными макросами

vst

Шаблон Microsoft Visio до Visio 2013

vstm

Шаблон Microsoft Visio с включенными макросами

vstx

Шаблон Microsoft Visio

wav

Звуковой файл Wave

wbk

Архивный документ Microsoft Word

wks

Файл Microsoft Works

wma

Файл Windows Media Audio

wmd

Файл Windows Media Download

wmv

Файл Windows Media Video

wmz, wms

Файл обложек Windows Media

wpd, wp5

Документ WordPerfect

xla

Файл надстройки или макроса Microsoft Excel

xlam

Надстройка Microsoft Excel после Excel 2007

xll

Надстройка Microsoft Excel на основе DLL

xlm

Макрос Microsoft Excel до Excel 2007

xls

Рабочая книга Microsoft Excel до Excel 2007

xlsm

Рабочая книга Microsoft Excel с включенной поддержкой макросов после Excel 2007

xlsx

Рабочая книга Microsoft Excel после Excel 2007

xlt

Шаблон Microsoft Excel до Excel 2007

xltm

Шаблон Microsoft Excel с включенной поддержкой макросов после Excel 2007

xltx

Шаблон Microsoft Excel после Excel 2007

xps

Документ на основе XML

zip

Сжатый файл

Связанные ссылки

  • Форматы Open XML и расширения имен файлов

  • Форматы файлов, поддерживаемые проигрывателем Windows Media

  • Форматы файлов, поддерживаемые в Excel

  • Форматы файлов, поддерживаемые в PowerPoint

  • Форматы файлов, поддерживаемые в Project

Нужна дополнительная помощь?

Файл с исполняемым расширением (см. Что такое расширение файла?) в отличие от других форматов файлов, которые только содержат данные, например, музыку, видео, текстовый документ и т.п., могут быть запущены на исполнение. Т.е., если вы открываете файл с одним из исполняемых расширений, ваш компьютер может, без вашего дальнейшего участия, выполнить одну или несколько операций, запрограммированных в этом файле. Это могут быть как полезные действия, например, запуск текстового редактора или интернет-браузера, так и действия несущие в себе опасность для ваших данных или других программ на компьютере, т.е. это может быть компьютерный вирус.

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

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

Расширение Формат Windows MacOS Linux Android iOS
ACTION Automator Action        
APK Приложение        
APP Исполняемый файл        
BAT Batch File        
BIN Binary Executable    
CMD Command Script        
COM Command File        
COMMAND Terminal Command        
CPL Control Panel Extension        
CSH C Shell Script      
EXE Исполняемый файл        
GADGET Windows Gadget        
INF1 Setup Information File        
INS Internet Communication Settings        
INX InstallShield Compiled Script        
IPA Приложение        
ISU InstallShield Uninstaller Script        
JOB Windows Task Scheduler Job File        
JSE JScript Encoded File        
KSH Unix Korn Shell Script        
LNK File Shortcut        
MSC Microsoft Common Console Document        
MSI Windows Installer Package        
MSP Windows Installer Patch        
MST Windows Installer Setup Transform File        
OSX Исполняемый файл        
OUT Исполняемый файл        
PAF Portable Application Installer File        
PIF Program Information File        
PS1 Windows PowerShell Cmdlet        
REG Registry Data File        
RGS Registry Script        
RUN Исполняемый файл        
SCT Windows Scriptlet        
SH Shell Script      
SHB Windows Document Shortcut        
SHS Shell Scrap Object        
U3P U3 Smart Application        
VB VBScript File        
VBE VBScript Encoded Script        
VBS VBScript File        
VBSCRIPT Visual Basic Script        
WORKFLOW Automator Workflow        
WS Windows Script        
WSF Windows Script        

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

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

Содержание

  • Что такое исполняемый файл
  • Что такое формат и расширение файла
  • Какие расширения могут иметь программные приложения
  • Как увидеть расширение файла
  • Как изменить расширение
  • Как убрать расширение файла из названия
  • Как открыть исполняемый файл
  • Какие расширения файлов могут быть опасны

Что такое исполняемый файл

Файлы можно разделить на две большие группы: программы и данные. Первые запускаются операционной системой на исполнение. Для вторых обычно установлена стандартная программа, которая с ними работает.

К исполняемым относятся программы и командные файлы. Пользователь их запускает при помощью двойного клика мышью или путём нажатия клавиши Enter.

Что такое формат и расширение файла

Расширение — это часть названия файла, расположенная после точки. Если она отсутствует. То считается, что расширения нет. Разрешается использовать несколько точек в таком названии. В таком случае расширение — это те символы, которые находятся после последней из них.

Чтобы операционная система знала, что делать с конкретным файлом, она сначала читает его расширение. Оно точно говорит о том, исполняемый это файл или файл данных. В последнем случае становится понятным, какая программа должна его обрабатывать. Например, если указано «htm», то при двойном клике мышкой файл будет открыт в стандартном браузере. Если речь идёт о картинке с расширением «jpg», то её обычно открывают в просмотрщике изображений.

О расширениях и форматах файла можно узнать из видео

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

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

Какие расширения могут иметь программные приложения

Расширение Значение
exe Исполняемый файл
com Исполняемый файл в старом формате
bat Командный файл
cmd Командный файл

К исполняемым файлам относятся программы, которые выполняются самостоятельно. Некоторые из них могут работать с файлами данных, а некоторые — нет. Стандартным расширением является «exe». Такие программы включают в себя код, исполнение которого обеспечивается операционной системой. Другим типом исполняемых файлов являются командные файлы. Они содержат в себе список консольных команд, которые выполняются последовательно.

В ролике показано, как открывать файлы с различными расширениями

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

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

Чтобы увидеть расширение файла, нужно изменить соответствующую системную настройку. В Windows 10 это можно сделать следующим образом:

  1. Открыть Проводник.
  2. В меню выбрать «Вид».
  3. Выбирают строку «Скрывать расширения для зарегистрированных типов файлов» и удаляют галочку.

Затем нужно подтвердить сделанные изменения нажатием на «ОК ».

В Windows 7 для этой цели требуется выполнить такие действия:

  1. Открыть Проводник.
  2. Выбрать «Параметры папок и поиска».
  3. Перейти на вкладку «Вид».
  4. После этого будет открыт список доступных для изменения параметров. Нужно перейти к строке «Скрывать расширения для зарегистрированных типов файлов» и снять галочку напротив неё.

После нажатия на «ОК» корректировка вступит в силу.

Как изменить расширение

Операционная система видя расширение, понимает, как работать с файлом. Иногда может случиться так. Что оно не соответствует формату файла. Это может произойти по различным причинам. Вот несколько примеров:

  1. Пользователь работал в текстовом редакторе и сохранил файл с придуманным им расширением.
  2. В результате действия вируса.
  3. При закачке из интернета файлу было присвоено несвойственное ему расширение.

Например, при скачивании из интернета pdf файла у него может оказаться расширение «tmp». С одной стороны, файл закачан полностью. С другой — при двойном клике по нему не запускается программа для чтения pdf файлов. Чтобы решить эту и аналогичные проблемы достаточно установить файлу нужное расширение. В описанном здесь примере достаточно поменять его на «pdf».

Чтобы поменять расширение на нужное, необходимо выполнить такие действия:

  1. Открыть Проводник.
  2. Отменить опцию «Скрывать зарегистрированные расширения файлов». Способ, которым нужно воспользоваться для этого подробно описан выше в этой статье.
  3. Сделанную корректировку подтверждают. Затем выходят из настроек.
  4. В проводнике находят нужный файл и выбирают его.
  5. Нажимают F2. После этого редактирование имени файла становится доступным.
  6. Указывают нужное расширение.
  7. Заканчивают редактирование, нажав клавишу Enter.

При изменении расширения нужно точно знать, какое должно быть. Если есть несколько вариантов, можно попробовать каждый из них. Проверить можно, попытавшись открыть стандартным способом. В некоторых случаях найти правильное решение можно, просмотрев начало файла через 16-ричный редактор.

Как убрать расширение файла из названия

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

В этом случае нужно поступить таким образом:

  1. Открыть Проводник.
  2. Перейти через меню к строке «Скрыть расширения для зарегистрированных файлов».
  3. Поставить отметку в этой строке.

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

Как открыть исполняемый файл

Чтобы открыть исполняемый файл, нужно сделать по нему двойной клик левой клавишей мыши. Это также можно сделать, если выбрать его название и нажать на клавишу Enter.

Какие расширения файлов могут быть опасны

Вячеслав

Вячеслав

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

Задать вопрос

Какие расширения могут представлять опасность?

Вячеслав

Те, в которых содержится исполняемый код различного рода.

Как распознать их?

Вячеслав

Самостоятельно это сделать практически невозможно. Для этого нужно использовать антивирусную программу.

Как антивирусные программы распознают опасность?

Вячеслав

У них имеются сигнатуры (последовательные цепочки байтов), которые соответствуют известным вирусам. Их база данных постоянно пополняется.

Если исполняемый файл заражён вирусом, он при запуске нанесёт вред компьютеру. Однако также могут предоставлять опасность и другие. Например, вирус может существовать в виде макроса для Microsoft Office или как электронное письмо, которое наносит вред при попытке прочитать его.

Вирусы могут содержаться везде, где имеется исполняемый код. Это относится не только к программам и командным файлам, но и к многим другим.

Исполняемые файлы запускаются операционной системой. Затем им передаётся управление. После окончания работы его отдают обратно в операционную систему.

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

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

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

Эрик Исаксон / Getty Images

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

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

Это не полный список расширений исполняемых файлов, а также список опасных, но не исполняемых типов файлов. 

Расширения файлов высокого риска

Другими словами, файлы с расширениями, перечисленными ниже, могут быть выполнены с некоторыми основными частями Windows, macOS, Linux и т. Д. Никаких дополнительных программ не требуется.

Потенциально опасные расширения файлов
расширение Формат Операционные системы)
ДЕЙСТВИЯ Automator Action Macos
APK заявка Android
ПРИЛОЖЕНИЕ исполнимый Macos
ЛЕТУЧАЯ МЫШЬ Пакетный файл Windows
BIN Двоичный исполняемый файл Windows, macOS, Linux
CMD Командный скрипт Windows
COM Командный файл Windows
КОМАНДА Терминальная команда Macos
CPL Удлинитель панели управления Windows
CSH C Shell Script macOS, Linux
EXE исполнимый Windows
GADGET Гаджет Windows Windows
INF 1 Файл информации о настройке Windows
INS Настройки интернет-связи Windows
INX InstallShield Скомпилированный скрипт Windows
IPA заявка IOS
ISU InstallShield Uninstaller Script Windows
РАБОТА Файл задания планировщика задач Windows Windows
JSE Кодированный файл JScript Windows
КШ Unix Korn Shell Script Linux
LNK Ярлык файла Windows
MSC Microsoft Common Console Документ Windows
MSI Пакет установщика Windows Windows
MSP Исправление установщика Windows Windows
MST Файл преобразования установки установщика Windows Windows
OSX исполнимый Macos
ИЗ исполнимый Linux
PAF Файл установщика портативного приложения Windows
PIF Файл информации о программе Windows
PRG исполнимый GEM
PS1 Командлет Windows PowerShell Windows
REG Файл данных реестра Windows
RGS Скрипт реестра Windows
БЕГ исполнимый Linux
SCR Выполняемая заставка Windows
SCT Windows Scriptlet Windows
SHB Windows Document Shortcut Windows
SHS Shell Scrap Object Windows
U3P Умное приложение U3 Windows
VB VBScript файл Windows
VBE VBScript Кодированный скрипт Windows
VBS VBScript файл Windows
VBSCRIPT Visual Basic Script Windows
WORKFLOW Automator Workflow Macos
WS Windows Script Windows
WSF Windows Script Windows
WSH Настройки скрипта Windows Windows

[1] Чтобы выполнить INF-файл, вы должны открыть всплывающее меню (обычно щелкнув правой кнопкой мыши на файле) и выбрать « Установить» .

Другие расширения исполняемых файлов

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

Расширения файлов высокого риска
расширение Формат программа
0xE Переименованный вирусный файл F-Secure Internet Security
73K Применение TI-73 TI Connect
89K Применение TI-89 TI Connect
A6P Программный файл Authorware 6 Adobe Authorware
переменный ток GNU Autoconf Script Autoconf
ACC GEM Вспомогательный Файл Gemulator
ACR Сценарий ACRobot ACRobot
ACTM AutoCAD Action Macro AutoCAD
AHK Скрипт AutoHotkey AutoHotkey
ВОЗДУХА Установочный пакет Adobe AIR Adobe AIR
ПРИЛОЖЕНИЕ Приложение FoxPro Visual FoxPro
ARSCRIPT Скрипт ArtRage АртРаг Студия
В ВИДЕ Adobe Flash ActionScript File Adobe Flash
ASB Alphacam Stone VB Macro Alphacam
AWK Скрипт AWK AWK
AZW2 Файл приложения Kindle Active Content Kindle Collection Manager
ЛУЧ Скомпилированный файл Erlang Erlang
BTM Пакетный файл 4DOS 4DOS
CEL Селестия Сценарий Celestia
CELX Селестия Сценарий Celestia
CHM Скомпилированный файл справки HTML Firefox, IE, Safari
COF Файл MPLAB COFF MPLAB IDE
ЭЛТ Сертификат безопасности Firefox, IE, Chrome, Safari
ДЭК Пакетный файл подслушивающего соглядатай
DLD Скомпилированная программа EdLog Edlog
DMC Медицинский менеджер сценарий Мудрец медицинский менеджер
DOCM Документ Word с поддержкой макросов Microsoft Word
DOTM Шаблон Word с поддержкой макросов Microsoft Word
DXL Сценарий Rational DOORS Рациональные ДВЕРИ
EAR Файл корпоративного архива Java Apache Geronimo
EBM EXTRA! Основной Макрос EXTRA!
EBS E-Run 1.x Script E-Prime (v1)
EBS2 E-Run 2.0 Script E-Prime (версия 2)
ECF Файл компонента SageCRM SageCRM
EHAM Исполняемый файл ExtraHAM HAM Programmer Toolkit
ELF Файл игры Nintendo Wii Эмулятор дельфина
ES SageCRM Script SageCRM
EX4 Файл программы MetaTrader MetaTrader
ExoPC Приложение ExoPC EXOfactory
EZS EZ-R Stats Batch Script EZ-R Stats
ФАС Скомпилированный файл AutoLISP для быстрой загрузки AutoCAD
FKY FoxPro Macro Visual FoxPro
FPI FPS Creator Intelligence Script FPS Creator
FRS Flash Renamer Script Flash Renamer
FXP Скомпилированная программа FoxPro Visual FoxPro
GS Geosoft Script Оазис Монтадж
ВЕТЧИНА Исполняемый файл HAM Хэм Runtime
HMS HostMonitor Script HostMonitor
HPF Программный файл HP9100A HP9100A Emulator
HTA HTML-приложение Internet Explorer
ММВ Макро Макро iMacros (дополнение Firefox)
IPF Сценарий установщика SMS Microsoft SMS
ISP Настройки интернет-связи Microsoft IIS
JAR Архив Java Firefox, IE, Chrome, Safari
JS Исполняемый скрипт JScript Firefox, IE, Chrome, Safari
JSX ExtendScript Script Adobe ExtendScript Toolkit
KIX KiXtart Script KiXtart
LO Interleaf Скомпилированный Lisp-файл QuickSilver
LS LightWave LScript File Световая волна
МАМ Доступ к книге с поддержкой макросов Microsoft Access
MCR 3ds Max Macroscript или Tecplot Macro 3ds Max
MEL Maya Embedded Language File Майя 2013
MPX Программа скомпилированного меню FoxPro Visual FoxPro
MRC сценарий mIRC Mirc
МИЗ Скрипт 3ds Max 3ds Max
МИЗ Максвелл Скрипт Максвелл Рендер
MXE Macro Express воспроизводимый макрос Макро Экспресс
NEXE Исполняемый файл Chrome Native Client Хром
OBS Скрипт ObjectScript ObjectScript
ORE Исполняемый руд Среда выполнения руд
OTM Макрос Outlook Microsoft Outlook
PEX Исполняемый файл ProBoard ProBoard BBS
PLX Perl Исполняемый ActivePerl или Microsoft IIS
POTM Шаблон макроса PowerPoint с поддержкой макросов Microsoft PowerPoint
PPAM PowerPoint с поддержкой макросов Microsoft PowerPoint
ППСМ Слайд-шоу с поддержкой макросов PowerPoint Microsoft PowerPoint
PPTM Презентация с поддержкой макросов PowerPoint Microsoft PowerPoint
КНР Файл кода ресурса Palm Palm Desktop
PVD Установочный скрипт Instalit
PWC Файл PictureTaker PictureTaker
PYC Python скомпилированный файл питон
ЧЛН Оптимизированный код Python питон
QPX Скомпилированная программа запросов FoxPro Visual FoxPro
RBX Скомпилированный скрипт Rembo-C Рембо Инструментарий
ROX Активировать исполняемый объект отчета eReport
RPJ Пакетное задание Real Pac Real Pac
S2A Приложение SEAL2 ТЮЛЕНЬ
SBS SPSS Script SPSS
SCA Scala Script Scala Designer
ШРАМ SCAR Script ШРАМ
SCB Scala Опубликованный сценарий Scala Designer
SCRIPT Общий сценарий Оригинальный движок сценариев 1
SMM Ami Pro Macro Ами Про
SPR Сгенерированный FoxPro экранный файл Visual FoxPro
TCP Программа Tally Compiled Tally Developer
THM Термвуд Макро Mastercam
TLB Библиотека типов OLE Майкрософт Эксель
TMS Сценарий Телемата Telemate
UDF Пользовательская функция Excel Майкрософт Эксель
UPX Ultimate Packer для файла eXecutables Ultimate Packer для электронных программ
URL Интернет-ярлык Firefox, IE, Chrome, Safari
VLX Скомпилированный файл AutoLISP AutoCAD
VPM Vox Proxy Macro Vox Proxy
WCM WordPerfect Macro WordPerfect
WIDGET Yahoo! Виджет Yahoo! Виджеты
WIZ Microsoft Wizard File Microsoft Word
WPK WordPerfect Macro WordPerfect
WPM WordPerfect Macro WordPerfect
XAP Пакет приложений Silverlight Microsoft Silverlight
XBAP Приложение браузера XAML Firefox, IE
XLAM Надстройка Excel с поддержкой макросов Майкрософт Эксель
XLM Книга с поддержкой макросов Excel Майкрософт Эксель
XLSM Книга с поддержкой макросов Excel Майкрософт Эксель
XLTM Шаблон с поддержкой макросов Excel Майкрософт Эксель
XQT SuperCalc Macro CA SuperCalc
XYS Скрипт XYplorer XYplorer
ZL9 Переименованный вирусный файл ZoneAlarm

[1] Под «Original Scripting Engine» я подразумеваю любую программу, создавшую сценарий. Было бы невозможно перечислить и постоянно обновлять количество механизмов сценариев, которые могут использовать эти расширения файлов.

Исполняемые файлы Archives

Расширения файлов категории Исполняемые файлы

Исполняемые файлы содержат код, который запускается при открытии файла. Программы Windows, приложения Mac OS X, скрипты и макросы – все считаются исполняемыми файлами. Так как файлы эти типов выполняют код при запуске, то нельзя открывать неизвестные исполняемые файлов, в том, числе и полученные по электронной почте во вложении.

Самыми распространенными расширениями считаются .EXE, .APP, .VB, .SCR и .MSI.

Расширение Описание Популярность
.apk Пакет приложения Android Очень часто используется
.bat Пакетный файл MS-DOS Очень часто используется
.bin Исполняемый файл Unix Средне используется
.bin Двоичный исполняемый файл Средне используется
.cgi Общий интерфейс шлюза Очень часто используется
.cmd Пакетный файл Windows Часто используется
.cmd Программа dBASE Очень редко используется
.cmd Пакетный файл OS/2 REXX Редко используется
.com Исполняемый файл MS-DOS Очень часто используется
.cpp Файл Apple Xcode Core C Редко используется
.js Исполняемый файл JScript Средне используется
.jse Зашифрованный файл JScript Средне используется
.exe Исполняемый файл Очень часто используется
.exe Приложение PortableApps.com Часто используется
.gadget Гаджет Windows Очень часто используется
.gtp Исполняемый файл Atari ST Очень редко используется
.hta Исполняемый HTML-документ Часто используется
.jar Файл архива Java Очень часто используется
.msi Установочный файл (инсталлятор) Windows Очень часто используется
.msu Пакет обновлений Windows Средне используется
.paf.exe Файл PortableApps.com Часто используется
.pif Информация о приложении Windows Очень часто используется
.ps1 Скрипт Windows PowerShell Часто используется
.pwz Файл мастера создания Microsoft PowerPoint Редко используется
.scr Файл скрипта Часто используется
.thm Макро файл Thermwood Редко используется
.vb Скрипт VBScript Очень часто используется
.vbe Зашифрованный скрипт VBScript Часто используется
.vbs Скрипт VBScript Часто используется
.wsf Файл сценария Windows Очень часто используется

В
операционной системе Windows логической
единицей для хранения информации
является файл.

Файл
— поименованный набор данных. Как правило,
эти данные хранятся на магнитных или
лазерных дисках. Основными атрибутами
файла являются:

  1. собственное
    имя
    — строка
    букв и цифр. Предельная длина имени
    файла составляет 255 символов, включая
    пробелы. Имена не должны содержать
    следующих символов: / : * ? » < > |;

  2. тип
    (расширение)

    указывает тип файла. Расширение
    записывается через точку после имени
    файла и содержит три буквы. Файлы можно
    разбить на два класса информационные
    и исполняемые. Для того чтобы открыть
    информационный файл нужна другая
    программа. Например, файлы с расширением
    doc
    открываются с помощью текстового
    процессора Ms
    Word.
    Исполняемый
    файл, не требует специальной программы,
    а содержит программу в виде исполнимого
    кода. Исполняемые файлы в операционной
    системе Windows, имеют расширение exe , com.

  3. размер
    — размер
    файла в байтах;

  4. дата
    создания или изменения

    содержит
    дату и время создания (последнего
    изменения) файла.

Собственное
имя файла плюс его расширение плюс путь
доступа к файлу называется полным именем
файла. В операционной системе Windows оно
уникально. Например, C:DOCPROBA.TXT
полное имя файла с собственным именем
PROBA,
имеющим расширение TXT
и расположенным на диске С в папке DOC.
Кроме полного имени может использоваться
короткое имя файла, длина его не более
12 символов включающих в себя две части:
урезанное до 8 символов собственное имя
и расширение.

На
диске файл храниться в одном или
нескольких фрагментах, называемых
кластерами. Адреса всех кластеров
содержаться в специальнойFATтаблице диска. В каталоге (перечне) всех
файлов содержится номер первого кластера,
а в соответствующей ячейкеFATтаблицы номер второго кластера или кодFFF(FFFF) если
этот кластер последний. Если в ячейкеFATтаблицы записано
значение 0, то кластер будет свободным.
Размер кластера зависит от типа файловой
системы, определяющей, кроме того,
размещение фрагментов файлов на диске,
возможность их сжатия при записи,
проверки целостности и восстановления
после сбоев, защиты от несанкционированного
доступа и т.д. Известны несколько
разновидностей файловых систем в
различных версиях ОС Windows используются
следующие:FATилиFAT16
– с 16 разрядными полями вFATтаблицах, числом записей 216=65536,
например для диска объёмом от 1 до 2Г
длина кластера составляет 32К(64 сектора);FAT32 – с 32 разрядными полями
вFATтаблицах , числом
записей 232-более 4 млрд., например
для диска объёмом 8Г длина кластера
составляет 4К(8 секторов);NTFSиNTFS5 быстрые, надёжные и
безопасные файловые системы, в которых
размер кластера может устанавливаться
по усмотрению пользователя при
форматировании диска. С помощью
стандартных средств поздних версий ОС
Windows возможна конвертация разделов FAT,
FAT32 в NTFS без потери данных, только в
прямом направлении.

Папка.
Память
любого диска может быть разбита на
поименованные участки, называемые
каталогами или папками. Папка предназначена
для группировки данных и не позволяет
запутаться в большом количестве файлов.
Намного легче сначала выбрать одну из
10 групп, а затем один из 10 файлов, чем
производить выборку одного файла из
100. Для того чтобы раскрыть папку, делают
двойной щелчок по её значку. В
ОС Windows имеется специальная папка,
называемая корзиной, в которую помещаются
файлы после их удаления
.
До тех пор пока корзина не будет очищена,
удалённый файл можно восстановить.

Удобным
средством для работы в OC
Windows

является
«Ярлык» — это ссылка на любой элемент,
доступный на компьютере или в сети. Он
служит для быстрого запуска программы,
открытия файла или папки без поиска их
расположения. Особенно полезно создавать
ярлыки для часто используемых программ,
файлов или папок и располагать их на
рабочем столе. Можно создать несколько
ярлыков для одного и того же файла и
расположить их в разных местах.
Если с рабочего стола удаляют ярлык,
то
будет удалён только ярлык, а сам объект,
на который он ссылается, останется на
своём месте.

Диск(том) — долговременная память компьютера,
выполнена в виде магнитных (МД) или
лазерных дисков. Каждый диск имеет имя
в виде одной латинской буквы. Чаще всего
используются следующие буквы: A, B —
сменные МД или дискеты C, D, E …. — встроенный
в компьютер МД ( винчестер) лазерные
диски илиФлэш-память.
Перед использованием каждый диск
форматируют. Форматированием диска
называется процесс разбиения его
поверхности на сектора и дорожки. Одна
дорожка состоит из нескольких секторов.Таким образом, сектор является
наименьшей физической единицей хранения
данных на жестком диске.
В процессе
эксплуатации необходимо проводить
обслуживание диска, запуская следующие
программы: ПРОВЕРКА ДИСКА, которая
выявляет логические ошибки в файловой
структуре и физические ошибки, связанные
с дефектами жесткого диска и программу,
производящую дефрагментация диска,
которая улучшает его структуру. При
многократных операциях записи и стирания
файлов их фрагментация резко усиливается
(кластеры, в которых записан один файл,
могут быть разбросаны по всему диску)
и время считывания файла сильно
замедляется. При дефрагментации этот
недостаток ликвидируется — кластеры,
где записан один файл, размещаются
подряд.Эти программы могут выполняться
в любое время независимо от необходимости
выполнения данной операции
.

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

Например, встроенная в ОС Windows,
Программа
«Проводник» предназначена выполнения
действий с папками и файлами. Кроме
того,
широко
известны
менеджеры
файлов:
Total Commander;
Norton
Commander; DOS Navigator; Far
Manager; Windows
3.11.

Диск физический

Диск логический

С

D

E

.

Папка

Файл

Кластер

первый

второй

..

Последний

сектор

1

2

.

Последний

Рисунок
5 -Состав диска

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

On Windows, what filename extensions denote an executable?

Denote to what?

I know that question probably sounds a bit confusing at the moment, but the question matters. As I explain why it matters, the question will become more clear.

Although Ken White’s answer of the PATHEXT variable (in the command prompt’s «environment») is a nice and short answer, and that answer may work well for you, the answer is incomplete. The reason that is incomplete is that the correct answer is different based on what you are trying to do.

For example, you might try to:

  • Run a program from a «traditional command prompt» («CMD»), by typing its full filename
  • Run a program from a «traditional command prompt» («CMD»), by typing the base filename, but leaving off its extension
  • Use the «start» command that is built into the «traditional command prompt» («CMD»)
  • Run a program from PowerShell
  • Run a program from the «Run» menu item, found on the start menu
  • Run a program from Explorer, by trying to double-click an icon related to a file ending with the extension
  • Tell Microsoft Internet Explorer to open a downloaded file
  • Run a program using a function from the Microsoft Windows API. (This is something that end users don’t typically do, but computer programmers may do this, and so the information is relevant to them.)

Some of these methods of running programs may use different methods of determining what filename extensions may be supported. In particular, using CMD may be different than the Run menu.

For instance, Wes’s puzzling blog: Customizing Windows Run Command… notes different locations being checked, including the registry key.

The answer may also depend on what version of Microsoft Windows is being used. In Windows 10, I just typed the name of a zip file at a command prompt, and it opened up Windows Explorer. I seem to remember that not working in Windows XP (although in Windows XP, I could type «start filename.zip» and get the same sort of effect). So either my memory is faulty, or Microsoft has been trying to make improvements in newer versions of Windows. (Hopefully, for me, the latter.)

In Windows 10’s traditional command prompt (running «CMD»), when I go to the location (using the «CD» command) of a zip file, and type «filename.zip», then the file will open. When I go to that location, and type «filename» (leaving off the «.zip» file extension), then Windows does not find the file. However if I run «ECHO %PATHEXT%» and then «SET PATHEXT=%PATHEXT%;.ZIP» (and then «ECHO %PATHEXT%» again, to make sure I had the desired effect), then I can type «filename» and the command prompt will find the .ZIP file. So, that is the effect of the %PATHEXT% variable.

You may be able to see another list of extensions by running the ASSOC command. For example, running that command shows multiple lines of output including the following (on my system) — «.zip=CompressedFolder«. Then, I can see what that runs by typing «FTYPE | FIND /I "CompressedFolder"«. (That is meant for the traditional command line. PowerShell won’t like those unescaped quotation marks.) (If you just type «FTYPE» without the rest of that command line, you’ll see quite a bit more output about other extensions.)

If I type «ASSOC | FIND /C "."«, on my Windows 10 computer, then I find that I have 339 lines of output when I check for file associations that way.

MS KB 162059 is all about adjusting how Internet Explorer opens Office documents.

So, asking for the list of default executables is too vague. Different components of Microsoft Windows may use different resources, so the question needs to be more specific for a precise answer.

The question did mention using Explorer to double-click on an icon. To see the list of executables used by that, I believe you’ll be wanting to check out the registry. You can run this from a command prompt:

reg query HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts

(I’m not going to list them here. There are 286 of them on my Windows 10 computer.)

That lists the extensions. To see more information, including details about the extensions:

reg query HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts /s

So, as you can see by now, this seemingly innocent question can actually be a quite complex topic. I believe I’ve made my case on why a question should be quite specific in order to be able to get a complete answer that totally addresses how a single component of Windows may determine the filename extensions. In a nut shell, there isn’t just one single answer for Windows, since Windows has multiple components that behave in different ways. Hopefully I’ve begun to show that, and pointed to some additional resources that show relevant information.

On Windows, what filename extensions denote an executable?

Denote to what?

I know that question probably sounds a bit confusing at the moment, but the question matters. As I explain why it matters, the question will become more clear.

Although Ken White’s answer of the PATHEXT variable (in the command prompt’s «environment») is a nice and short answer, and that answer may work well for you, the answer is incomplete. The reason that is incomplete is that the correct answer is different based on what you are trying to do.

For example, you might try to:

  • Run a program from a «traditional command prompt» («CMD»), by typing its full filename
  • Run a program from a «traditional command prompt» («CMD»), by typing the base filename, but leaving off its extension
  • Use the «start» command that is built into the «traditional command prompt» («CMD»)
  • Run a program from PowerShell
  • Run a program from the «Run» menu item, found on the start menu
  • Run a program from Explorer, by trying to double-click an icon related to a file ending with the extension
  • Tell Microsoft Internet Explorer to open a downloaded file
  • Run a program using a function from the Microsoft Windows API. (This is something that end users don’t typically do, but computer programmers may do this, and so the information is relevant to them.)

Some of these methods of running programs may use different methods of determining what filename extensions may be supported. In particular, using CMD may be different than the Run menu.

For instance, Wes’s puzzling blog: Customizing Windows Run Command… notes different locations being checked, including the registry key.

The answer may also depend on what version of Microsoft Windows is being used. In Windows 10, I just typed the name of a zip file at a command prompt, and it opened up Windows Explorer. I seem to remember that not working in Windows XP (although in Windows XP, I could type «start filename.zip» and get the same sort of effect). So either my memory is faulty, or Microsoft has been trying to make improvements in newer versions of Windows. (Hopefully, for me, the latter.)

In Windows 10’s traditional command prompt (running «CMD»), when I go to the location (using the «CD» command) of a zip file, and type «filename.zip», then the file will open. When I go to that location, and type «filename» (leaving off the «.zip» file extension), then Windows does not find the file. However if I run «ECHO %PATHEXT%» and then «SET PATHEXT=%PATHEXT%;.ZIP» (and then «ECHO %PATHEXT%» again, to make sure I had the desired effect), then I can type «filename» and the command prompt will find the .ZIP file. So, that is the effect of the %PATHEXT% variable.

You may be able to see another list of extensions by running the ASSOC command. For example, running that command shows multiple lines of output including the following (on my system) — «.zip=CompressedFolder«. Then, I can see what that runs by typing «FTYPE | FIND /I "CompressedFolder"«. (That is meant for the traditional command line. PowerShell won’t like those unescaped quotation marks.) (If you just type «FTYPE» without the rest of that command line, you’ll see quite a bit more output about other extensions.)

If I type «ASSOC | FIND /C "."«, on my Windows 10 computer, then I find that I have 339 lines of output when I check for file associations that way.

MS KB 162059 is all about adjusting how Internet Explorer opens Office documents.

So, asking for the list of default executables is too vague. Different components of Microsoft Windows may use different resources, so the question needs to be more specific for a precise answer.

The question did mention using Explorer to double-click on an icon. To see the list of executables used by that, I believe you’ll be wanting to check out the registry. You can run this from a command prompt:

reg query HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts

(I’m not going to list them here. There are 286 of them on my Windows 10 computer.)

That lists the extensions. To see more information, including details about the extensions:

reg query HKCUSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts /s

So, as you can see by now, this seemingly innocent question can actually be a quite complex topic. I believe I’ve made my case on why a question should be quite specific in order to be able to get a complete answer that totally addresses how a single component of Windows may determine the filename extensions. In a nut shell, there isn’t just one single answer for Windows, since Windows has multiple components that behave in different ways. Hopefully I’ve begun to show that, and pointed to some additional resources that show relevant information.

Содержание

  • 1 Содержание
  • 2 Форматы .EXE [ править | править код ]
  • 3 Структура файлов [ править | править код ]
  • 4 Структура программного сегмента [ править | править код ]
  • 5 Содержание
  • 6 Краткая история [ править | править код ]
  • 7 Технические детали [ править | править код ]
    • 7.1 Сигнатура [ править | править код ]
    • 7.2 Структура [ править | править код ]
    • 7.3 Таблица импорта [ править | править код ]
    • 7.4 Таблица экспорта [ править | править код ]
    • 7.5 Таблица перемещений [ править | править код ]
  • 8 .NET, метаданные и PE-формат [ править | править код ]
  • 9 Использование в других операционных системах [ править | править код ]
      • 9.0.1 PingVinich
        • 9.0.1.1 Технарь

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

Содержание

Форматы .EXE [ править | править код ]

  • MZ — 16-битный формат, основной формат файлов .EXE в DOS.
  • EXE-файлы для Windows и OS/2 используют другие форматы для основной части программы, но всё равно начинаются с заглушки в формате MZ, которая, как правило, при попытке запустить файл в DOS выводит сообщение This program cannot be run in DOS mode. («Эту программу невозможно запустить в режиме DOS») и завершает выполнение, хотя теоретически может запускать некий произвольный код, работоспособный в DOS.
  • NE — 16-битный формат, использовался в Windows 3.x[2] , OS/2 и MS-DOS.
  • LE — смешанный 16- и 32-битный формат, ранее использовался в OS/2 и Windows (VxD).
  • LX — 32-битный формат, используется в OS/2.
  • PE — 32- и 64-битный формат, используется в современных версиях Windows, начиная с Windows NT и Windows 95.
  • Структура файлов [ править | править код ]

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

    • управляющая информация для загрузчика;
    • загрузочный модуль.

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

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

    00-01 4D5A — сигнатура файла .EXE; 02-03 Длина образа задачи по модулю 512 (то есть число полезных байт в последнем блоке). Компоновщики версий до 1.10 помещали в это поле 04; если оно имеет такое значение, его рекомендуется игнорировать); 04-05 Длина файла в блоках; 06-07 Число элементов таблицы настройки адресов; 08-09 Длина заголовка в 16-байтных параграфах. Используется для выяснения начала тела загрузочного модуля; 0A-0B Минимальный объём памяти, которую нужно выделить после конца образа задачи (в 16-байтных параграфах); 0C-0D Максимальный объём памяти, которую нужно выделить после конца образа задачи (в 16-байтных параграфах); 0E-0F Сегментный адрес начала стекового сегмента относительно начала образа задачи; 10-11 Значение SP при входе в задачу; 12-13 Контрольная сумма — ноль минус результат сложения без переноса всех слов файла; 14-15 Значение IP (счетчика команд) при входе в задачу; 16-17 Сегментный адрес начала кодового сегмента относительно начала образа задачи; 18-19 Адрес первого элемента таблицы настройки адресов относительно начала файла; 1A-1B Номер сегмента перекрытий (0 для корневого сегмента программы).

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

    1. В области памяти после резидентной части выполняющей загрузку программы строится префикс программного сегмента (PSP);
    2. Стандартная часть заголовка считывается в память;
    3. Определяется длина тела загрузочного модуля (разность длины файла 04-07 и длины заголовка 08-09 плюс число байт в последнем блоке 02-03). В зависимости от признака, указывающего загружать задачу в конец памяти или в начало, определяется сегментный адрес для загрузки. Этот сегмент называется начальным сегментом;
    4. Загрузочный модуль считывается в начальный сегмент;
    5. Таблица настройки порциями считывается в рабочую память;
    6. Для каждого элемента таблицы настройки к полю сегмента прибавляется сегментный адрес начального сегмента. В результате элемент таблицы указывает на слово в памяти, к которому прибавляется сегментный адрес начального сегмента;
    7. Когда таблица настройки адресов обработана, в регистры SS и SP записываются значения, указанные в заголовке, а к SS прибавляется сегментный адрес начального сегмента. В ES и DS записывается сегментный адрес начала PSP. Управление передается по адресу, указанному в заголовке (байты 14-17).

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

    При обращении к нерезидентной команде или вызове программы операцией 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 выдает на терминал приглашение и ждет ввода следующей команды.

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

    Переносимый исполняемый файл
    Расширение .exe , .dll , .ocx , .sys , .scr , .drv , .cpl или .efi
    MIME-тип application/vnd.microsoft.portable-executable [1] и application/efi [2]
    Тип формата двоичный, исполняемый, объектный, динамическая библиотека

    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.

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

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

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

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

    Файл PE состоит из нескольких заголовков и секций, которые указывают динамическому компоновщику, как отображать файл в память. Исполняемый образ состоит из нескольких различных областей (секций), каждая из которых требует различных прав доступа к памяти; таким образом, начало каждой секции должно быть выровнено по границе страницы. Например, обычно секция .text, которая содержит код программы, отображена как исполняемая/доступная только для чтения, а секция .data, содержащая глобальные переменные, отображена как неисполняемая/доступная для чтения и записи. Однако, чтобы не тратить впустую пространство на жёстком диске, различные секции на нём на границу страницы не выровнены. Часть работы динамического компоновщика состоит в том, чтобы отобразить каждую секцию в память отдельно и присвоить корректные права доступа получившимся областям согласно указаниям, содержащимся в заголовках.

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

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

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

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

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

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

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

    Платформа .NET корпорации Microsoft расширила формат PE с помощью функций, которые поддерживают общеязыковую среду исполнения (Common Language Runtime — CLR). Среди дополнений — заголовок CLR и секция данных CLR. После загрузки двоичного файла загрузчик ОС приводит к выполнению CLR через ссылку в таблице импорта PE/COFF. Затем CLR загружает заголовок CLR и секции данных.

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

    • Метаданные содержат информацию, относящуюся к сборке, включая манифест сборки. Манифест подробно описывает сборку, включая уникальный идентификатор (с помощью хеша, номера версии и т. д.), данные об экспортируемых компонентах, расширенную информацию о типе (поддерживаемую общей системой типов (Common Type System — CTS)), внешние ссылки и список файлов в сборке. Среда CLR широко использует метаданные.
    • Код промежуточного языка (Intermediate Language — IL) — абстрактный, независимый от языка код, который удовлетворяет требованиям общего промежуточного языка (Common Intermediate Language — CIL) .NET CLR. Термин «промежуточный» относится к природе кода IL, обладающего межъязыковой и кроссплатформенной совместимостью. Этот промежуточный язык, подобный байт-кодуJava, позволяет платформам и языкам поддерживать общую среду .NET CLR. IL поддерживает объектно-ориентированное программирование (полиморфизм, наследование, абстрактные типы и т. д.), исключения, события и различные структуры данных.

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

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

    Поскольку платформа разработки Mono намеревается быть двоично совместимой с Microsoft .NET, она использует тот же формат PE, что и в реализации Microsoft.

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

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

    PingVinich

    Технарь

    Доброго времени суток, форумчане. Сегодня, мы немного поговорим, рассмотрим и изучим под микроскопом структуру исполняемых файлов Windows ( Portable EXEcutable , или просто PE ), а в следующих статьях изучим технику модифицирования (инфицирования) PE-файлов, для того, чтобы исполнять свой собственный код после запуска чужого исполняемого файла (кстати, эта техника используется многими вирусами, для собственного «паразитического» распространения) и другие «хаки» с использованием знаний о структуре PE.

    Portable Executabe файл (PE-файл) — это отдельный исполняемый модуль с расширением .exe (или .dll), получаемый в процессе сборки (компиляции и линковкии). В него включены код, ресурсы (иконки и другие данные), библиотеки, данные программы и т.д..

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

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

    1. Заголовки
    2. Секции

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

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

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

    1. DOS заголовок
    2. Заглушка DOS
    3. PE заголовок
    4. Таблица секций

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

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

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

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

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

      e_magic
      Двухбайтовое поле e_magic хранит в себе специальную сигнатуру. Эта сигнатура нужна, чтобы указать что это действительно исполняемый файл. Вот она — «MZ». Каждый PE-файл обязан начинаться с неё. Если это не так, файл просто не запустится.
  • e_lfanew
    Четырёхбайтовое поле e_magic хранит в себе смещение до заголовка PE. То есть хранит, количество байтов, которое нужно отсчитать с начала файла, для того, чтобы попасть прямо к PE-заголовку, т.е. проще говоря, адрес PE-заголовка относительно начала файла. Только этот адрес хранится в обратном порядке. Например, на изображении ниже 08 01 00 00 — это 00 00 01 08 (0x108) наоборот. Почему наоборот? Не будем углубляться, но скажу, что компьютеру так легче работать с данными.
  • Я выделил самым большим красный прямоугольником область DOS-заголовка. Здесь мы можем увидеть байты в шестнадцатеричном представлении.

    Вы можете поинтересоваться, для чего же другие поля? Дело в том, что система Windows построена на базе старой системы MS DOS (была до Windows). И на самом деле, это заголовок для DOS программы. Так вот, эти поля хранятся на случай, если кто-то попытается запустить PE-файл в DOS . В наше время никто практически ей не пользуется, но они остаются, так как если поменяют формат PE-файла, то перестанут работать программы с нынешним стандартом.

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

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

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

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

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

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

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

    • Machine
      Данное двухбайтовое поле содержит информацию о характеристике процессора, на котором может быть выполнена данная программа. Вот 3 основных значения, которые может принять этот заголовок:
      1. IMAGE_FILE_MACHINE_I386 ( 0x014c ) — означает, что программа может выполняться на x32
      2. IMAGE_FILE_MACHINE_IA64 ( 0x0200 ) — означает, что программа может выполняться на процессорах Intel Itanium (Intel x64).
      3. IMAGE_FILE_MACHINE_AMD64 ( 0x8664 ) — означает, что программа может выполняться на процессорах AMD64 (x64).

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

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

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

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

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

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

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

    • Magic
      Это двухбайтовое поле отвечает за битность программы (x32/x64). Оно может принимать следующие значения:

    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 содержит размер (в байтах) заголовков файла в памяти.

    Subsystem
    Двухбайтовое поле содержащее тип подсистемы (GUI, CLI, Driver, . ).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • .text : Код
    • .data : Инициализированные данные
    • .bss : Неинициализированные данные
    • .rdata : Константные (рид-онли) данные
    • .edata : Дескрипторы экспорта
    • .idata : Дескрипторы импорта
    • .reloc : Таблица релокации
    • .rsrc : Ресурсы
    • .tls : __declspec(thread) данные

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

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

    Перейти к основному содержанию

    Вы здесь

    »

    »

    »

    »

    Что такое исполняемые файлы и какими они бывают?

    Что такое исполняемые файлы и какими они бывают?

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

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

    Итак, что же скрывается за этим
    словосочетанием? Исполняемыми
    файлами называются файлы,
    содержащие в себе готовые к запуску
    компьютерные программы. В
    зависимости от того, в каком виде
    записана программа в исполняемом
    файле, выделяют две большие
    подгруппы файлов данного класса.
    Первая подгруппа — это бинарные
    файлы; они содержат в себе запись
    программы в виде специальных
    машинных кодов, которые, чаще всего,
    передаются непосредственно
    процессору. Такие файлы ещё
    сокращённо называют бинарниками. В
    противоположность им существуют
    исполняемые файлы, в которых
    программа записана в виде текста —
    то есть, в том самом виде, в каком с
    ней работал создавший её
    программист. Такие исполняемые
    файлы называют скриптами. Также
    этот термин нередко употребляют и
    по отношению к самим программам,
    которые хранятся в подобных файлах.

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

    В Windows наиболее распространены
    бинарные исполняемые файлы. Самый
    часто встречающийся их вид — это
    приложение. Приложения имеют
    расширения EXE и могут запускаться
    самостоятельно. Помимо них,
    существуют динамические
    библиотеки (их расширение — DLL),
    которые содержат в себе общие для
    разных приложений функции. Ещё есть
    драйверы (DRV или VXD) — специальные
    программы, нужные для того, чтобы
    система могла взаимодействовать с
    конкретными моделями тех или иных
    устройств. Исполняемые файлы (в Windows
    особенно) могут зависеть друг от
    друга: например, для запуска любого
    приложения нужны определённые
    системные динамические библиотеки,
    а им, в свою очередь, нужны драйверы.

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

    Вадим СТАНКЕВИЧ

    Версия для печатиВерсия для печати

    Номер: 

    Рубрика: 

    Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!

    Понравилась статья? Поделить с друзьями:
  • Информация в оснастке диспетчера дисков устарела windows 7 как обновить
  • Искомый раздел недоступен в данной версии windows
  • Интерфейс управления для acpi microsoft windows что это
  • Исключение unknown software exception 0xc000001d в приложении по адресу windows 10
  • Интерфейс рабочего стола windows 10 скачать