[ главная ]   [ рейтинг статей ]   [ справочник радиолюбителя ]   [ новости мира ИТ ]



Ответов: 0
25-02-12 07:01







   Web - программирование
PHP


ASP






XML



CSS

SSI





   Программирование под ОС











   Web - технологии








   Базы Данных









   Графика






Данные




IT - Обзор / Разное /

Структура COM и EXE файлов

Структура COM файла

Наверное всем известны файлы с расширением COM. Главным COM файлом на ПК является вездесущий command.com (командный файл DOS) . Что же такое COM файл, как он работает и запускается ?
Структура COM - файла проста . В файлах данного типа,обычно не имеющими даже заголовка файла,содержатся только машинный код и данные программы.
Размер COM - файла ограничен 64 кб, т.е. размером одного сегмента памяти

В основном COM файлы пишут на языке Ассемблера, но это не обязательно. Нописать файл можно на любом языке, который можно потом компилировать.

Пример небольшого COM файла выводящего на экран сообщение:

.286 ; Устанавливаем тип процессора
mov ah,09h
;Функцию DOS (прерывание 21h) 09h
mov dx,offset message
; Заносим в dx значение переменной message
int 21h
;Устанавливаем прерывание которое должно обработать функцию 09h

mov ah,4Ch ;Функцию DOS (прерывание 21h) 4Ch
int 21h
;Устанавливаем прерывание которое должно обработать функцию 00h

message db "My first COM programms",13,10,"$" ;Придаем значение переменной message

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

mov ah,09h
int 21h

В первой строке в регистр ah заносится значение 09, где h означает, что это число в шестнадцатеричной системе исчисления, во второй строке указывается прерывание, в данном случае это 21, (h тоже самое, что и в первой строке) т.е. прерывание DOS. Получив такую команду, процессор на время перестает выполнять текущие операции и передает управление находящейся в оперативной памяти программе, обработчику функции 09h. После выполнения всех этих операций процессор возвращается к выполнению ранее выполняемой операции.

Ниже приведены два варианта кода COM - файла до "инфицирования" вирусом и после:

До инфицирования:

.286 ;Задаем тип процессора
code segmen
; Начало сегмента кода программы
org 100h
;Все COM программы начинаются с адреса 100h

jmp coob ; Тело программы начинается с метки coob

mov ah,4Ch
int 21h

coob: ;Начало тела программы
mov ah,09h
; Заносим значение 09h в регистр ah
mov dx,offset message
; В регистре dx указываем адрес строки с текстом
int 21h
; Указываем, что это прерывание DOS 21h

message db "Файл не инфицирован",13,10,"$" ; Строка с текстом для вывода на экран

mov ah,4Ch ;Выходим из программы
int 21h
; Прерывание 21h

ends code ; Конец сегмента кода программы

После инфицирования

.286 ;Задаем тип процессора
code segmen
; Начало сегмента кода программы
org 100h
;Все COM программы начинаются с адреса 100h

jmp virus ; JMP изменены таками образом, чтобы вирус получил управление

mov ah,4Ch
int 21h
coob:

mov ah,09h

mov dx,offset message

int 21h

message db "Файл не инфицирован",13,10,"$" ; Строка с текстом для вывода на экран
mov ah,4Ch
int 21h

virus:

mov .......
...............
} Вирус размножается и выполняет свои разрушительные действия
... int 21h

jmp coob

ends code ; Конец сегмента кода программы

 

Ниже приведена структура инфицированного файла

Команда перехода

Хвост COM программы

Тело вируса

Оригинальное начало
COM программы

Структура EXE файла

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

Примерная структура EXE файла:

Заголовок EXE файла

Тело программы

Конец программы

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

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

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

  • OVERWRITE - вирусы, замещающие программный код

  • COMPANION - вирусы-спутники

  • PARASITIC - вирусы, внедряющиеся в программу

  • метод переименования 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? и др. файлы)
- файлы текстовых процессоров поддерживающих макроcы (DOC, XLS и др.файлы)

С каждым днем этот список растет.

Чаще всего вирусы внедряются в файлы COM, EXE и DOC

ЗАГРУЗОЧНЫЕ

загрузояные вирусы распространяются в BOOT секторах дисков и дискет

- BR - на дискетах
- MBR - на жестком диске

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

ФАЙЛОВО-ЗАГРУЗОЧНЫЕ ВИРУСЫ

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

СПОСОБЫ ЗАРАЖЕНИЯ СРЕДЫ ОБИТАНИЯ

Вирусы могут "имплантироваться" в следующие места файлов:

- конец файла
- начало файла
- середина файлов
- хвостовой части файлов (свободной)




Комментарии

rbtnlr
28-07-2011   
jIgJYN , [url=http://rjfwplosvrxy.com/]rjfwplosvrxy[/url], [link=http://dnvvpwotolpm.com/]dnvvpwotolpm[/link], http://abwczulkerhs.com/

rumxef
27-07-2011   
meln9g <a href="http://izreankcqkxi.com/">izreankcqkxi</a>

jhgcwblizc
25-07-2011   
OhWgJf <a href="http://umcheyeoclvg.com/">umcheyeoclvg</a>

Leaidan
25-07-2011   
Gosh, I wish I would have had that inforamtoin earlier!

 Ваш комментарий к данному материалу будет интересен нам и нашим читателям!



Последние статьи: IT - Обзор / Разное /

Microsoft открывает язык программирования F#
29-12-2010   

Корпорация Microsoft накануне опубликовала полные исходные коды функционального языка программирования F#. Компания сделала вторую версию языка F# полностью открытой, включая исходники компиляторов и ключевых библиотек по условиям лицензии Apache 2.0.... подробнее

Кол. просмотров: общее - 6354 сегодня - 0

Автомобильный портативный компьютер NaviSurfer II
21-12-2010   

VIC Ltd представила портативны компьютер для автомобиля NaviSurfer II. Отличительная особенность новинки заключается в том, что она устанавливается на место однодиновой автомагнитолы.... подробнее

Кол. просмотров: общее - 4702 сегодня - 0

Структура COM и EXE файлов
12-05-2010   

Наверное всем известны файлы с расширением COM. Главным COM файлом на ПК является вездесущий command.com (командный файл DOS) . Что же такое COM файл, как он работает и запускается... подробнее

Кол. просмотров: общее - 5605 сегодня - 0

шифрование вируса
12-05-2010   

Здравствуйте, дорогие мои VX-еры и AV-еры (если прочитаете...) В этой маленькой, но очень познавательной статье хочу рассказать вам как можно скрыть свое вирусное детище от супер-мощных-современных антивирусных программ... подробнее

Кол. просмотров: общее - 5444 сегодня - 0

Защита от трассировки и антивирусов
12-05-2010   

На практике обман антивируса не такое уж и сложное дело. Я написал простой вирус-пробник и на нем испытывал различные уловки для разных антивирусов. И вот что у меня получилось... подробнее

Кол. просмотров: общее - 4698 сегодня - 1



  WWW.COMPROG.RU - 2009-2012 | Designed and Powered by Zaipov Renat | Projects