Как сделать com файл


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

    как сделать com файл

    Структура 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 секторах диска и в файлах на этом диске.

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

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

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



    Рекомендуем посмотреть ещё:


    Закрыть ... [X]

    Как сделать com файл - Прически на средние волосы. Более 1000 фото Как сделать чтобы фото были одного размера

    Как сделать com файл Как сделать com файл Как сделать com файл Как сделать com файл Как сделать com файл Как сделать com файл Как сделать com файл Как сделать com файл

    ШОКИРУЮЩИЕ НОВОСТИ