Книги
чёрным по белому
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Книги
Археология Архитектура Бизнес Биология Ветеринария Военная промышленность География Геология Гороскоп Дизайн Журналы Инженерия Информационные ресурсы Искусство История Компьютерная литература Криптология Кулинария Культура Лингвистика Математика Медицина Менеджмент Металлургия Минералогия Музыка Научная литература Нумизматика Образование Охота Педагогика Политика Промышленные производства Психология Путеводители Религия Рыбалка Садоводство Саморазвитие Семиотика Социология Спорт Столярное дело Строительство Техника Туризм Фантастика Физика Футурология Химия Художественная литература Экология Экономика Электроника Энергетика Этика Юриспруденция
Новые книги
Цуканов Б.И. "Время в психике человека" (Медицина)

Суворов С. "Танк Т-64. Первенец танков 2-го поколения " (Военная промышленность)

Нестеров В.А. "Основы проэктирования ракет класса воздух- воздух и авиационных катапульных установок для них" (Военная промышленность)

Фогль Б. "101 вопрос, который задала бы ваша кошка своему ветеринару если бы умела говорить" (Ветеринария)

Яблоков Н.П. "Криминалистика" (Юриспруденция)
Реклама

Азбука хакера 3. Компьютерная вирусология - Собейкис В.Г.

Собейкис В.Г. Азбука хакера 3. Компьютерная вирусология — М.: Майор, 2006. — 512 c.
ISBN 5-98551-013-1
Скачать (прямая ссылка): hakeriazbukahakera2006.djvu
Предыдущая << 1 .. 15 16 17 18 19 20 < 21 > 22 23 24 25 26 27 .. 123 >> Следующая

какой файл занимает ту или иную область.
Каждый диск имеет два FAT, идентичные друг другу. Вторая таблица является
резервной копией на случай порчи первой. Вы знаете, что диск может иметь
множество директорий.
На каждом диске присутствует так называемая корневая директория, и этот
корень может иметь множество поддиректорий, гнездящихся одна внутри
другой в форме древовидной структуры. Эти поддиректории можно создавать,
использовать и удалять по воле пользователя. Сложность древовидной
структуры зависит от прихотей пользователя.
Обе FAT и корневая директория располагаются в фиксированной области
диска, которая резервируется специально для них. Поддиректории хранятся
как и другие файлы. Их атрибуты указывают, что данный файл является
директорией. Операционная система управляет поддиректорным файлом иначе,
чем обычными файлами.
Поддиректорный файл состоит из последовательности 32-байтовых записей,
описывающих файлы этой директории. Поддиректорный файл может содержать
32-байтовую запись с атрибутом для данной директории, который указывает,
что данный файл является поддиректорией поддиректории.
DOS контролирует доступы к файлам и поддиректориям. Если вы хотите
прочитать или записать файл, вам не нужно писать программу для
обнаружения нужной директории на диске, читать
62
ГЛАВА 2. Самовоспроизводство
записи дескриптора файла, выяснять, где находится файл, а затем читать
его.
Вместо этого вы даете DOS-директорию и имя файла, затем просите открыть
файл, и дальше операционная система делает все сама. Данный процесс
сохраняет много времени. Вам не нужно ломать голову над управлениями
файлами и "железом".
DOS командует с помощью ISR (interrupt service routines - подпрограммы
обработки прерывания). Прерывание int 21Н - это основная ISR, которую мы
будем использовать в вирусах.
Чтобы вызвать ее, нам нужно настроить требуемые регистры процессора на
определенные значения, дабы подпрограмма обработки прерывания знала, что
ей делать. Вот пример кода:
mov ds.SEG FNAME ;ds:dx указывает на имя файла
mov dx,OFFSET FNAME
xor al.al ;al=0
mov ah,3DH ;DOS-функция 3D
int 21H ;идет, чтобы выполнить ее
Этот код открывает файл, чье имя сохранено в локации памяти FNAME, и
готовит его для чтения в памяти. Эта функция приказывает DOS найти данный
файл и подготовить его для чтения. Инструкция "int 21Н" передает контроль
DOS, и та выполняет свою работу. Когда DOS заканчивает открывать файл,
контроль возвращается к выражению, непосредственно следующему за "int
21Н". Регистр ah содержит число функции, с помощью которого DOS
определяет вид задания. Другие регистры устанавливаются иначе в
зависимости от того, каков регистр ah. Они дают DOS дополнительную
информацию о том, что нужно сделать. В вышеуказанном примере регистровая
пара ds:dx указывает на локацию памяти, где хранится имя файла, который
нам нужно открыть. Установка регистра а! до нуля приказывает DOS открыть
файл только для чтения.
(Для самостоятельного изучения вирусов я советую вам приобрести
двухтомник Ральфа Брауна и Джима Кайла "Прерывания ПК". Этот труд
расскажет вам о различных доступных функциях - о том, как они работают и
за чем следят.)
63
Варфоломей Собейкис. АЗБУКА ХАКЕРА-3
Чтобы найти файлы, пригодные для заражения, вирус использует DOS-функции
поиска.
Люди, создававшие DOS, знали, что многие программы (не только вирусы)
требуют осмотра файлов и действий с ними, если требуемый тип был найден в
процессе поиска. Разработчики вставили парочку поисковых функций в
программу обработки прерывания int 21Н и назвали их Search First (найти
первый) и Search Next (найти следующий).
В принципе, имеются более сложные DOS-функции, но они требуют перед
вызовом большой подготовки. Чтобы определить директорию и файл для.
поиска, мы первым делом настраиваем в памяти строку ASC1IZ. Это массив
байтов, который завершается нулевым байтом (0).
DOS может находить и сообщать либо о всех файлах в директории, либо о
субнаборе файлов, которые пользователь определяет по атрибутам и имени
файла, используя такие символы, как "?" и "*". Вы, наверное, знакомы с
такими исполнительными командами, как сору *.* а: и dir а???_100.*,
которые набираются в командной строке DOS. Вот пример строки ASCIIZ:
DB '\system\hyper.*\0
Она устанавливает поисковую функцию на осмотр всех файлов с именем "
hyper" с любым возможным расширением в поддиректории. DOS может найти
такие файлы, как hyper.c, hyper.pm, hyper.exe и т. д. Если вы не указали
путь в этой строке, а напечатали только имя файла (например "*.СОМ"), то
DOS будет осматривать текущую директорию.
После установки ASCIIZ-строки, нам нужно установить регистры ds и dx до
значений сегмента и офсета этой ASCIIZ-строки в памяти.
Регистр сх должен быть установлен на маску атрибутов файла, которая
подскажет DOS, какие атрибуты файла нужно применять для поиска, а какие
исключать. Логика, стоящая за этой маской атрибутов, довольно сложна,
Предыдущая << 1 .. 15 16 17 18 19 20 < 21 > 22 23 24 25 26 27 .. 123 >> Следующая