Игорь Гульев - Создаем вирус и антивирус
- Название:Создаем вирус и антивирус
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Игорь Гульев - Создаем вирус и антивирус краткое содержание
Virus Warning!
С этим сообщением, хоть раз в жизни, сталкивался любой пользователь компьютера. Вирмейкеры с упорством маньяков плодят все новые и новые разновидности вирусов. Бытует мнение, что избавиться от них можно лишь с помощью сложных и дорогостоящих новейших антивирусных программ. Это не совсем верно – знание принципов действия и способов внедрения вирусов поможет вовремя их обнаружить и локализовать, даже если под рукой не окажется подходящей антивирусной «вакцины».
В этой книге вы найдете обширный материал, посвященный проблеме защиты информации, рассмотренной с обеих сторон баррикад (как от лица вирмейкера, так и создателя антивирусов).
Создаем вирус и антивирус - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Вход:
AH=2FhВыход: ES:BX – адрес начала текущей DTA
Описание. Возвращает адрес начала области ввода-вывода (DTA). Поскольку DTA глобальна для всех процессов, в рекурсивной процедуре (например, при проходе по дереву оглавления) может потребоваться сохранить адрес DTA, а впоследствии восстановить его посредством функции 1Ah.
Примечание. Эта функция изменяет сегментный регистр ES.
Версии: DOS 2.00 и выше DOS, функция 30h Получить номер версии DOS
Вход:
AH=30hВыход:
AL – старший номер версии
AH – младший номер версии
BL:CX – 24-битный серийный номер (большинство версий не поддерживают этот параметр)Описание. Возвращает в AX значение текущего номера версии DOS. Например, для DOS 3.20 в AL возвращается 03h, в AH – 14h.
Примечание. Если в AL возвращается 00h, можно предполагать, что работает DOS более ранней версии, чем DOS 2.0.
Версии: DOS 2.00 и выше. DOS, функция 31h Завершиться и остаться резидентным
Вход:
AH=31h
AL – код выхода
DX – объем памяти, оставляемой резидентной (в параграфах)Описание. Выходит в родительский процесс, сохраняя код выхода в AL. Код выхода можно получить через функцию 4Dh. DOS устанавливает начальное распределение памяти, как специфицировано в DX, и возвращает управление родительскому процессу, оставляя указанную память резидентной (число байт равно DX*16). Эта функция перекрывает функцию INT 27h, которая не возвращает код выхода и не способна установить резидентную программу, размер которой превышает 64 Кбайт.
Версии: DOS 2.00 и выше. DOS, функция 32h Получить информацию DOS о диске (Официально не документирована)
Вход:
AH=32h
DL – номер диска (0 – текущий, 1 – A и так далее)Выход:
AL=00h, если в DL был задан корректный диск
DS:BX – адрес блока информации о диске для запрошенного устройства (Таблица Б-6)
AL=FFh, если в DL был задан некорректный дискОписание.
Возвращает блок информации, представляющей интерес для приложений и утилит, которые выполняют доступ к дискам, поддерживаемым драйверами устройств, на уровне секторов.
Некоторые дисководы (особенно незагружаемые) функционируют только через свои драйвера устройств. Такие диски могут содержать неверную информацию в корневой записи и таблице разделов, что делает очень трудным определение, например, размера корневого оглавления, числа таблиц FAT и прочего. Блок информации диска содержит такие данные в хорошо форматированной структуре.Версии: DOS 2.00 и выше. Таблица Б-6. Формат блока информации о диске
DOS, функция 33h Установить/опросить статус Ctrl-Break
Вход:
AH=33h
AL=00h – опросить текущий статус контроля Ctrl-Break
AL=01h – установить статус контроля Ctrl-Break
DL – требуемый статус (0 – выключен, 1 – включен)Выход: DL – текущий статус (0 – выключен, 1 – включен)
Описание.
Если AL=00h, в DL возвращается текущий статус контроля Ctrl-Break.
Если AL=01h, в DL возвращается новый текущий статус.
Когда статус «включен», DOS при выполнении большинства функций (исключая 06h и 07h) проверяет, нажаты ли клавиши Ctrl-Break. Если это обнаружено, выполняется прерывание INT 23h (если оно не перехватывается, то процесс снимается).
При статусе «выключен» DOS проверяет на нажатие Ctrl-Break лишь при выполнении операций стандартного ввода/вывода, стандартной печати и стандартного AUX.Версии: DOS 2.00 и выше. DOS, функция 34h Получить адрес флага активности DOS (Официально не документирована)
Вход:
AH=34hВыход: ES:BX – адрес флага активности DOS
Описание.
Функция возвращает флаг активности DOS, который показывает, можно ли на данный момент вызывать функции DOS. Эту функцию использует, например, функция фоновой печати PRINT.
Если ES: [BX] не нулевой, фоновая программа (TSR либо popup) не должна использовать никаких функций DOS.Версии: DOS 2.00 и выше. DOS, функция 35h Получить вектор прерывания
Вход:
AH=35h
AL – номер прерывания (00h до FFh)Выход: ES:BX – адрес обработчика прерывания
Описание. Возвращает значение вектора прерывания для INT (AL), то есть загружает в BX 0000:[AL*4], а в ES – 0000:[(AL*4)+2].
Примечание. Эта функция изменяет сегментный регистр ES.
Версии: DOS 2.00 и выше. DOS, функция 36h Получить свободную память диска
Вход:
AH=36h
DL – номер диска (0 – текущий, 1 – A и так далее)Выход:
AX=FFFFh, если AL содержал неверный номер диска
Если функция выполнена успешно:
AX – число секторов на кластер
BX – число доступных кластеров
CX – байт на сектор
DX – всего кластеров на дискеОписание. Возвращает данные, полезные для подсчета общей и доступной дисковой памяти. Если в AX возвращено FFFFh, значит задан неверный диск. Иначе свободная память (в байтах) составляет (AX*BX*CX), всего памяти (AX*CX*DX) байт.
Версии: DOS 2.00 и выше. DOS, функция 37h Установить/опросить символ-переключатель (Официально не документирована)
Вход:
AH=37h
AL=00h – опросить текущий переключатель
AL=01h – установить символ-переключатель
DL – символ-переключательВыход:
AL=00h, если функция выполнена успешно
DL – текущий символ-переключатель DOS (если при вызове AL=00h)
AL=FFh, если использована неподдерживаемая подфункцияОписание. Устанавливает или опрашивает «Глобальный переключатель» DOS. Переключатель (SWITCHAR) – это символ, используемый в командной строке как признак опции. По умолчанию принимается «/» (например, DIR /w/p), но его можно изменить на «-» (DIR – w-p), если нужно, чтобы система была больше похожа на UNIX. Общепринято опрашивать значение SWITCHAR перед разбором области неформатированных параметров в PSP для выделения опций команды.
Примечание. Эта недокументированная команда может измениться в будущих версиях DOS. Не рекомендуется изменять SWITCHAR.
Версии: DOS 2.00 и выше. DOS, функция 38h Получить/установить информацию о стране
Вход:
AH=38h
Получить информацию:
AL=00h – получить данные для текущей страны
DS:DX – адрес локального буфера для чтения блока данных страны (Таблица Б-7)
Установить информацию:
AL=01h-FEh – установить данные для указанной страны < 255
AL=FFh – установить данные для кода страны > 255
BX – 16-битный код страны (Таблица Б-8)
DX=FFFFhВыход:
CF=0, если функция выполнена успешно
BX – код страны
CF=1, если при выполнении функции возникли ошибки
AX – код ошибкиОписание. Если DX=FFFFh, то текущий код страны устанавливается равным AL (если AL=FFh, то код страны устанавливается равным BX). Обычно код страны устанавливается в файле CONFIG.SYS. Если DX
Версии: DOS 2.00 и выше. Таблица Б-7. Формат блока данных страны
DOS, функция 39h Создать новое оглавлениеВход:
AH=39h
DS:DX – адрес строки ASCIZ с именем оглавленияВыход:
Читать дальшеИнтервал:
Закладка: