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

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

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

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

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

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

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

как адресный офсет для определения длины вирусного кода, которым
инфицирован файл. Имеется несколько других применений для директивы
метки, но мы поговорим о них позже.
toad endp code ends end flrst_fly
Следующие три строки завершают код вируса.
"Toad endp"- приостанавливает процедуру toad, которая была инициирована
"toad ргос пеаг".
"Code ends" определяет конец сегмента кода. Если бы мы использовали
сегмент данных, то нам пришлось бы закрывать его с помощью "data ends".
57
Варфоломей Собейкис. АЗБУКА ХАКЕРА-3
Директива end отмечает конец вируса.
First_fly указывает компьютеру, откуда стартовало выполнение кода.
Я советую вам комментировать свои коды. Это важно при написании больших
программ. Предваряйте их точкой с запятой. Ассемблер не компилирует
комментарии, поэтому вы можете использовать их в любом количестве. Я
приведу пример:
find_fly:
хог сх.сх ;обнуляем значение сх
lea dx,comsig .загружаем сигнатуру com-файла
int 21 h выполняем dos-прерывание
jc wart_growth .других файлов не ;найдено/сообщение
Ну что же, примите мои поздравления. Вы сделали первый шаг в
вирусмейкерстве и ознакомились не только с переписывающим вирусом, но и с
базовыми инструкциями языка Ассемблер.
Следующими шагами будет компилирование этого вируса и проверка его
работы. Для компилирования исходного кода используйте TASM. TASM - очень
хороший инструмент. Компоновщик TLINK превратит конечную работу
компилятора в исполнительную программу. Неважно, какой редактор вы
используете, когда печатаете ASM-файл. Это может быть Блокнот, Word или
Office. Когда будете компилировать вирус, перейдите в окно DOS и
выполните инструкции, приведенные внизу. Чтобы компилировать вирус,
сохраните исходный код как файл ".ASM". В одной директории с TASM
напечатайте:
C:\>tasm toad, asm
(Впрочем, это можно делать из любой директории.) Результат будет таким:
58
ГЛАВА 2. Самовоспроизводство
Строка директорий БайтОт
! i ""V Т' i Т-1 '1 ! А 1 1
Имя файла t " Резерв
J- t-| I-L I I г -J..1- I
[ ' 1 I I • I I
РвМОВ Время Дата 1-И Раялф
.кластер файла
! ? I I ! -L_ t
ЮН
Поле временя ^
"Г"!-|-?-г Минуты ф-Зф
1FH
1-!-i-
Часы 00-23Г"
JL
± ~ • \ t З-муяяп
с црфащенкхф-ЗЯ)
15
Пол* данных
В* О
11 ! 1 1 ( - Г1 i Т | 1 1 1
ГодСотвоскгтаыю 19809 Месяц (1-12) Д"ь(1-31)
.
15
Поле атрибутов
ЙГС
Зарезерви- ровано 1 Архив Подди- ректо- рия Метка тома
Система Скры- тые Только для чтения
БитС
Рис. 4. Формат записи директорией строки
59
Варфоломей Собейкис. АЗБУКА ХАКЕРА-3
Turbo Assembler Version 5.01 Assembling file: toad .asm Error Messages:
none
Warning Messages: none
Passes: 1
Remaining Memory: 418k (или что-то схожее)
Вы не знаете английского языка? Пытайтесь осваивать его понемногу. По-
русски это означает вот что:
Турбоассемблер версии 5.01 Ассемблированный файл: toad.asm
Сообщения об ошибках: нет
Предупреждающие сообщения: нет Прогонов: 1
Оставшейся памяти: какое-то значение
Если в коде будет ошибка, TASM укажет на нее в строке сообщения об
ошибке. Если у компилятора будет слишком много проблем с вашим кодом,
переключитесь на директорию "create" и напечатайте вышеуказанные
инструкции снова.
Поместите в эту директорию копии "toad.asm", TASM и TLINK. TASM
конвертирует ASM-файл в OBJ-файл. Чтобы получить исполнительный COM-файл,
мы используем компоновщик.
Напечатайте:
C:\>tlink A toad.obj
TLINK запишет в текущую директорию файл TOAD.COM. Перед вами готовый
вирус. Не бойтесь, он не кусается.
Теперь вам нужно переместить вирус из текущей директории в директорию
рассадника (pond).
Напечатайте:
С:\>сору toad.com c:\pond\
60
ГЛАВА 2. Самовоспроизводство
Затем напечатайте:
C:\>cd ..\pond
Это перенесет вас в директорию pond.
Далее, пролистайте содержание директории:
C:\pond>dir
Допустим, в этой директории находятся два файла: TOAD.COM и FLY.COM.
TOAD.COM - вирус, а FLY.COM - файл, который мы собираемся инфицировать.
Для большей демонстрации нам нужен файл, который меньше вируса. Теперь
напечатайте:
C:\pond>toad
Перед вами появится сообщение, определенное в wart. Снова осмотрите
содержание директории. Вы увидите, что оба файла имеют одинаковый размер.
FLY.COM заражен.
Наш вирус заражает файлы даже в том случае, если они уже были заражены.
61
Варфоломей Собейкис. АЗБУКА ХАКЕРА-3
Механизм поиска
Каким же образом вирус ищет новые файлы для инфекции? Давайте углубимся в
эту тему и посмотрим на то, как DOS сохраняет файлы и информацию о
файлах.
Вся информация о каждом файле на диске сохраняется в двух областях,
известных как директория и FAT (File Allocation Table - таблица
размещения файлов). Директория содержит 32-байтовую запись файлового
дескриптора для каждого файла (см. рис. 4).
Эта запись дескриптора содержит имя и расширение файла, его размер, дату
и время создания, а также файловый атрибут, который включает в себя
важную информацию о том, как операционная система должна управлять этим
файлом.
FAT - карта всего диска. Она информирует операционную систему о том,
Предыдущая << 1 .. 14 15 16 17 18 19 < 20 > 21 22 23 24 25 26 .. 123 >> Следующая