17.05 13:25Келли Брук купается в море обнаженной (Фото)[УКРАИНСКИЙ МУЗЫКАЛЬНЫЙ ПОРТАЛ]
17.05 11:10Мэри-Кейт и Эшли Олсен обнажаться для Playboy?[УКРАИНСКИЙ МУЗЫКАЛЬНЫЙ ПОРТАЛ]
17.05 10:58Влад Топалов признался, что был наркоманом[УКРАИНСКИЙ МУЗЫКАЛЬНЫЙ ПОРТАЛ]
17.05 10:55Папарацци застукали Мэрайю Кэри топлесс (ФОТО)[УКРАИНСКИЙ МУЗЫКАЛЬНЫЙ ПОРТАЛ]
16.05 20:01Пенсионеры разделись, требуя повышения пенсий[УКРАИНСКИЙ МУЗЫКАЛЬНЫЙ ПОРТАЛ]
16.05 18:29ЭтноГламур уходит с молотка[УКРАИНСКИЙ МУЗЫКАЛЬНЫЙ ПОРТАЛ]
16.05 18:21Мадонне разрешили усыновить мальчика из Малави[УКРАИНСКИЙ МУЗЫКАЛЬНЫЙ ПОРТАЛ]
16.05 18:19Элтон Джон споет в гостинице на Рублевке за $5.000.000[УКРАИНСКИЙ МУЗЫКАЛЬНЫЙ ПОРТАЛ]
16.05 18:00Хоакин Феникс записывает дебютный альбом с лидером The Charlatans[УКРАИНСКИЙ МУЗЫКАЛЬНЫЙ ПОРТАЛ]
16.05 17:59Кейт Бланшетт не нравится ее прическа в новой серии "Индиана Джонс"[УКРАИНСКИЙ МУЗЫКАЛЬНЫЙ ПОРТАЛ]
Время - это:
Результат
Архив

Главная / Учебники / Учебники на русском языке / Компьютерные науки / Большой справочник по компьютерным вирусам


Компьютерные науки - Учебники на русском языке - Скачать бесплатно


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

9.4 Вызов программы-вируса


- 148 -
Рассмотренные выше типы программ-вирусов имеют один серьез-
ный недостаток - длину. И даже если можно написать на ассемблере
достаточно компактную программу-вирус, занимающую менее 400 бай-
тов, то и эти 400 байтов должны будут где-то отведены под прог-
рамму. Итак, перезаписывающие вирусы разрушают весьма значитель-
ную часть программы-носителя, а неперезаписывающие вирусы значи-
тельно удлиняют такую программу. Естественно, при последующем
контроле эти изменения обнаруживаются. Тем более, когда для прог-
раммирования осуществляемых вирусом операций используются языки
высокого уровня, в результате чего объектная программа занимает
достаточно много места.
Но и здесь есть средства, позволяющие обойти и эти
трудности. Программу-вирус можно значительно сократить, если не
связывать с каждым вирусом заново задание на выполнение опреде-
ленных операций, а поместить такое задание в массовую память один
раз, а вирус запишет в программу-носитель вируса лишь вызов прог-
раммы выполнения таких манипуляций ("Manipuliere.EXE").
Вирус можно еще более сократить, поместив готовый вирус
однажды в оперативную память (например, в виде "невидимого файла"
(HIDDEN FILE)), и тогда внедрение вируса состоит лишь из вызова
программы-вируса.
Правда, это имеет тот недостаток, что при ошибке в
программе-вирусе инфицированная программа будет опасно пытаться
вызвать вирус.
Самые короткие вирусы могут получиться, если удастся
программу-вирус постоянно иметь в оперативной памяти в качестве
резидентной. Но и в этом случае код "внедренной инфекции" не
может занимать меньше одного байта.
Процессор 8088 благодаря своей структуре имеет некоторые
особенности в написании программ-вирусов. Например, если в
программу встроено прерывание 3 ( полушаговое прерывание (СС16)),
а вектор такого прерывания указывает на резидентную программу-
вирус, то удается создать вирус, длина которого уже не имеет
особого значения.
-------------------------------------¬ Старший адрес системы
¦ Занято системой ¦
¦ Стандартная программа обращения к ¦
¦ дискете, завершающаяся командой ¦
¦ RETURN ¦

- 149 -
¦------------------------------------¦
¦ Свободная память ¦
¦------------------------------------¦
¦ Запущенная пользователем прикладная¦
¦ программа ¦
¦ В любой точке встраивается ¦
¦ прерывание 3 ¦
¦------------------------------------¦
¦ Резидентная программа-вирус ¦
¦ (сохраняет регистры ЦП, копирует ¦
¦ вирус передает управление ¦
¦ стандартной программе обращения к ¦
¦ дискете) ¦
¦------------------------------------¦
¦ Операционная система ¦
¦ Измененная адресная ссылка (вектор)¦
¦ прерывание 3 указывает теперь на ¦
¦ резидентную программу-вирус ¦ Младший адрес системы
L-------------------------------------

9.5 Прочие вирусы

Теперь, после того как обсуждены наиболее часто встречающие-
ся при работе с MS-DOS типы вирусов, рассмотрим еще не сколько
более редких их видов.
Однако следует сразу же отметить, что приведенные ниже
распечатки "нестандартных" вирусов ни в коей мере не претендуют
на полноту. Вполне возможно, что в специальных операционных систе-
мах, ориентированных на специальное аппаратное обеспечение,
открываются совершенно новые врзможности для программирования
вирусов, что полностью учесть совершенно невозможно.

Аппаратные вирусы

Эти вирусы внедряются в систему лишь при изменении аппарат-
ного обеспечения. Например, при замене ПЗУ начальной загрузки. И
хотя такие вирусы очень сложно внедряются в систему, избавиться
от них еще сложнее, поскольку при перезапуске ЭВМ с новой опера-
ционной системой они появляются снова.

- 150 -

"Буферизованные" вирусы

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

Вирусы "жизни и смерти" (Live and Die)

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

Вирусы "игра в прятки" (Hide and Seek)

Вирусы, которые сохраняются внутри системы лишь в течение
некоторого времени. В качестве "укрытия" могут использоваться,
например, буферные области интеллектуальных терминалов. Здесь
важно лишь, чтобы существовала возможность выхода из системы и
нового входа в нее.

9.6 Демонстрационные программы

Приведенная ниже написанная на Бейсике программа демонстри-
рует принцип действия перезаписывающих и неперезаписывающих виру-
сов с выводом графических изображений. Программа ориентирована на
цветной графический адаптер фирмы ИБМ, но за счет управления
через меню может быть приспособлена и для работы с другим монито-
ром.
В предлагаемом меню можно выбрать следующие режимы:
(1) - демонстрация по отдельным этапам
(2) - непрерывная демонстрация
(9) - выбор цвета
(0) - завершение программы.

10 REM ********************************************************
20 REM *** Демонстрационная программа компьютерных вирусов ****

- 151 -
30 REM *** автор Р. Бургер 1987 ****
40 REM ********************************************************
50 SWARS=0: BLAU=1: GRAUEN=2
60 CYAN=3: ROT=4: MAGNETA=5: BRAUN=6
70 WEISS=7: GRAU=8: HELLBLAU=9: HELLGRAUEN=10
80 HELLCYAN=11: HELLROT=12
90 HELLMAGNETA=13: GELB=14: HELLWEISS=15
100 A1=BLAU: A2=BRAUN: A3=GELB: A4=ROT
110 B=0
120 CLS
130 REM *** Вначале демонстрация перезаписывающих вирусов ***
140 COLOR A2, B
150 PRINT " эта программа демонстрирует принцип действия "
160 COLOR A2, B
170 PRINT " компьютерных вирусов"
180 COLOR A2,B:LOCATE 5, 1
190 PRINT "Сначала простейшая форма вирусов"
200 GOSUB 4520
210 REM *** начало присвоений ***
211 S11$=CHR$(223)
212 S10$=CHR$(220)
213 S6$=CHR(196)
220 S1011$=S11$+S11$+S11$+S11$+S11$+S11$+S11$+S11$+S11$+S11$
230 S1010$=S10$+S10$+S10$+S10$+S10$+S10$+S10$+S10$+S10$+S10$
240 S106$=S6$+S6$+S6$+S6$+S6$+S6$+S6$+S6$+S6$+S6$
250 S2011$=S1011$+S1011$
260 S2010$=S1010$+S1010$
270 S206$=S106$+S106$
280 S9$=CHR$(219)
320 S26$=S6$+S6$
330 S210$=S10$+S10$
340 S211$=S11$+S11$
350 S1$=CHR$(179)
360 S2$=CHR$(191)
370 S3$=CHR$(192)
380 S4$=CHR$(193)
390 S5$=CHR$(194)
400 S6$=CHR$(196)
410 S8$=CHR$(218)

- 152 -
420 S7$=CHR$(217)
430 COLOR A1, B
440 A224$=S9$+" "+S8$+S206$+S206$+S2$+" "+S9$+CHR$(13)
450 A225$=S9$+" "+S3$+S206$+S206$+S7$+" "+S9$+CHR$(13)
460 A226$=S9$+S2010$+S2010$+S210$+S210$+S9$
470 A223$=S9$+S2011$+S2011$+S211$+S211$++S9$+CHR$(13)
480 A1$=A223$
490 A2$=A224$
500 A3$=S9$+" "+S1$+"1-я прикладная программа "+S1$+"
"+S9$+CHR$(13)
510 A4$=A225$
520 A5$=A226$
530 AW1$=A1$+A2$+A3$+A4$+A5$
540 B2$=A224$
550 B3$=S9$+" "+S1$+"2-я прикладная программа "+S1$+"
"+S9$+CHR$(13)
560 B4$=A225$
570 AW2$=A1$+B2$+B3$+B4$+A5$
580 C2$=A224$
590 C3$=S9$+" "+S1$+"3-я прикладная программа "+S1$+"
"+S9$+CHR$(13)
600 C4$=A225$
610 AW3$=A1$+C2$+C3$+C4$+A5$
620 D2$=S9$+" "+S8$+S6$+S5$+S26$++S26$+S6$+S5$+S26$+S26$+S26$+S2$+
S8$+S206$+S26$+S26$+S2$+" "+S9$+CHR$(13)
630 D3$=S9$+" "+S1$+"K"+S1$+" VIR "+S1$+" MAN "+S1$+S1$+"
программа пользователя "+S1$+S9$+CHR$(13)
640 D4$=S9$+" "+S3$+S6$+S4$+S26$+S26$+S6$+S4$+S26$+S26$+S26$+
S7$+S3$+S206$+S26$+S26$+S7$+" "+S9$+CHR$(13)
650 IRI$=A1$+D2$+D3$+D4$+A5$
660 E2$=S9$+" "+S8$+S6$+S5$+S26$+S26$+S6$+S5$+S26$+S26$+S26$+S2$+
S8$+CHR$(13)
670 E3$=S9$+" "+S1$+KS1$+" VIR "+S1$+" MAN "+S1$+S1$+CHR$(13)
680 E4$=S9$+" "+S3$+S6$+S4$+S26$+S26$+S6$+S4$+S26$+S26$+S26$+S7$+
S3$+CHR$(13)
690 SE1$=A1$+E2$+E3$+E4$+A5$
700 F2$=S8$+S6$+S5$+S26$+S26$+S6$+S56$+S26$+S26$+S26$+S6$+S5$+
CHR$(13)
710 F3$=S1$+"K"+S1$+" VIR "+S1$+" MAN "+S1$+CHR$(13)

- 153 -
720 F4$=S3$+S6$+S4$+S26$+S26$+S6$+S4$+S26$+S26$+S26$+S6$+S4$+
CHR$(13)
730 AW$=" прикладная программа "
740 WAW1$=" 1-я прикладная программа "
750 WAW2$=" 2-я прикладная программа "
760 WAW3$=" 3-я прикладная программа "
770 H2$=S9$+" "+S8$+S6$+S5$+S26$+S6$+S6$+S6$+S5$+S6$+S6$+S26$+
S26$+S6$+S5$+S206$+S26$+S26$+S2$+" "+S9$+CHR$(13)
780 H3$=S9$+" "+S1$+"K"+S1$+" VIR"+S1$+" MAN "+S1$+" 1-я
прикладная программа "+S1$+" "+S9$+CHR$(13)
790 H4$=S9$+" "+S3$+S6$+S4$+S26$+S26$+S6$+S4$+S26$+S26$+S26$+S6$+
S4$+S206$+S26$+S26$+S7$+" "+S9$+CHR$(13)
800 TR2$=A1$+H2$+H3$+H4$+A5$
810 TR3$=S9$+" "+S1$+"K"+S1$+" VIR "+S1$+" MAN "+S1$+" 2-я
прикладная программа "+S1$+" "+S9$+CHR$(13)
820 TR3$=A1$+H2$+I3$+H4$+A5$
830 J3$=S9$+" "+S1$+"K"+S1$+" VIR "+S1$+" MAN "+S1$+" 3-я
прикладная программа "+S1$+" "+S9$+CHR$(13)
840 TR4$=A1$+H2$+J3$+H4$+A5$
850 CLS
860 REM *** запуск демонстративной программы ***
870 LOCATE 1, 1:PRINT TRI$;
880 LOCATE 1, 48:COLOR A3, B
890 PRINT " <<== программа-носитель вируса "
900 GOSUB 4910
910 LOCATE 7, 1:COLOR A1, B:PRINT AW1$;
920 LOCATE 13, 1:PRINT AW2$;
930 LOCATE 19, 1:PRINT AW3$;
940 GOSUB 4480
950 COLOR A2, B:LOCATE 3,49
960 PRINT " запуск программы-носителя вируса "
970 COLOR A3,B:LOCATE 1, 1:PRINT TRI$
980 GOSUB 4480
990 COLOR A2, B:LOCATE 3,49
1000 PRINT " поиск прикладной программы "
1010 GOSUB 4480
1020 COLOR A2, B:LOCATE 3,49
1030 PRINT " прикладная программа найдена "
1040 COLOR A3+16 ,0:LOCATE 9, 23:PRINT NAWI$

- 154 -
1050 GOSUB 4480
1060 COLOR A1, B:LOCATE 9, 23:PRINT NAWI$
1070 COLOR A2, B:LOCATE 3,49
1080 PRINT " байт идентификатора существует? "
1090 COLOR A2, B:LOCATE 4,49
1100 PRINT " смерть===>> идентифицировать"
1110 COLOR A4+16 , 0:LOCATE 9, 4:PRINT "K"
1120 GOSUB 4480
1130 COLOR A4, 0:LOCATE 8, 3:PRINT F2$
1140 LOCATE 9, 3:PRINT F3$
1150 LOCATE 10, 3:PRINT F4$
1160 COLOR A2, B:LOCATE 3,49
1170 PRINT " продолжать вместе с программой-носителем"
1180 COLOR A2, B:LOCATE 4,49
1190 PRINT " "
1200 GOSUB 4480
1210 COLOR A2, B:LOCATE 3,49
1220 PRINT " "
1230 COLOR A1, B:LOCATE 1, 1:PRINT TRI$
1240 GOSUB 4480
1250 COLOR A2, B:LOCATE 3,49
1260 PRINT " запуск инфицированной программы "
1270 COLOR A3, B:LOCATE 7, 1:PRINT TR2$;
1280 GOSUB 4480
1290 COLOR A2, B:LOCATE 3,49
1300 PRINT " поиск прикладной программы "
1310 GOSUB 4480
1320 COLOR A2, B:LOCATE 3,49
1330 PRINT " прикладная программа найдена "
1340 COLOR A3+16 ,B:LOCATE 9, 23:PRINT NAWI$;
1350 GOSUB 4480
1360 COLOR A3,B:LOCATE 9, 23:PRINT NAWI$
1370 COLOR A2, B:LOCATE 3,49
1380 PRINT " байт идентификатора существует? "
1390 COLOR A2, B:LOCATE 4,49
1400 PRINT " Ja(Да)===>> продолжить поиск"
1410 COLOR A4+16 , B:LOCATE 9, 4:PRINT "K"
1420 GOSUB 4480
1430 COLOR A3,B:LOCATE 7, 1:PRINT TR2$

- 155 -
1440 COLOR A2, B:LOCATE 3,49
1450 PRINT " прикладная программа найдена "
1460 COLOR A2, B:LOCATE 4,49
1470 PRINT " "
1480 COLOR A3+16 ,B:LOCATE 15, 23:PRINT NAW2$
1490 GOSUB 4480
1500 COLOR A3, B:LOCATE 15, 23:PRINT NAW2$
1510 COLOR A2, B:LOCATE 3,49
1520 PRINT " байт идентификатора существует? "
1530 COLOR A2, B:LOCATE 4,49
1540 PRINT " нет===>> идентифицировать"
1550 COLOR A4+16 , B:LOCATE 15, 4:PRINT "K"
1560 GOSUB 4480
1570 COLOR A4, B:LOCATE 14, 3:PRINT F2$
1580 LOCATE 15, 3:PRINT F3$
1590 LOCATE 16, 3:PRINT F4$
1600 COLOR A2, B:LOCATE 3,49
1610 PRINT " продолжить вместе с прикладной программой "
1620 COLOR A2, B:LOCATE 4,49
1630 PRINT " "
1640 GOSUB 4480
1650 COLOR A2, B:LOCATE 3,49
1660 PRINT " "
1670 COLOR A1, B:LOCATE 7, 1:PRINT TR2$;
1680 GOSUB 4480
1690 COLOR A2, B:LOCATE 3,49
1700 PRINT " запуск инфицированной программы "
1710 COLOR A3, B:LOCATE 13, 1:PRINT TR3$
1720 GOSUB 4480
1730 COLOR A2, B:LOCATE 3,49
1740 PRINT " поиск прикладной программы "
1750 GOSUB 4480
1760 COLOR A2, B:LOCATE 3,49
1770 PRINT " прикладная программа найдена "
1780 COLOR A3+16 ,B:LOCATE 9, 23:PRINT NAWI$;
1790 GOSUB 4480
1800 COLOR A1, B:LOCATE 9, 23:PRINT NAWI$
1810 COLOR A2, B:LOCATE 3,49
1820 PRINT " "

- 156 -
1830 COLOR A2, B:LOCATE 4,49
1840 PRINT " Ja(Да)===>> продолжить поиск"
1850 COLOR A4+16 , B:LOCATE 9, 4:PRINT "K"
1860 GOSUB 4480
1870 COLOR A1, B:LOCATE 7, 1:PRINT TR2$
1880 COLOR A2, B:LOCATE 3,49
1890 PRINT " прикладная программа найдена "
1900 COLOR A2, B:LOCATE 4,49
1910 PRINT " "
1920 COLOR A3+16 ,B:LOCATE 15, 23:PRINT NAW2$
1930 GOSUB 4480
1940 COLOR A1, B:LOCATE 15, 23:PRINT NAW2$
1950 COLOR A2, B:LOCATE 3,49
1960 PRINT " байт идентификатора существует? "
1970 COLOR A2, B:LOCATE 4,49
1980 PRINT " Ja(Да)===>> продолжить поиск"
1990 COLOR A4+16, B:LOCATE 15, 4:PRINT "K"
2000 GOSUB 4480
2010 COLOR A3, B:LOCATE 13,PRINT TR3$;
2020 COLOR A2, B:LOCATE 3,49
2030 PRINT " прикладная программа найдена "
2040 COLOR A2, B:LOCATE 4,49
2050 PRINT " "
2060 COLOR A3+16, B:LOCATE 21, 23:PRINT NAW3$;
2070 GOSUB 4480
2080 COLOR A1, B:LOCATE 21, 23:PRINT NAW3$
2090 COLOR A2, B:LOCATE 3,49
2100 PRINT " байт идентификатора существует? "
2110 COLOR A2, B:LOCATE 4,49
2120 PRINT " нет===>> идентифицировать"
2130 COLOR A4+16, B:LOCATE, 4:PRINT "K"
2140 GOSUB 4480
2150 COLOR A2, B:LOCATE 20, 3:PRINT F2$
2160 LOCATE 21, 3:PRINT F3$
2170 LOCATE 22, 3:PRINT F4$ 0
2180 COLOR A2, B:LOCATE 3,49
2190 PRINT " продолжить вместе с прикладной программой "
2200 COLOR A2, B:LOCATE 4,49
2210 PRINT " "

- 157 -
2220 GOSUB 4480
2230 COLOR A2, B:LOCATE 3,49
2240 PRINT " "
2250 COLOR A1, B:LOCATE 13, 1:PRINT TR3$;
2260 GOSUB 4480
2270 COLOR A1, B:LOCATE 19, 1:PRINT TR4$;
2280 REM *** ENDE ***
2290 AUS1$ "1"
2300 GOSUB 4480
2310 CLS
2320 REM *** демонстрация неперазаписывающих вирусов ***
2330 COLOR A2,B
2340 PRINT " Эта программа демонстрирует принцип действия "
2350 COLOR A2,B
2360 PRINT " компьютерных вирусов "
2370 COLOR A2, B:LOCATE 5,1
2380 PRINT " Теперь опасная форма вирусов "
2390 GOSUB 4480
2400 CLS
2410 REM *** Начало назначений ***
2420 A200$=S9$+S2011$+S1011$+S211$+S211$+S211$+S211$+S11$+S9$+CHR$(13)
2430 A201$=S9$+S2010$+S1010$+S210$+S210$+S210$+S210$+S10$+S9$+CHR$(13)
2440 A1$=A200$
2450 A2$=S9$+" "+S8$+S6$+S5$+S26$+S26$+S6$+S5$+S26$+S6$+S5$+
S26$+S6$+S5$+S106$+S26$+S26$+S26$+S26$+S6$+S2$+" "+S9$+
CHR$(13)
2460 A3$=S9$+" "+S1$+"K"+S1$+" VIR "+S1$+" MAN "+S1$+" MOV "+
S1$+" прикладная программа "+S1$+" "+S9$+CHR$(13)
2470 A4$=S9$+" "+S3$+S6$+S4$+S26$+S26$+S6$+S4$+S26$+S6$+S4$+
S26$+S6$+S4$+S106$+S26$+S26$+S26$+S26$+S6$+S7$+" "+S9$+
CHR$(13)
2480 A5$=A201$
2490 TR1$=A1$+A2$+A3$+A4$+A5$
2500 A200$=S9$+S2011$+S2011$+S9$+CHR$(13)
2510 A201$=S9$+S2010$+S2010$+S9$+CHR$(13)
2520 B1$=A200$
2530 B2$=S9$+" "+S8$S206$+S106$+S26$+S26$+S26$+S2$+" "+S9$+CHR$(13)
2540 B3$=S9$+" "+S1$+" 1-я прикладная программа "+S1$+" "+
S9$+CHR(13)

- 158 -
2550 B4$=S9$+" "+S3$+S20$+S106$+S26$+S26$+S26$+S7$+" "+S9$+CHR$(13)
2560 B5$=A201$
2570 AW1$=B1$+B2$+B3$+B4$+B5$
2580 C1$=A200$
2590 C2$=S9$+" "+S8$+S106$+S6$+S5$+S206$+S26$+S26$+S2$+" "+
S9$+CHR$(13)
2600 C3$=S9$+" "+S1$+" 1-я часть"+S1$+" 1-я прикладная программа "+
S1$+S9$+CHR(13)
2610 C4$=S9$+" "+S3$+S106$++S6$+S4$+S206$+S26$+S26$+S7$+" "+
S9$+CHR(13)
2620 C5$=A201$
2630 ST1$=C1$+C2$+C3$+C4$+C5$
2640 D1$=S9$+S2011$+S2011$+S1011$+S211$+S9$+CHR$(13)
2650 D2$=S9$+" "+S8$+S106$+S6$+S5$+S206$+S26$+S26$+S5$+" "+
S106$+S6$+S2$+" "+S9$+CHR$(13)
2660 D3$=S9$+" "+S1$+" 1-я часть "+S1$+"1-я прикладная программа "+
S1$+" 1-я часть "+S1$+" "+S9$+CHR(13)
2670 D4$=S9$+" "+S3$+S106$+S6$+S4$+S206$+S26$+S26$+S4$+S106$+S6$+S7$+
" "+S9$+CHR(13)
2680 D5$=S9$+S2010$+S2010$+S1010$+S210$+S9$+CHR$(13)
2690 ST21$=D1$+D2$ :ST22$=D3$+D4$+D5$
2700 E1$=S9$+S2011$+S2011$+S1011$+S211$+S211$+S211$+S9$+CHR$(13)
2710 E2$=S9$+" "+S8$+S106$+S6$+S5$+S206$+S26$+S26$+S5$+
S106$+S6$+S5$+S26$+S6$+S2$+" "+S9$+CHR$(13)
2720 E3$=S9$+" "+S1$+" 1-я часть "+S1$+"1-я прикладная программа "+
S1$+" 1-я часть "+S1$+"MOV "+S1$+" "+S9$+CHR(13)
2730 E4$=S9$+" "+S3$+S106$+S6$+S4$+S206$+S26$+S26$+S4$+S106$+S6$+
S4$+S26$+S6$+S7$+" "+S9$+CHR$(13)
2740 E5$=S9$+S2010$+S2010$+S1010$+S210$+S210$+S210$+S9$
2750 MT21$=E1$+E2$ :MT22$=E3$+E4$+E5$
2760 G1$=S9$+S2011$+S2011$+S1011$+S211$+S211$+S211$+S9$+CHR$(13)
2770 G2$=S9$+" "+S8$+S6$+S5$+S26$+S26$+S6$+S5$+S26$+S6$+S5$+S206$+
S26$+S26$+S5$+S106$+S6$+S5$+S26$+S6$+S2$+" "+S9$+CHR$(13)
2780 G3$=S9$+" "+S1$+"K"+S1$+" VIR "+S1$+" MAN "+S1$+" 1-я прикладная
программа "+S1$+" 1-я часть "+S1$+" MOV "+S1$+" "+S9$+CHR(13)
2790 G4$=S9$+" "+S3$+S6$+S4$+S26$+S26$+S6$+S4$+S26$+S6$+S4$+S206$+
S26$+S26$+S4$+S106$+S6$+S4$+S26$+S6$+S7$+" "+S9$+CHR$(13)
2800 G5$=S9$+S2010$+S2010$+S1010$+S210$+S210$+S210$+S9$+CHR$(13)
2810 VI21$=G1$+G2$ :VI22$=G3$+G4$+G5$

- 159 -
2820 H1$=A200$
2830 H2$=S9$+" "+S8$+S206$+S106$+S26$+S26$+S2$+" "+S9$+CHR$(13)
2840 H3$=S9$+" "+S1$+"2-я прикладная программа "+S1$+"
"+S9$+CHR$(13)
2850 H4$=S9$+" "+S3$+S206$++S106$+S26$+S26$+S26$+S7$+" "+
S9$+CHR$13)
2860 H5$=A201$
2870 AW2$=H1$+H2$+H3$+H4$+H5$
2880 I1$=A200$
2890 I2$=S9$+" "+S8$+S106$+S6$+S5$+S206$+S26$+S26$+S2$+" "+S9$+CHR$(13)
2900 I3$=S9$+" "+S1$+" 1-я часть"+S1$+" 2-я прикладная программа "+
S1$+S9$+CHR$13)
2910 I4$=S9$+" "+S3$+S106$+S6$+S4$+S206$+S26$+S26$+S7$+" "+S9$+CHR$(13)
2920 I5$=A201$
2930 J1$=S9$+S2011$+S2011$+S1011$+S211$+S9$+CHR$(13)
2940 J2$=S9$+" "+S8$+S106$+S6$+S5$+S206$+S26$+S26$+S5$+" "+
S106$+S6$+S2$+" "+S9$+CHR$(13)
2950 J3$=S9$+" "+S1$+" 1-я часть "+S1$+" 2-я прикладная программа "+
S1$+" "+S1$+" "+S9$+CHR(13)
2970 X1$=S8$+S106$+S6$+S5$
2990 V1$=S8$+S6$+S5$+S26$+S26$+S6$+S5$+S26$+S6$+S5$
3000 V2$=S1$+"K"+S1$+" VIR "+S1$+" MAN "+S1$
3010 V3$=S3$+S6$+S4$+S26$+S26$+S6$+S4$+S26$+S6$+S4$
3020 X2$=S1$+" 1-я часть "+S1$
3030 X3$=S3$+S106$+S6$+S4$
3040 Y1$=S5$+S106$+S6$+S2$
3050 M1$=S5$+S26$+S6$+S2$
3060 Y2$=S1$+" 1-я часть "+S1$
3070 Y1$=S4$+S106$+S6$+S7$
3080 K1$=S9$+S2011$+S2011$+S1011$+S211$+S211$+S211$+S9$+CHR$(13)
3090 K2$=S9$+" "+S8$+S106$+S6$+S5$+S206$+S26$+S26$+S5$+S106$+S6$+S5$+
S26$+S6$+S2$+" "+S9$+CHR$(13)
3100 K3$=S9$+" "+S1$+" 1-я часть "+S1$+" 2-я прикладная программа "+
S1$+" "+" MOV "+S1$+" "+S9$+CHR(13)
3110 K4$=S9$+" "+S3$+S106$+S6$+S4$+S206$+S26$+S26$+S4$+S106$+S6$+
S4$+S26$+S6$+S7$+" "+S9$+CHR$(13)
3120 K5$=S9$+S2010$+S2010$+S1010$+S210$+S210$+S210$+S9$
3130 L1$=S9$+S2011$+S2011$+S1011$+S211$+S211$+S211$+S9$+CHR$(13)
3140 L2$=S9$+" "+S8$+S6$+S5$+S26$+S26$+S6$+S5$+S26$+S6$+S5$+S206$+

- 160 -
S26$+S26$+S5$+S106$+S6$+S5$+S26$+S6$+S2$+" "+S9$+CHR$(13)
3150 L3$=S9$+" "+S1$+"K"+S1$+" VIR "+S1$+" 2-я прикладная программа "+
S1$+" 1-я часть "+S1$+"MOV "+S1$+" "+S9$+CHR(13)
3160 M2$=S1$+" MOV "+S1$
3170 M3$=S4$+S26$+S6$+S7$
3180 L4$=S9$+" "+S3$+S4$+S26$+S26$+S6$+S4$+S26$+S6$+S4$+S206$+S26$+
S26$+S4$+S106$+S6$+S4$+S26$+S7$+" "+S9$+CHR$(13)
3190 L5$=S9$+S2010$+S2010$+S1010$+S210$+S210$+S9$+CHR$(13)
3200 AW11$=L1$+L2$ :AW12$=L3$+L4$+L5$
3210 REM *** запуск демонстрационной программы ***
3220 LOCATE 1, 1:COLOR A1, B:PRINT TR1$
3230 LOCATE 1, 43:COLOR A3, B
3240 PRINT " <<== программа-носитель "
3250 GOSUB 4910
3260 LOCATE 7, 1:COLOR A1, B:PRINT AW1$;
3270 LOCATE 13,1:PRINT AW2$;
3280 GOSUB 4480
3290 LOCATE 3, 49:COLOR A2, B
3300 PRINT " поиск прикладной программы "
3310 LOCATE 1,1: COLOR A3, 1:PRINT TR1$
3320 GOSUB 4480
3330 LOCATE 3, 49:COLOR A2, B
3340 PRINT " прикладная программа найдена "
3350 LOCATE 9, 17:COLOR A3+16, B
3360 PRINT " 1-я прикладная программа "
3370 GOSUB 4480
3380 LOCATE 9, 17:COLOR A1, B
3390 PRINT " 1-я прикладная программа "
3400 LOCATE 9, 4:COLOR A4+16, B:PRINT "K"
3410 LOCATE 3, 49:COLOR A2, B
3420 PRINT " байт идентификатора существует? "
3430 LOCATE 4, 49:COLOR A2, B
3440 PRINT " нет===>> идентифицировать"
3450 GOSUB 4480
3460 LOCATE 3, 49:COLOR A2, B
3470 PRINT " выделить часть 1 "
3480 LOCATE 3, 49:COLOR A2, B
3490 PRINT " "
3500 LOCATE 8, 3:COLOR A4+16, B:PRINT X1$

- 161 -
3510 LOCATE 9, 3:COLOR A4+16, B:PRINT X2$
3520 LOCATE 10, 3:COLOR A4+16, B:PRINT X3$
3530 GOSUB 4480
3540 LOCATE 4, 49:COLOR A2, B
3550 PRINT " и размножить "
3560 GOSUB 4480
3570 LOCATE 7, 1:COLOR A1, B:PRINT ST21$;ST22$
3580 LOCATE 8, 3:COLOR A4, B:PRINT X1$
3590 LOCATE 9, 3:COLOR A4, B:PRINT X2$
3600 LOCATE 10, 3:COLOR A4, B:PRINT X3$
3610 LOCATE 8, 40:COLOR A4, B:PRINT Y1$
3620 LOCATE 9, 40:COLOR A4, B:PRINT Y2$
3630 LOCATE 10, 40:COLOR A4, B:PRINT Y3$
3640 GOSUB 4480
3650 LOCATE 3, 49:COLOR A2, B
3660 PRINT " добавить стандартную программу MOV "
3670 LOCATE 4, 49:COLOR A2, B
3680 PRINT " "
3690 LOCATE 2, 15:COLOR A4+16, B:PRINT M1$
3700 LOCATE 3, 15:COLOR A4+16, B:PRINT M2$
3710 LOCATE 4, 15:COLOR A4+16, B:PRINT M3$
3720 GOSUB 4480
3730 LOCATE 2, 15:COLOR A4, B:PRINT M1$
3740 LOCATE 3, 15:COLOR A4, B:PRINT M2$
3750 LOCATE 4, 15:COLOR A4, B:PRINT M3$
3760 LOCATE 7, 1:COLOR A1, B:PRINT MT21$;MT22$
3770 LOCATE 8, 52:COLOR A4, B:PRINT M1$
3780 LOCATE 9, 52:COLOR A4, B:PRINT M2$
3790 LOCATE 10,52:COLOR A4, B:PRINT M3$
3800 GOSUB 4480
3810 LOCATE 3, 49:COLOR A2, B
3820 PRINT " вирус скопирован на место "
3830 LOCATE 4, 49:COLOR A2, B
3840 PRINT " части 1 "
3850 LOCATE 2, 3:COLOR A4+16, B:PRINT V1$
3860 LOCATE 3, 3:COLOR A4+16, B:PRINT V2$
3870 LOCATE 4, 3:COLOR A4+16, B:PRINT V3$
3880 GOSUB 4480
3890 LOCATE 2, 3:COLOR A4, B:PRINT V1$

- 162 -
3900 LOCATE 3, 3:COLOR A4, B:PRINT V2$
3910 LOCATE 4, 3:COLOR A4, B:PRINT V3$
3920 LOCATE 8, 3:COLOR A4, B:PRINT V1$
3930 LOCATE 9, 3:COLOR A4, B:PRINT V2$
3940 LOCATE 10, 3:COLOR A4, B:PRINT V3$
3950 GOSUB 4480
3960 LOCATE 3, 49:COLOR A2, B
3970 PRINT " продолжить вместе с программой-носителем "
3980 LOCATE 4, 49:COLOR A2, B
3990 PRINT " "
4000 GOSUB 4480
4010 LOCATE 1,1/ COLOR A1, B:PRINT TR1$
4020 GOSUB 4480
4030 LOCATE 3, 49:COLOR A2, B
4040 PRINT " запуск инфицированной "
4050 LOCATE 4, 49:COLOR A2, B
4060 PRINT " программы "
4070 GOSUB 4480
4080 LOCATE 7, 1:COLOR A3, B:PRINT VI21$;VI22$
4090 GOSUB 4480
4100 LOCATE 3, 49:COLOR A2, B
4110 PRINT " в начале имеет место "
4120 LOCATE 4, 49:COLOR A2, B
4130 PRINT " распространение вируса "
4140 GOSUB 4480
4150 LOCATE 13, 1:COLOR A1, B:PRINT AW21$;AW22$
4160 LOCATE 3, 49:COLOR A2, B
4170 PRINT " выделяется скопированная "
4180 LOCATE 4, 49:COLOR A2, B
4190 PRINT " 1- часть "
4200 GOSUB 4480
4210 LOCATE 8, 40:COLOR A4+16, B:PRINT Y1$
4220 LOCATE 9, 40:COLOR A4+16, B:PRINT Y2$
4230 LOCATE 10,40:COLOR A4+15, B:PRINT Y3$
4240 GOSUB 4480
4250 LOCATE 3, 49:COLOR A2, B
4260 PRINT " выделяется и вновь копируется "
4270 LOCATE 4, 49:COLOR A2, B
4280 PRINT " скопированная 1-я часть "

- 163 -
4290 LOCATE 8, 3:COLOR A4, B:PRINT X1$
4300 LOCATE 9, 3:COLOR A4, B:PRINT X23$
4310 LOCATE 10, 3:COLOR A4, B:PRINT X3$
4320 LOCATE 8, 40:COLOR A4, B:PRINT Y1$
4330 LOCATE 9, 40:COLOR A4, B:PRINT Y2$
4340 LOCATE 10,40:COLOR A4, B:PRINT Y3$
4350 GOSUB 4480
4360 LOCATE 3, 49:COLOR A2, B
4370 PRINT " итак, программа вновь "
4380 LOCATE 4, 49:COLOR A2, B
4390 PRINT " в исходном состоянии и "
4400 LOCATE 5,49:COLOR A2, B
4410 PRINT " работает без ошибок "
4420 GOSUB 4480
4430 LOCATE 7, 1:COLOR A3, B:PRINT AW1$
4440 REM *** ENDE ***
4450 AUT$="1"
4460 GOSUB 4480
4470 GO TO 120
4480 IF AUT$="2" THEN RETURN
4490 IF INKEY$="" GO TO 4480
4500 RETURN
4510 REM *** основное меню ***
4520 COLOR A2, B:LOCATE 10,1
4530 PRINT " пошаговая демонстрация (1) "
4540 COLOR A2, B
4550 PRINT " демонстрация с автоматическим заданием шага (2) "
4560 COLOR A2, B
4570 PRINT " меню выбора цвета "
4580 COLOR A2, B
4590 PRINT " конец "
4600 GOSUB 4910
4610 AUT$=INKEY$
4620 IF AUT$="0" THEN SYSTEM
4630 IF AUT$<>"1" AND AUT$<>"2" AND AUT$<>"9" GO TO 4610
4640 IF AUT$="9" THEN GO TO 4660
4650 RETURN
4660 CLS:COLOR A2, B: COLOR 4910
4670 COLOR A2, B

- 164 -
4680 PRINT " черный =0 голубой=1 зеленый=2 васильковый =3 ";
4690 PRINT " красный=4 цвета-железа=5 "
4700 COLOR A2, B
4710 PRINT " коричневый=6 белый=7 серый=8 светло-голубой=9 ";
4720 PRINT " светло-серый=1= светло-васильковый=11 "
4730 COLOR A2, B
4740 PRINT " розовый=12 кирпичный=13 желтый=14 ярко-белый=15 "
4750 PRINT :PRINT
4760 INPUT "цвет фона : "; B
4770 COLOR A1, B
4780 PRINT " фон "
4790 INPUT "основной цвет графического изображения :"; A1
4800 COLOR A1,B:PRINT " основной тон "
4810 INPUT " цвет комментария :"; A2:
4820 PRINT " комментарий"
4830 INPUT " выделение выполняемой программы :"; A3
4840 COLOR A3, B:PRINT " выделение 1"
4850 INPUT " выделение части, относящейся к вирусу :"; A4
4860 COLOR A4, B:PRINT " выделение 2"
4870 GOSUB 4480
4880 CLS
4890 REM *** большой демонстрационный пример ***
4900 GO TO 4520
4910 DATA &h43,&H6e,&H6e,&H76,&H6e,&H64,&H61,&H61
4920 DATA &H6c,&H17,&H58,&H6e,&H14,&H45,&H20,&H33
4930 DATA &h65,&H61,&H55,&H52,&H5e,&H0b,&H1b,&H22
4940 DATA &h20,&H1e,&H6,&H5,&H38,&H48,&H4e,&Hf
4950 DATA &h0,&Hf,&H13,&H16,&Hf,&Hd,&H9,&He
4960 DATA &he,&he,&H7
4970 RESTORE
4980 LOCATE 7,65
4990 FOR F=0 TO 12
5000 READ A:PRINT CHR$(A+F);
5010 NEXT
5020 LOCATE 8,65
5030 FOR F=13 TO 27
5040 READ A: PRINT CHR(A+F);
5050 NEXT
5060 LOCATE 9,65

- 165 -
5070 FOR F=28 TO 42
5080 READ A: PRINT CHR(A+F);
5090 NEXT
5100 RETURN

9.7 VIRDEM.COM

После конгресса по нарушениям коммуникаций прошедшего в
декабре 1987 года, в продажу поступила демонстрационная
программа- VIRDEM.COM. До сих пор вопросы защиты от компьютерных
вирусов обсуждались лишь в нескольких предписаниях-рекомендациях.
Естественно, существование демонстрационной программы
VIRDEM.COM не может быть обойдено молчанием и в этой книге. Пото-
му здесь будет приведена оригинальная документация на эту прогр-
амму. Исходные коды, к сожалению, нельзя опубликовывать, посколь-
ку с их помощью любой дилетант был бы в состоянии заменить зада-
ние на выполнение манипуляций и получить в свое распоряжение
программу неперезаписывающего вируса на ассемблере 8088. Легко
представить себе, что в результате появились бы многочисленные
модифицированные (и очень опасные !) версии программ VIRDEM.COM.
Опросы заказчиков демонстрационной программы-вируса показыва-
ют, что заказчики опасаются использовать дискету многократно из
боязни неконтролируемого распространения вирусов. Для того, чтобы
развеять эти опасения, приведем оригинальную документацию на
программу VIRDEM.COM. Здесь нет специальных, принятых в немецком
языке знаков, чтобы можно было получить распечатку на любом прин-
тере:
"Записанная на этой дискете программа VIRDEM.COM является
программой для демонстрации так называемых "компьютерных
вирусов"". Пожалуйста, перед запуском программы непременно обра-
тите внимание на рекомендации по обращению с ", данными в этом
пояснительно тексте. В противном случае может произойти нежелате-
льное распространение "компьютерного вируса".
Программа VIRDEM.COM разработана для того, чтобы дать возмо-
жность пользователям MS-DOS ознакомиться с компьютерными вируса-
ми, не подвергая их опасности неконтролируемого "размножения"
вирусов. Показывается насколько беспомощным может оказаться поль-
зователь ЭВМ перед лицом "компьютерных вирусов", если он не соб-
людает соответствующие меры предосторожности.

- 166 -
Программа VIRDEM.COM внедряет свой "компьютерный вирус"
только в программы, записанные на дисководе А. В результате уда-
ется демонстрировать "заразные" свойства вирусных программ, не
подвергаясь опасности распространения "злокачественных" компьюте-
рных вирусов.
Программа VIRDEM.COM демонстрирует относительно безобидный
"вирус", который не разрушает программу-носитель вируса, а лишь
дописывает программой-вирусом исходные программные коды "носи-
теля". Потому соответстующей программе требуется больше места в
памяти. Вполне сознательно отказались от записи на демонстрационную
дискету "программы-вируса", разрешающей исходные программные
коды. Но безобидность программы VIRDEM.COM не мешает понять опас-
ность, которую несут в себе другие типы вирусов.
Задание на выполнение манипуляций, распространяемое "компью-
терным вирусом" VIRDEM.COM, является некоторой нормированной
игрой. Степень сложности такой игры зависит от "поколения виру-
са". Легко увидеть, что вместо нормированной игры речь может идти
также об удалении из памяти или о выполнении определенной опера-
ции с файлами.

Свойства программы VIRDEM.COM

1. Заражению вирусом подвергаются все СОМ-файлы вплоть до 2-го
подкаталога.
2. Первый СОМ-файл в корневом каталоге не подвергается зараже-
нию (чаще всего это файл COMMAND.COM).
3. СОМ-файл, имеющие длину более 1,5 Кбайт, расширяются пример-
но на 1,5 Кбайт, более короткие файлы - примерно на 3
Кбайта.
4. Зараженная программа остается работоспособной.
5. Зараженная программа помечается, а потому не может быть
заражена дважды.
6. Программа VIRDEM.COM включает в зараженную программу некото-
рую дополнительную функцию. Эта дополнительная функция явля-
ется нормированной игрой, степень сложности которой зависит
от поколения вируса.
7. Вирус VIRDEM.COM мутирует вплоть до 9-го поколения.После
того вирус продолжает размножаться, но мутаций более не
происходит.

- 167 -

О чем нужно помнить, экспериментируя с программой VIRDEM.COM

1. Обратите внимание, из чьих рук Вы получили программу
VIRDEM.COM. Ведь вполне возможно, что имеется одноименная
программа, дополненная весьма "заразным" и опасным заданием
на проведение каких-нибудь манипуляций. Потому изготовитель
высылает программу запечатанной. Форма опечатывания описана
в сопроводительном листе.
2. Работайте только с копией! Ни в коем случае не копируйте
"вирусы" или зараженные вирусом программы на винчестер,
поскольку в этом случае возникает опасность "непредусмотрен-
ного" заражения дискет, установленных на дисковод А. Получе-
нные для демонстрации дискеты пометьте и после демонстрации
сотрите или просто храните их отдельно.
3. Установите в дисковод А дискету с различными СОМ-файлами
(например, копию системной дискеты MS-DOS). Удалите защиту
записи.
4. Скопируйте программу VIRDEM.COM и вызовите программу или
запустите ее со второго дисковода. На экране появится следу-
ющее сообщение:

(Демонстрационная программа-вирус :1.01 (поколение
1) активна.
Автор Р.Бургер 1986,1987
Тел.:05932/5451)
Virdem Ver.1.01 (Generation 1) aktiv.
Copyrigth by R.Burger 1986, 1987
Tel.:05932/5451)

Теперь вторая программа, записанная в СОМ-файле главного
каталога, заражена вирусом.
5. Распечатайте каталог. Распечатка может выглядеть , например
так:

COMMAND COM 16597 5.12.86 17.59
ASSIGN COM 2616 7.03.85 10.36
CHKDSK COM 7058 7.03.85 10.54
COMP COM 2710 5.12.86 18.00

- 168 -
DEBUG COM 12361 19.09.86 11.16
DISKCOMP COM 2951 7.03.85 10.24
VIRDEM COM 1278 24.12.86 12.03

В этом случае инфицирована программа ASSIGN.COM (второй СОМ-
файл на А).
6. Запустите программу ASSIGN.COM. На экране появится следующее
сообщение:
Virdem Ver.1.01 (Generation 2) aktiv.
Copyrigth by R.Burger 1986, 1987
Tel.:05932/5451)
Dies ist ein Demoprogramm fuer (Это демонстрационная программа
Computerviren. Geben Sie nun компьютерных вирусов. Введите,
bitte eine Zahl ein. пожалуйста одно число. Если Вы
Wenn Sie richtig raten, ответите правильно, можно продо-
duerfen Sie weiterarbeiten. лжать работу.
Due Zahl legt Zwischen Число лежит в интервале от 0
0 und 2 до 2)

Теперь нужно ввести число. Это число определяется поколением
вируса: т.е. для второго поколения лежит в интервале от 0 до 2.
Если число задано правильно, исходная прикладная программа обра-
батывается, если число задано неверно, на экране появится прави-
льный ответ, заключенный в угловые скобки (например, ) и выпо-
лнение программы прерывается. Но при запуске инфицированной прог-
рамма ASSIGN.COM вирус попадает уже в другую программу. В данном
случае инфицирована программа CHKDSK.COM.
Эта программа содержит теперь третье поколение вируса. В
результате степень сложности нормированной игры повышается. Каж-
дая инфицированная программа распространяет при запуске новый
вирус нового поколения. И так до тех пор, пока не будет достигну-
то поколение 9. Поколение 3 вируса генерирует новый вирус поколе-
ния 4, поколение 4 - поколение 5 и т.д.
7. Запускайте все программы до полного просмотра" всей демонст-
рационной дискеты. Затем на экране появится следующее сооб-
щение:
Alle Ihre Programme sind (Теперь все программы
nun durchseucht. заражены.)
Virdem Ver.1.01 (Generation x) aktiv.

- 169 -
Copyrigth by R.Burger 1986, 1987
Tel.:05932/5451)
Dies ist ein Programm fuer (Это программа
Computerviren. Geben Sie nun компьютерных вирусов. Введите,
bitte eine Zahl ein. пожалуйста некоторое число. Если Вы
Wenn Sie richtig raten, ответите правильно, Вы сможете
duerfen Sie weiterarbeiten. продолжить работу.
Due Zahl liegt Zwischen Число лежит в интервале от 0 до х)
0 und x

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

Прочие рекомендации

Для более быстрой демонстрации Вы можете в качестве псевдоди-
ска задать дисковод А. В этом случае после демонстрации Вам сле-
дует стереть псевдодиск.
Еще раз напомним важнейшие правила работы с программой
VIRDEM.COM:

!!! Р а б о т а т ь т о л ь к о с к о п и е й !!!
!!! "Вирусы" или зараженные "вирусом" программы никогда !!!
!!! не копировать на жесткий диск (винчестер), поскольку !!!
!!! в этом случае возникает опасность неконтролируемого !!!
!!! заражения дисковода А. !!!

Если вы будете соблюдать эти основные правила , VIRDEM.COM
не может распространяться в Вашей ПЭВМ бесконтрольно.
Мы желаем Вам получить удовольствие от работы с VIRDEM.COM.
Если же у Вас и возникнут какие-либо проблемы, обратитесь к нам.
Более подробную информацию о "вирусах" и средствах защиты от
них Вы получите, обратившись по адресу:

Ralf Burger Раульф Бургер
Systemingenieur инженер-системотехник

- 170 -
Postfact 1105
D-4472 Haren
Tel.: 0 59 32/54 51
Создатели настоящей программы не несут ответственности за
тот ущерб, который может возникнуть при неаккуратной работе с
программой VIRDEM.COM.










10. Различные языки программирования, применяемые при
cоставлении программ-вирусов

Какие языки программирования целесообразно использовать при
написании программ-вирусов?..
На этот вопрос даже неопытный пользователь ответит однозна-
чно: "ассемблер". Этот ответ, несомненно, правилен, поскольку
благодаря машинному языку программа в состоянии обойти все меры
безопасности, обусловленные внутренними соглашениями операционной
системы и соответствующим программным обеспечением. Кроме того,
время, выполнения составленной на ассемблере программы-вируса
очень мало, поскольку время доступа к массовой памяти резко сок-
ращается. И все же программы-вирусы могут быть написаны и на
языках высокого уровня, что и будет продемонстрировано на следую-
щих страницах данной книги.
Приведенные ниже распечатки отлажены в среде VS-DOS 3.10 и
представляют собой работоспособные программы-вирусы, однако в
этой форме они не могут использоваться для выполнения каких-либо
манипуляций. Совершенно сознательно эти программы не стали снаб-
жать подпрограммами обработки ошибок, например, на случай полного
"заражения" системы, поскольку в противном случае недобросовест-
ный программист получил бы в свои руки средство для выполнения
весьма опасных манипуляций. Таким образом, с помощью программ,
распечатки которых приводятся, можно "привить" вирус системе, но
такая "инфекция" устраняется довольно быстро.
Для того, чтобы свести к минимуму риск нанесения ущерба
системе, повторим еще раз важнейшие правила безопасности при
работе с программами-вирусами:
РАБОТАТЬ ТОЛЬКО С КОПИЯМИ!
Исключить возможность доступа к "вирусам" или зараженным
вирусом программам случайных людей. После завершения работы все
записанные в ПЭВМ программы стереть.
Если при работе с "зараженными" программами следовать этим
правилам безопасности, опасность неконтролируемого распростране-
ния вирусов исключается.

10.1 Вирусы на ассемблере

- 172 -

Поскольку машинный язык, как уже говорилось, наиболее удобен
для написания программ-вирусов, приведем вначале перезаписывающий
вирус, полностью написанный на ассемблере. Программа разрабатыва-
лась под управлением MS-DOS, версия 2.11, но может работать и с
другими версиями MS-DOS. Проблемы могут возникнуть лишь при зада-
нии дисковода, но эти сложности легко устранить. Опытный читатель
сразу же заметит, что эта довольно короткая (около 500 байт)
программа-вирус может быть сделана еще более короткой, например,
за счет исключения ненужных вызовов сегмента. Может быть, такая
задача позабавит Вас в длинные зимние вечера.

page 70,1209
Name VIRUS
;****************************************************************
; Programm Virus Ver.1.1
; Cpyright by R.Burger 1986
; Dies ist ein Demoprogramm fuer Computerviren
; Es hat die Eigenschaft sich selbst zu
; vervielfaeltigen
; und dadurch andere Programme zu verandern
;****************************************************************
; программа-вирус версия 1.1
; Автор Р. Бургер, 1986
; Это программа для демонстрации компьютерных вирусов.
; Она обладает свойством самостоятельно размножаться и
; изменять тем самым другие программы
;****************************************************************
Code Segment
Assum CS:Code
progr equ 100h
ORG progr
;****************************************************************
; Три операции nop служат "вирусу" в качестве байта
; идентификатора, по которому можно определить "вне-




Назад
 


Новые поступления

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

281311062 (руководитель проекта)
401699789 (заказ работ)
© il.lusion,2007г.
Карта сайта
  
  
 
МЕТА - Украина. Рейтинг сайтов Союз образовательных сайтов