Большой справочник по компьютерным вирусам
ной программы. Программа после самоудаления из нее вируса, как
правило, сохраняет работоспособность.
Вирусы "игра в прятки" (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)