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

.Записываем в строку qw символ "L" и выходим из подпрограммы

mov byte ptr ds: [off set qw+2],"L"

ret
set_protected_mode ENDP

Подпрограмма, возвращающая процессор в реальный режим
set_real_mode PROC

[Сохраняем значение регистра SP для реального режима
mov real_sp,sp

.Выполняем CPU Reset (рестарт процессора)
mov al,SHUT_DOWN
out STATUS_PORT,al

;Ждем, пока процессор перезапустится
wait_reset:

hit

jmp wait_reset

;C этого места программа выполняется после перезапуска процессора
shutdown_return:

;Устанавливаем регистр DS в соответствии с регистром CS
push cs
pop ds

восстанавливаем указатели на стек
;по ранее сохраненным значениям

mov ss,real_ss

mov sp,real_sp

[Закрываем адресную линию А20
call disable_a20

.Разрешаем немаскируемые прерывания
mov ax.OOOdh
out CMOS_PORT,al

[Разрешаем маскируемые прерывания

in al,INT-MASK_PORT

and al,0

out INT_MASK_PORT,al

sti

ret
set_real_mode EN DP

[Процедура, открывающая адресную линию А20. После открытия

[адресной линии программам будет доступна память свыше 1Мбайт
enable_a20 PROC

mov al,A20_PORT

out STATUS_PORT,al

mov al,A20_ON

out KBD_PORT_A.al

ret
enable_a20 ENDP

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