Истории о вирусах

Внедрение способом сдвига


Инфицируемая программа размещается в файле после кода вируса,

сдвигаясь на его длину, отсюда и название метода. Алгоритм работы

вируса следующий:

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

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

3. Закрыть файл.

4. Найти файл-жертву (для данного типа вирусов лучше СОМ-файл,

но можно и не слишком большой ЕХЕ - это связано с тем, что все

тело инфицируемой программы считывается в память и ее может не

хватить, если эта программа слишком большая).

5. Открыть файл-жертву.

6. Проверить файл на повторное заражение (здесь могут быть вариан-



ты, но чаще всего используется сигнатура).

7. Если файл уже инфицирован, перейти к пункту 3.

8. Считать в буфер все тело программы.

9. Записать в начало файла тело вируса из буфера.

10. Дописать в файл после тела вируса тело программы из буфера.

Длина программы увеличивается на длину вируса.

11. Закрыть файл-жертву.

12. Открыть файл, из которого стартовали.

13. Считать в буфер тело инфицированной программы, расположенное

в файле после тела вируса.

14. Создать на диске временный файл с расширением СОМ или ЕХЕ

(в зависимости от того, какой тип программ заражается).

15. Записать в этот файл тело программы из буфера.

16. Закрыть созданный файл.

17. Процедурой Ехес запустить созданный файл на исполнение -

выполнится инфицированная программа.

18. После завершения работы программы созданный файл удалить.

19. Вернуть управление в DOS.

Вирусы - это хорошая гимнастика для ума, хотя многие думают, что

написать вирус на языке высокого уровня весьма трудно. Это не совсем

так. Писать на языке Pascal довольно легко, правда величина получен-

ного кода вызывает благоговейный трепет.



Содержание раздела