Більшість користувачів сучасних комп'ютерних систем, так чи інакше, стикаються з запуском програм, які здебільшого зводяться до того, щоб виконати виконуваний файл. Грубо кажучи, у всіх програмах для запуску основного додатка використовується об'єкт формату EXE. Але це не завжди так.
У застарілих ОС начебто DOS або відмінних від Windows такі файли можуть мати зовсім інше розширення, хоча принцип старту лишається абсолютно незмінним.
Виконати виконуваний файл: що це значить?
Для повного розуміння суті того, що відбувається спочатку варто розібратися з тим, що являє собою будь-який процес запуску програми. Той же виконуючий файл «Навітел» або будь-який інший програми являє собою якийсь аплет, в якому прописаний код запуску, що розпізнається операційною системою або додатковими додатками, для цього призначеними. Але тут варто розуміти, що програми, що складаються виключно з одного виконуваного файлу, сьогодні неактуальні. Як правило, в пакет включається ще величезна кількість супутніх компонентів у вигляді тих же самих динамічних бібліотек, що мають розширення DLL. Як раз-таки без них виконати виконуваний файл можливо не завжди.
Суть в тому, що при запуску основного модуля програмного пакету, який полягає в старті EXE-файлу, деякі програми вимагають «підвантаження» додаткових модулів, які як раз і є файлами налаштувань конфігурації (config) або тих же динамічних бібліотек, що містять дані про програму. До речі, іноді самі динамічні бібліотеки здатні виконувати роль програм. Так, наприклад, старт якого VST-інструменту у сучасній студії (DAW) відбувається саме за цим принципом. Програма як така у вигляді версії Standalone може бути відсутнім, але плагін у вигляді її аналога з розширенням DLL розпізнається будь програмою.
Програми-виконувані файли: типи
Але і це ще не все. Розширення файлів сьогодні визначити не так і просто, не кажучи вже про файли формату EXE або COM. Окремо варто відзначити не тільки згадані вище стандарти, але й архівні дані.
По суті, архіви формату SFX (Self-Extracting) являють собою самостійно отримані дані на основі спрацювання алгоритму розпакування. Виконати виконуваний файл такого типу простіше простого. Досить лише зробити подвійний клік, і операція при виборі місця вилучення буде зроблена автоматично. На мобільних пристроях використовуються формати начебто JAR, JAD АПК і т. д., що відносяться до розряду установників.
Можна відкрити виконувані файли?
Багатьох користувачів цікавить питання редагування запускаються файлів. Відразу ж варто всіх засмутити. Справа в тому, що ті ж «экзешники» являють собою компільовані програми, вихідний код яких зазвичай переглянути неможливо. Можна, звичайно, застосувати утиліти начебто Disassembler, але і вони при умові написання програми на мові C++ цього результату можуть і не дати.
Як зробити найпростіше редагування?
Як вже зрозуміло, EXE-файл у його читабельному вигляді відкрити неможливо, оскільки сама ж програма може бути написана на різних мовах програмування. Те ж саме стосується і динамічних бібліотек. Зате файли конфігурації можна відкрити навіть у стандартному «Блокноті». А якщо його запустити від імені адміна, можна встановити навіть заборони доступу до певних сайтів в Інтернеті, а після цього зберегти конфігурацію, що в звичайному режимі не представляється можливим. Ті ж самі «конфіги» редагуються елементарно.
Можна зробити будь-який файл виконуваним?
В принципі, будь-який файл, що знаходиться на жорсткому диску, є виконуваним. Точніше, виконати виконуваний файл – значить, запустити додаток, відповідальний за його відкриття. Навіть в автозавантаженні зробити запуск файлу при старті системи можна зовсім елементарно.
Достатньо внести процес в список і вказати супутній об'єкт, який буде завантажуватися негайно (наприклад, відкриття документа Office). Зробити файл виконуваним – це ще далеко не найголовніше.
Резюме
Таким чином, завершуючи тему, варто відзначити, що файли або об'єкти, що відповідають за старт якого-небудь додатка, в стандартному варіанті відкрити можна тільки подвійним кліком. А ось редагувати їх не представляється можливим. Правда, якщо програми мають статус вільно розповсюджуваних по ліцензії GNU, вносити зміни в програмний код додатків можна дуже навіть запросто. Але це окремий випадок, який, загалом-то, з основною темою і не пов'язаний. Інша справа – запуск виконуваного файлу, про який користувач і уявлення не має. В даному випадку акцент слід зробити на віруси, які можуть надходити у вигляді тих же вкладень електронної пошти. Якщо бачите, що прикріплений файл не має значка, не здумайте його відкривати. Хоча в рівній мірі це стосується і вірусів, які маскуються під такі повідомлення. У цьому випадку шкідлива програма зможе виконати виконуваний файл або вбудований в нього код абсолютно запросто, а потім виникне величезна купа проблем.
І виклик (запуск) виконуваного файлу в даному випадку вже може не залежати від самого користувача, оскільки вірус проник в систему. Залишається тільки сподіватися на універсальні програми у вигляді портативних версій або ж на утиліти модифікацій Rescue Disk із завантаженням і перевіркою системи ще до початку старту Windows. Виконуваний файл як такої, що найцікавіше, у завантажувачі відсутня. Зате є конфігуратор BIN, який і відповідає за старт системи. Крім того, у застарілих версіях Windows можна зустріти ще й папки начебто i386 в яких розташовуються драйвери і деякі інші супутні утиліти. Але в нових версіях системи таких об'єктів немає.