Доклад: Маскировка вирусов

- выходит в реальный режим

- разрешает прерывания, закрывает А20

- выводит на экран строку qw ("Light General")

- выход в DOS

.286

.model tiny
.code
org 100h

Определения для защищенного режима работы программы
;Структура дескриптора
desc_struc STRUC
limit dw 0
baseJ dw 0
base_h db 0
access db 0
rsrv dw 0

desc_struc ENDS

ACC_PRESENT equ WOOOOOOb
ACC_CSEG equ OOO-MOOOb
ACC_DSEG equ 000-IOOOOb
ACC_EXPDOWN equ 000001 OOb
ACC_CONFORM equ 000001 OOb
ACC_DATAWR equ 0000001 Ob

DATA_ACC=ACC_PRESENT or ACC_DSEG or ACC_DATAWR
; 1001001 Ob

CODE_ACC=ACC_PRESENT or ACC.CSEG or ACC_CONFORM
; 10011100b

STACK_ACC=ACC_PRESENT or ACC_DSEG or ACC_DATAWR or
ACC.EXPDOWN; 1001011 Ob

;Размеры сегментов (реальные размеры на единицу больше)
CSEG SIZE=65535

DSEG_SIZE=65535
STACK_SIZE=65535

[Смещения используемых дескрипторов
CS_DESCR=(gdt_cs-gdt_0)
DS_DESCR=(gdt_ds-gdt_0)
SS_DESCR=(gdt_ss-gdt_0)

;Константы значений портов ?
CMOS_PORT equ 70h
STATUS_PORT equ 64h
SHUTDOWN equ OFEh
A20_PORT equ OD1h
A20_ON equ ODFh
A20_OFF equ ODDh
INT_MASK_PORT equ 21 h
KBD_PORT_A equ 60h
start:

.Инициализируем необходимые данные для перехода
;в защищенный режим

call init_protected_mode

[Переходим в защищенный режим
call set_protected_mode

;Теперь компьютер работает в защищенном режиме!
;Так как таблица прерываний реального режима не может быть

использована в защищенном, прерывания запрещены!
;Именно тут можно вставить инструкции, нужные вирусу
.Возвращаемся в реальный режим
call set_real_mode

[Печатаем сообщение "Light General"
mov ah,09h
lea dx.qw
int 21 h

;Выходим в DOS
mov ax,4COOh
int 21 h

[Макрокоманда для установки адреса для дескриптора
;в глобальной таблице дескрипторов GDT.
;На входе регистры DLAX должны содержать
.абсолютный адрес сегмента
setgdtentry MACRO

mov [desc_struc.base_l][bx],ax

mov [desc_struc.base_h][bx],dl
ENDM

•<

; Процедура инициализации необходимых данных
.для перехода в защищенный режим
init_protected_mode PROC

вычисляем абсолютный адрес для сегмента данных
;в соответствии со значением регистра DS

mov ax.ds

К-во Просмотров: 760
Бесплатно скачать Доклад: Маскировка вирусов