Структура COM та EXE файлів
Структура COM файлу
Напевно, всім відомі файли з розширеннямCOM. ГоловнимCOM файлом наПК є всюдисущийcommand.com (командний файлDOS ). Що ж такеCOM файл, як він працює та запускається? СтруктураCOM - файлу проста. У файлах даного типу, які зазвичай не мають навіть заголовка файлу, містяться тільки машинний код і дані програми. РозмірCOM - файл обмежений 64 кб, тобто. розміром одного сегмента пам'яті
В основномуCOM файли пишуть мовою Асемблера, але це не обов'язково. Нописати файл можна будь-якою мовою, яку можна потім компілювати.
Приклад невеликогоCOM файлу, що виводить на екран повідомлення:
.286 ; Встановлюємо тип процесораmov ah,09h ; Функцію DOS (переривання 21h) 09hmov dx,offset message ; Заносимо в dx значення змінної messageint 21h ;Встановлюємо переривання яке має обробити функцію 09h
mov ah,4Ch ;Функцію DOS (переривання 21h) 4Chint 21h ;Встановлюємо переривання яке має обробити функцію 00h
message db "My first COM programms",13,10,"$" ;Надаємо значення змінної message
Використовую визначення переривання можна сказати, як діє ця програма.
mov ah,09h int 21h
У першому рядку в регістрah заноситься значення09, деh означає, що це число в шістнадцятковій системі обчислення, у другому рядку вказується переривання, в даному випадку це21, (h те саме, що у першому рядку) тобто. перериванняDOS. Отримавши таку команду, процесор на якийсь час перестає виконувати поточні операції і передає управління програмі, що знаходиться в оперативній пам'яті, обробнику функції09h.Після виконання всіх цих операцій процесор повертається до виконання раніше виконуваної операції.
Нижче наведено два варіанти кодуCOM - файлу до "інфікування" вірусом і після:
jmp coob ; Тіло програми починається з міткиcoob
mov ah,4Ch int 21h
message db "Файл не інфікований", 13,10, "$" ; Рядок з текстом для виведення на екран
mov ah,4Ch ; Виходимо з програмиint 21h ; Переривання 21h
ends code ; Кінець сегмента коду програми
jmp virus ; JMP змінено таким чином, щоб вірус отримав управління
mov ah,4Ch int 21h coob:mov ah,09hmov dx,offset messageint 21hmessage db "Файл не інфікований", 13,10, "$" ; Рядок з текстом для виведення на екранmov ah,4Chint 21h
virus:
mov. .> Вірус розмножується і виконує свої руйнівні дії. int 21h
jmp coob
ends code ; Кінець сегмента коду програми
Нижче наведено структуру інфікованого файлу
Хвіст COM програми
Тіло вірусу
Оригінальний початок COM програми
Структура файлу EXE
Орієнтовна структураEXE файлу:
| Заголовок EXE файлу |
| ?Як компілювати програму написану на асемблері в COM файл Для компілювання необхідно мати відповідне програмне забезпечення на ПК. Для цього достатньо набору програмTurbo Assembler. У цьому наборі знаходяться файлиtasm.exe іtlink.exe, необхідні для компіляції вCOM файл . Написана Вами програма на Асемблері повинна зберігатися у звичайному текстовому файлі, далі: - копіюємо ваш файл у каталог з файламиtasm іtlink - пишемо командуtasm.exe leo.asm ( leo.asm - назва файлу з вашою програмою) якщо все пройшло добре, то з'являться ще файли з таким же ім'ям але з розширеннямobj, якщо ні, то на екрані з'являться повідомлення із зазначенням типу помилки та номером рядка з помилкою. -tlink leo.obj/t - І ось вашCOM файл готовий, можете його запустити. Але будьте обережнішими, не потрапіть у капкан встановлений вами. |
Стандартний вірус
Цікаво, а хто створив перший вірус?
З моментупояви обчислювальної техніки програмістів і електронників цікавила одна тема: механізми, що самовідтворюються і самопоширюються. Першим хто спробував здійснити цю ідею в 1951 був Дж. фон Нейман. Але Нейман і не думав використовувати ці матеріали в якихось руйнівних цілях, але інші люди, скориставшись його матеріалами та знаннями в цій галузі, почали створювати різні шкідливі програми - комп'ютерні віруси. Але що спонукало цих людей піти на це. Вчені вважають, що людей спонукають створювати комп'ютерні віруси деякі фактори:
- бешкетність і одночасне нерозуміння всіх наслідків поширення вірусу - прагнення нашкодити кому-небудь - неприродна потреба в скоєнні злочинів - бажання самоствердитися - неможливо використовувати свої знання в правильному руслі
Як і в біологічних, комп'ютерні віруси мають певні стадії "розвитку":
-латентний період - протягом якого вірус себе ніяк не проявляє (для того, щоб "замістити сліди" джерела його попадання на "інфікований" ПК) -інкубаційний період - в В рамках якого вірус тільки розмножується -період прояву - протягом якого вірус виконує несанкціоновані користувачем дії. Комп'ютерні віруси класифікують за такими ознаками.- спосіб проживання - спосіб зараження та довкілля - спосіб активізації - спосіб прояву - спосіб маскування
Безглуздо думати, що комп'ютерні віруси можуть утримуватися скрізь. Особливо це проявляється на користувачах "чайниках", які можуть годинами просиджувати перед екраном і завзято перевіряти файли, які ніяк не можуть містити віруси. Адже вірус - це програма, отже має сенсвпроваджуватись лише в інші програми. У зв'язку з цим комп'ютерні віруси поділяють ще на:- файлові - завантажувальні - файлово-завантажувальні віруси
ФАЙЛОВІ
Віруси можуть впроваджуватися у такі компоненти системи:
- файли з компонентамиDOS- виконувані файли COM - виконувані файли EXE - зовнішні драйвера пристроїв (SYS- і BIN-файли) - об'єктні модулі (OBJ-файли) - файли програми до їхкомпіляції,в надії на те, що їх колись компілюють і запустять - командні файли (BAT-файли) - файли-бібліотеки (LIB, DLL та ін.файли) - оверлейні файли (PIF, OV? та ін. файли) - файли текстових процесорів, що підтримують макроси (DOC, XLS та ін.файли)
З кожним днем цей перелік зростає.
Найчастіше віруси впроваджуються у файлиCOM, EXE таDOC
ЗАВАНТАЖУВАЛЬНІ
завантажені віруси поширюються в BOOT секторах дисків та дискет
- BR - на дискетах - MBR - на жорсткому диску
При завантаженні цих дискет виконується програма в секторі BOOT цього диска, а отже і сам вірус. Плюс цього типу вірусів у тому, що якщо прочитати цей інфікований диск, то на ньому не виявиться жодного файлу.
ФАЙЛОВО-ЗАВАНТАЖУВАЛЬНІ ВІРУСИ
Віруси даного типу мають більшу інфікуючу здатність, тому що вони поширюються в BOOT секторах диска і в файлах на цьому диску.
СПОСОБИ ЗАРАЖЕННЯ СЕРЕДОВИЩА ПРОЖИВАННЯ
Віруси можуть "імплантуватися" в такі місця:
- кінець файлу - початок файлу - середина файлів - хвостової частини файлів (вільної)