Игорь Гульев - Создаем вирус и антивирус
- Название:Создаем вирус и антивирус
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Игорь Гульев - Создаем вирус и антивирус краткое содержание
Virus Warning!
С этим сообщением, хоть раз в жизни, сталкивался любой пользователь компьютера. Вирмейкеры с упорством маньяков плодят все новые и новые разновидности вирусов. Бытует мнение, что избавиться от них можно лишь с помощью сложных и дорогостоящих новейших антивирусных программ. Это не совсем верно – знание принципов действия и способов внедрения вирусов поможет вовремя их обнаружить и локализовать, даже если под рукой не окажется подходящей антивирусной «вакцины».
В этой книге вы найдете обширный материал, посвященный проблеме защиты информации, рассмотренной с обеих сторон баррикад (как от лица вирмейкера, так и создателя антивирусов).
Создаем вирус и антивирус - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
AX=0200h
BL – номер прерыванияВыход:
CF=0
CX:DX – сегмент: смещение вектора прерывания реального режимаОписание. Данная функция возвращает вектор прерывания реального режима.
Примечания.
Значение, возвращаемое в CX – сегмент, не селектор. Попытки использовать его как селектор приведут к исключению общей защиты памяти.
DPMI, функция 0201h Установить вектор прерывания реального режимаВход:
AX=0201h
BL – номер прерывания
CX:DX – сегмент: смещение вектора прерывания реального режимаВыход:
CF=0, если функция выполнена успешно
CF=1, если при выполнении функции возникли ошибкиОписание. Данная функция устанавливает вектор прерывания реального режима.
Примечания. Значение в CX должно быть сегментом, а не селектором.
DPMI, функция 0202h Получить вектор обработчика исключения процессора
Вход:
AX=0202h
BL – номер исключения (00h-1Fh)Выход:
CF=0, если функция выполнена успешно
CX:(E)DX – селектор: смещение
CF=1, если при выполнении функции возникли ошибки
Значение, переданное в BL, некорректноОписание. Данная функция возвращает вектор обработчика исключения процессора.
Примечания.
Значение в CX – селектор защищенного режима, а не сегмент реального. В 32-битном режиме значение смещения возвращается в регистре EDX.
DPMI, функция 0203h Установить вектор обработчика исключения процессораВход:
AX=0203h
BL – номер исключения (00h-1Fh)
CX:(E)DX – селектор: смещениеВыход:
CF=0, если функция выполнена успешно
CF=1, если при выполнении функции возникли ошибки
Значение, переданное в BL, некорректноОписание. Данная функция устанавливает вектор обработчика исключения процессора.
Примечания.
Значение в CX должно быть существующим селектором защищенного режима, а не сегментом реального. В 32-битном режиме значение смещения возвращается в регистре EDX.
DPMI, функция 0204h Получить вектор прерывания защищенного режимаВход:
AX=0204h
BL – номер прерыванияВыход:
CF=0
CX:(E)DX – селектор: смещениеОписание. Данная функция возвращает вектор обработчика прерывания защищенного режима.
Примечания.
Значение в CX – селектор защищенного режима, а не сегмент реального. В 32-битном режиме значение смещения возвращается в регистре EDX.
DPMI, функция 0205h Установить вектор прерывания защищенного режимаВход:
AX=0204h
BL – номер прерывания
CX:(E)DX – селектор: смещениеВыход:
CF=0, если функция выполнена успешно
CF=1, если при выполнении функции возникли ошибкиОписание. Данная функция устанавливает вектор обработчика прерывания защищенного режима.
Примечания.
Значение в CX должно быть существующим селектором защищенного режима, а не сегментом реального. В 32-битном режиме значение смещения возвращается в регистре EDX.
DPMI, функция 0300h Вызвать обработчик прерывания реального режимаВход:
AX=0300h
BL – номер прерывания
BH – флаги:
бит 0 – сбросить контроллер прерывания и адресную линию A20
биты 1–7 – зарезервированы и должны быть равны нулю
CX – количество слов, которые надо скопировать из стека защищенного режима в стек реального
ES:(E)DI – селектор: смещение структуры вызова реального режима (Таблица Г-1)
Таблица Г-1. Формат структуры вызова реального режимаВыход:
CF=0, если функция выполнена успешно
ES:(E)DI – селектор: смещение модифицированной структуры вызова реального режима
CF=1, если при выполнении функции возникли ошибкиОписание. Данная функция вызывает обработчик прерывания реального режима.
Примечания.
Поля CS и IP этой функцией игнорируются. Функция вызывает обработчик, адрес которого указан в таблице прерываний. Если поля SS и SP равны нулю, то стек выделяется DPMI. 32-битные программы должны использовать ES:EDI для адресации структуры.
DPMI, функция 0301h Вызвать процедуру реального режима, заканчивающуюся командой RET FARВход:
AX=0301h
BH – флаги:
бит 0 – сбросить контроллер прерывания и адресную линию A20
биты 1–7 – зарезервированы и должны быть равны нулю
CX – количество слов, которые надо скопировать из стека защищенного режима в стек реального
ES:(E)DI – селектор: смещение структуры вызова реального режима (формат структуры вызова реального режима описан в функции 0300h)Выход:
CF=0, если функция выполнена успешно
ES:(E)DI – селектор: смещение модифицированной структуры вызова реального режима
CF=1, если при выполнении функции возникли ошибкиОписание. Данная функция вызывает процедуру реального режима, заканчивающуюся командой RET FAR.
Примечания.
Адрес процедуры должен быть указан в структуре вызова реального режима. Процедура должна завершать выполнение командой RET FAR. Если поля SS и SP равны нулю, то стек выделяется DPMI. 32-битные программы должны использовать ES:EDI для адресации структуры.
DPMI, функция 0302h Вызвать процедуру реального режима, заканчивающуюся командой IRETВход:
AX=0302h
BH – флаги:
бит 0 – сбросить контроллер прерывания и адресную линию A20
биты 1–7 – зарезервированы и должны быть равны нулю
CX – количество слов, которые надо скопировать из стека защищенного режима в стек реального
ES:(E)DI – селектор: смещение структуры вызова реального режима (формат структуры вызова реального режима описан в функции 0300h)Выход:
CF=0, если функция выполнена успешно
ES:(E)DI – селектор: смещение модифицированной структуры вызова реального режима
CF=1, если при выполнении функции возникли ошибкиОписание. Данная функция вызывает процедуру реального режима, заканчивающуюся командой IRET.
Примечания.
Адрес процедуры должен быть указан в структуре вызова реального режима. Процедура должна завершать выполнение командой IRET. Если поля SS и SP равны нулю, то стек выделяется DPMI. 32-битные программы должны использовать ES:EDI для адресации структуры.
DPMI, функция 0400h Получить версию DPMIВход:
AX=0400hВыход:
CF=0
AH – версия DPMI
AL – подверсия DPMI
BX – флаги:
Бит 0=1, если программа запущена под управлением DPMI для 80386
Бит 1=1, если процессор вернулся в реальный режим для обработки прерываний
Бит 2=1, если поддерживается виртуальная память
Бит 3 – зарезервирован и не определяется
Остальные биты зарезервированы для использования в будущем и должны быть равны нулю.
CL – тип процессора:
CL=2 – 80286
CL=3 – 80386
CL=4 – 80486
DL – текущее значение базы первого контроллера прерываний
DH – текущее значение базы второго контроллера прерыванийОписание.
Данная функция возвращает версию DPMI.
DPMI, функция 0500h Получить информацию о свободной памятиВход:
Читать дальшеИнтервал:
Закладка: