Большой справочник по компьютерным вирусам
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.