Структура COM и EXE файлов Структура COM файла Наверное всем известны файлы с расширением COM. Главным COM файлом на ПК является вездесущий command.com (командный файл DOS) . Что же такое COM файл, как он работает и запускается ? В основном COM файлы пишут на языке Ассемблера, но это не обязательно. Нописать файл можно на любом языке, который можно потом компилировать. Пример небольшого COM файла выводящего на экран сообщение: .286 ; Устанавливаем тип процессора mov ah,4Ch ;Функцию DOS (прерывание 21h) 4Ch message db "My first COM programms",13,10,"$" ;Придаем значение переменной message Использую определение прерывания можно сказать как действует эта программа. mov ah,09h В первой строке в регистр ah заносится значение 09, где h означает, что это число в шестнадцатеричной системе исчисления, во второй строке указывается прерывание, в данном случае это 21, (h тоже самое, что и в первой строке) т.е. прерывание DOS. Получив такую команду, процессор на время перестает выполнять текущие операции и передает управление находящейся в оперативной памяти программе, обработчику функции 09h. После выполнения всех этих операций процессор возвращается к выполнению ранее выполняемой операции. Ниже приведены два варианта кода COM - файла до "инфицирования" вирусом и после: До инфицирования: .286 ;Задаем тип процессора jmp coob ; Тело программы начинается с метки coob mov ah,4Ch coob: ;Начало тела программы message db "Файл не инфицирован",13,10,"$" ; Строка с текстом для вывода на экран mov ah,4Ch ;Выходим из программы ends code ; Конец сегмента кода программы После инфицирования .286 ;Задаем тип процессора jmp virus ; JMP изменены таками образом, чтобы вирус получил управление mov ah,4Ch virus: mov ....... jmp coob ends code ; Конец сегмента кода программы
Ниже приведена структура инфицированного файла
Структура EXE файла COM файлы пишут в основном на языке Ассемблера, но они постепенно устаревают и на смену им приходят огромные по своим размерам и сложные по своей структуре EXE файлы. Примерная структура EXE файла:
Заголовок EXE файла - содержет данные необходимые для загрузки программы Первая и последняя часть программы являются обязательными для всех EXE файлов, а вторая часть вовсе не обязательна. Вы можете просто взять её и пропустить. Приводить виды "инфицированного" и "не инфицированного" EXE файла я не буду, т.к. в отличие от COM вирусов, у EXE вирусов есть множество способов заражения. Подробно о каждом из них я расскажу Вам в следующих выпусках рассылки, а сейчас только перечислю названия основных из них:
Стандартный вирус Не только файлы имеют определенную структуру, но и вирусы для осуществления своей вредоносной деятельности должны соблюдать определенную структуру своего тела и действовать в определенном порядке. Интересно, а кто создал первый вирус ? С момента появления вычислительной техники программистов и электронщиков интересовала одна тема: самовопроизводяющиеся и самораспространяющиеся механизмы. Первым кто попробовал осуществить эту идею в 1951 году был Дж. фон Нейман. Но Нейман и не думал использовать эти материалы в каких либо разрушительных целях, но другие люди, воспользовавшись его материалами и знаниями в этой области начали создавать различных вредоносные программы - компьютерные вирусы. Но что же побудило этих людей пойти на это. Ученые считают, что людей побуждают создавать компьютерные вирусы некоторые факторы: - озорство и одновременное непонимание всех последствий распространения вируса Как и у биологических, у компьютерных вирусов есть определенные стадии "развития": - латентный период - в течение которого вирус себя никак не проявляет (для того, чтобы "замести следы" источника его попадания на "инфицированный" ПК) Нелепо думать, что компьютерные вирусы могут содержаться везде. Особенно это проявляется на пользователях "чайниках" которые могут часами просиживать перед экраном и с упортством проверять файлы, которые никак не могут содержать вирусы. Ведь вирус - это программа, следовательно имеет смысл внедряться только в другие программы. В связи с этим компьютерные вирусы подразделяют еще на:
ФАЙЛОВЫЕ Вирусы могут внедряться в следующие компоненты системы: - файлы с компонентами DOS С каждым днем этот список растет. Чаще всего вирусы внедряются в файлы COM, EXE и DOC ЗАГРУЗОЧНЫЕ загрузояные вирусы распространяются в BOOT секторах дисков и дискет - BR - на дискетах При загрузке этих дискет выполняется программа в BOOT секторе этого диска, а следовательно и сам вирус. Плюс этого типа вирусов в том, что если прочитать этот инфицированный диск, то на нем не окажется ни одного файла. ФАЙЛОВО-ЗАГРУЗОЧНЫЕ ВИРУСЫ Вирусы данного типа обладают большей инфицирующей способностью, так как они распространяются в BOOT секторах диска и в файлах на этом диске. СПОСОБЫ ЗАРАЖЕНИЯ СРЕДЫ ОБИТАНИЯ Вирусы могут "имплантироваться" в следующие места файлов: - конец файла |