Игорь Гульев - Создаем вирус и антивирус
- Название:Создаем вирус и антивирус
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Игорь Гульев - Создаем вирус и антивирус краткое содержание
Virus Warning!
С этим сообщением, хоть раз в жизни, сталкивался любой пользователь компьютера. Вирмейкеры с упорством маньяков плодят все новые и новые разновидности вирусов. Бытует мнение, что избавиться от них можно лишь с помощью сложных и дорогостоящих новейших антивирусных программ. Это не совсем верно – знание принципов действия и способов внедрения вирусов поможет вовремя их обнаружить и локализовать, даже если под рукой не окажется подходящей антивирусной «вакцины».
В этой книге вы найдете обширный материал, посвященный проблеме защиты информации, рассмотренной с обеих сторон баррикад (как от лица вирмейкера, так и создателя антивирусов).
Создаем вирус и антивирус - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
BX – описатель файла
CX:DX – смещение ((CX*65536)+DX) от начала файла
SI:DI – длина блокируемой области ((SI*65536)+DI) байтВыход:
CF=0, если функция выполнена успешно
CF=1, если при выполнении функции возникли ошибки
AX – код ошибкиОписание. Блокирует или освобождает доступ к участку файла, указанного в BX. Область файла с логическим смещением CX:DX и длиной SI:DI блокируется (захватывается) или разблокируется (освобождается). Смещение и длина обязательно должны быть указаны. Разделение файлов должно быть активизировано (командой SHARE), иначе функция вернет код ошибки «Неверный номер функции».
Версии: DOS 3.00 и выше (при обязательной загрузке SHARE). DOS, функция 62h Получить адрес PSP
Вход:
AH=62hВыход: BX – сегментный адрес PSP выполняющейся программы
Описание. Эта функция возвращает в BX адрес PSP текущей программы. Используется, для получения адреса параметров командной строки, адреса окружения DOS и другой полезной информации, содержащейся в PSP.
Версии: DOS 3.00 и выше. DOS, функция 65h Получить расширенную информацию страны
Вход:
AH=65h DOS 3.3
AL – подфункция:
AL=01h – дать расширенную информацию страны DOS 3.3
AL=02h – дать таблицу преобразования строчных букв в прописные
AL=04h – то же для символов, допустимых в именах файлов
AL=06h – дать сопоставляющую последовательность
DX – код страны
BX – кодовая страница (FFFFh – консоль)
CX – размер буфера возврата (должен быть минимум 5 байт)
ES:DI – адрес буфера возвратаВыход:
CF=0, если функция выполнена успешно
ES:DI – адрес возвращенной информации
CF=1, если при выполнении функции возникли ошибки:
AX – код ошибкиОписание. Эта функция возвращает различную национальную информацию. Используется для получения формата даты, символа валюты и других данных, необходимых для вывода и сортировки информации (во всех странах, кроме США).
Версии: DOS 3.30 и выше. DOS, функция 66h Получить/установить глобальную кодовую страницу
Вход:
AH=66h
AL – подфункция:
AL=01h – запросить текущую глобальную кодовую страницу
AL=02h – установить активную кодовую страницу
BX – (при AL=02h) кодовая страница (Таблица Б-14)
DX – (при AL=02h) системная кодовая страница (устанавливаемая при загрузке)Выход:
CF=0, если функция выполнена успешно
Таблица Б-14. Значения кодовых страницBX – (если при вызове AL=01h) текущая активная кодовая страница
DX – (если при вызове AL=01h) системная кодовая страница (устанавливаемая при загрузке)
CF=1, если при выполнении функции возникли ошибки
AX – код ошибкиОписание. Эта функция выбирает новую кодовую страницу или получает значение текущей активной кодовой страницы (страниц). Программа DOS NLSFUNC должна быть загружена до этого вызова. Функция используется в сочетании с 65h или 38h.
Примечание. Устанавливая новую активную кодовую страницу, DOS читает данные из файла COUNTRY.SYS.
Версии: DOS 3.30 и выше. DOS, функция 67h Установить число описателей файлов
Вход:
AH=67h
BX – максимальное число описателей (до FFFFh)Выход:
CF=0, если функция выполнена успешно
CF=1, если при выполнении функции возникли ошибки
AX – код ошибкиОписание. Эта функция устанавливает максимальное число описателей файлов, которые могут быть открыты одновременно. Если значение BX меньше 20, то принимается 20. Если значение BX меньше текущего максимума (нужно сократить число описателей), и в данный момент открыто более чем BX файлов, то изменение будет иметь место, когда число открытых файлов не будет превышать устанавливаемый максимум. Если BX больше текущего максимума (нужно увеличить число описателей), то DOS должна иметь доступную память, чтобы распределить ее под новые описатели. Функция 4Ah позволяет освободить память, чтобы она стала доступной DOS.
Версии: DOS 3.30 и выше. DOS, функция 68h Завершить файл
Вход:
AH=68h
BX – описатель завершаемого файлаВыход:
CF=0, если функция выполнена успешно
CF=1, если при выполнении функции возникли ошибки
AX – код ошибкиОписание. Эта функция заставляет DOS сбросить (записать на диск) буфера основной памяти для указанного описателя файла. DOS обычно избегает обмена с дисками, записывая данные в буфера в основной памяти до заполнения сектора или закрытия файла. Эта функция заставляет DOS немедленно записать данные на диск. Это ускоряет операции с базами данных, позволяя приложению избежать неэффективного закрытия и повторного открытия файлов.
Версии: DOS 3.3 и выше. В версиях DOS от 2.0 до 3.2 можно использовать функцию DOS 45h, чтобы создать и затем закрыть дубликат.
Приложение В Функции программирования Flash в AMIBIOS
За программирование Flash в AMIBIOS отвечает функция E0h прерывания INT 16h. При вызове прерывания INT 16h номер функции должен находиться в регистре AH, номер подфункции – в регистре AL. При возврате из функции регистр AL содержит FAh как подтверждение, что данная функция прерывания поддерживается. Флаг CF равен нулю при успешном выполнении и равен единице при ошибке.
Для уверенности в успешном выполнении функций необходимо всегда проверять AL=FAh на выходе.
Flash AMIBIOS, подфункция 00h
Получить номер версии интерфейса Flash BIOS
Вход:
AH=E0h
AL=00h
Выход:
AL=FAh
CF=1 – интерфейс Flash-BIOS отсутствует
CF=0 – интерфейс Flash-BIOS присутствует
BX – номер версии в формате BCDОписание. Возвращает номер версии интерфейса Flash-BIOS в BCD-формате. Например, версия 2.00 возвратит в BX число 0200h.
Примечание. Эту функцию можно использовать для детектирования наличия интерфейса Flash-BIOS. При возврате регистр AL должен обязательно быть равен FAh.
Изменяемые регистры: AX, BX Flash AMIBIOS, подфункция 01h Получить требования к сохранению состояния чипа
Вход:
AH=E0h
AL=01hВыход:
AL=FAh
CF=0, если функция выполнена успешно
BX – размер области памяти (в байтах), необходимый для сохранения текущего состояния чипа
CF=1, если при выполнении функции возникли ошибкиОписание. Возвращает размер области памяти (в байтах), необходимый для сохранения текущего состояния чипа.
Изменяемые регистры: AX, BX Flash AMIBIOS, подфункция 02h Сохранить текущее состояние чипа в подготовленной области
Вход:
AH=E0h
AL=02h
ES:DI – указатель на буфер для сохранения текущего состояния чипаВыход:
AL=FAh
CF=0, если функция выполнена успешно
CF=1, если при выполнении функции возникли ошибкиОписание. Данная подфункция сохраняет текущее состояние чипа в обозначенной области данных и подготавливает чип к разрешению доступа в EPROM.
Примечание. Необходимо сохранить текущее состояние кэш, управления электропитанием (Power Management), затенения (Shadow) и прочее. При нефатальной ошибке будет возможно вернуть эти значения. Подготовка чипа к работе с Flash EPROM включает в себя отключение затенения RAM, внешнего и внутреннего кэш, управления электропитанием и так далее. Необходимо сохранить эти значения перед началом операции. Отключение кэш позволит с полной уверенностью обращаться напрямую в адресное пространство ROM, не беспокоясь о том, что кэш может этому помешать. Если нужное адресное пространство ROM кэшируется только при включенном затенении «Shadow Enabled» (то есть кэшируется только затененная RAM, а не ROM), отмена кэширования происходит при отмене затенения RAM, и в данном случае отмены кэширования не требуется. Если ROM кэшируется, то кэш необходимо отключить.
Читать дальшеИнтервал:
Закладка: