Довольно хорошая технология создания исполняемых файлов с помощью Блокнота или любого другого текстового редактора. bat-файлы (батники) помогают системным администраторам в автоматизации некоторых процессов.
Информацию о том, как создать bat-файлы, а также некоторые их примеры, вы найдете в этом совете.
Для того что бы упростить себе жизнь можно воспользоваться bat-файлами ( батниками ), но для этого нужно знать что писать. Можно почитать [hide] информацию от разработчиков [/hide] , да и [hide] эта ссылка [/hide] не помешает, а самый простой способ в командной строке набрать «help» — это выведет список основных действий, после этого запускаете заинтересовавшие Вас действие с параметром «del /?»
При написании батника советую использовать команду «PAUSE» она позволит отслеживать работу алгоритма Вашей программы. В случае когда код программы становиться очень большой становиться необходимо оставлять комментарии, для этих целей используется двоеточие «:». Некоторые функции требуют подтверждения например удаление файлов, что бы автоматизировать ответ используется «|», а строка кода выглядит так:
Краткий курс cmd и о том как создать пакетный файл bat
Батник приведенный ниже выполняет две функции — подключает сетевой диск и чистит папку Temp:
Источник: ithowto.ru
Код программы на bat
Сообщений: n/a
Благодарностей:
0 всего
Что такое *.bat и с чем его едят ?
Пакетный файл (англ. batch file) — текстовый файл в MS-DOS, OS/2 или Windows, содержащий последовательность команд, предназначенных для исполнения командным интерпретатором. После запуска пакетного файла, программа — интерпретатор (как правило COMMAND.COM или CMD.EXE) читает его строка за строкой и последовательно исполняет команды. Пакетный файл — аналог shell script в Unix-подобных операционных системах.
bat и cmd файлы | УРОК 1
Пакетные файлы полезны для автоматического запуска приложений. Основная область применения — автоматизация наиболее рутинных операций, что регулярно приходится совершать пользователю компьютера. Примерами таких операций могут служить — обработка текстовых файлов; копирование, перемещение, переименование, удаление файлов; работа с папками; архивация; создание резервных копий баз данных и т. п. Пакетные файлы поддерживают операторы if и goto (а в системах семейства Windows NT и расширенный оператор for), что позволяет обрабатывать результаты выполнения предыдущих команд или приложений и в зависимости от этого выполнять дальше тот или иной блок команд (как правило, в случае удачного завершения приложение возвращает 0 в переменной errorlevel; в случае неудачного — 1 или большее значение).
Пакетные файлы в DOS имеют расширение .bat; для других операционных систем они могут иметь другие расширения — например, .CMD в Windows NT и OS/2, или .BTM в 4DOS или подобных оболочках.
Пакетные файлы могут содержать как внутренние команды, обрабатываемые непосредственно COMMAND.COM или CMD.EXE, так и обращения к внешним утилитам, существующим в виде отдельных программ (.EXE файлов). Данные программы значительно расширяют возможности пакетных файлов.
Для такого чтобы создать файл *.bat нажимаем «Файл» выбираем строку «Сохранить как…» в поле «Имя файла:» пишем название нашего файла например «проба» и даём ему расширение .bat у нас должно получиться «проба.bat», жмём на кнопку «Сохранить». Потом ищем наш файл нажимаем на него правой кнопкой мыши, вылетает контекстное меню, выбираем там «Изменить» и соответственно нажимаем, и опять наш bat файл будет загружен в блокнот.
Пример простого пакетного файла:
Что тут происходит?
😡 — ставим метку
start mspaint — команда которая открывает пейнт
goto x — возвращаемся к метке 😡
ASSOC — Отображает или модифицирует связи расширений файлов
AT — Планирует команды и программы для выполнения на компьютере.
ATTRIB — Отображает или изменяет атрибуты файла.
BREAK — Устанавливает или отменяет проверку комбинации [Ctrl+C].
CACLS — Отображает или модифицирует списки управления доступом (ACLs) для файлов.
CALL — Вызывает один *.BAT-файл из другого.
CD — Отображает имя или изменяет имя текущей директории.
CHCP — Отображает или устанавливает номер активной кодовой страницы.
CHDIR — Отображает имя или изменяет имя текущей директории.
CHKDSK — Проверяет диск и отображает отчет о состоянии.
CLS — Очищает экран.
CMD — Стартует новый экземпляр интерпретатора команд Windows NT.
COLOR — Устанавливает цвета по умолчанию для переднего и заднего плана консоли.
COMMAND — Стартует новую копию интерпретатора команд Windows.
COMP — Сравнивает содержимое двух файлов или установки файлов.
COMPACT — Отображает или видоизменяет сжатие файлов на патрициях Windows NT(NTFS).
CONVERT — Конвертирует FAT томов к формату файловой системы Windows NT(NTFS). Вы не можете конвертировать текущий диск.
COPY — Копирует один или больше файлов на другое место.
CTTY — Изменяет терминальное устройство, используемое для управления вашей системой.
DATE — Отображает или устанавливает дату.
DEL — Удаляет один или более файлов.
DEBUG — Выполняет отладку, тестирование программ и редактирование инструментальных средств.
DIR — Отображает список файлов и поддиректорий в директории.
DISKCOMP — Сравнивает содержимое двух дискет.
DISKCOPY — Копирует содержимое одной дискеты на другую.
DOSKEY — Редактирует командные строки, восстанавливает команды Windows и создает макрос.
ECHO — Отображает сообщения, или включает/выключает вывод команд.
EMM386 — Включает/выключает поддержку расширенной памяти EMM386.
ENDLOCAL — Заканчивает локализацию изменений окружающей среды в *.BAT-файле.
ERASE — Удаляет один или более файлов.
EXIT — Прекращает выполнение программы (интерпретатор команд).
EXTRACT — Средство извлечения информации из CAB — файлов.
FC — Сравнивает два файла или установки файлов, и отображает различие между ними.
FIND — Ищет текстовую строку в файле или файлах.
FINDSTR — Поиск строк в файлах.
FOR — Выполняет указанную команду для каждого файла в наборе файлов.
FORMAT — Форматирует диск для использования с Windows.
FTYPE — Отображает или модифицирует типы файлов, используемых в связях расширений.
GOTO — Направляет интерпретатор команд Windows NT к помеченной строке в *.BAT-файле.
GRAFTABL — Способность Windows отображать символы псевдографики, вставленные в графическом режиме.
HELP — Обеспечивает информацию Help для команд Windows.
IF — Выполняет обработку условия в *.BAT-файле.
KEYB — Конфигурирует клавиатуру для заданного языка.
LABEL — Создает, изменяет, или удаляет метку тома на диске.
LOADHIGH(LH) — Загружает программу в верхние адреса памяти.
MD — Создает директорию.
MEM — Отображает величину используемой и свободной памяти в вашей системе.
MKDIR — Создает директорию.
MODE — Конфигурирует системное устройство.
MORE — Отображает вывод одного экрана за раз.
MOVE — Перемещает один или более файлов из одной директории в другую на том же диске.
NETSTAT — Отображает статистики протоколов и текущих сетевых соединений TCP/IP.
NLSFUNC — Загружает информацию, специфическую для страны.
PATH — Отображает или устанавливает путь поиска для выполняемых файлов.
PAUSE — Приостанавливает обработку *.BAT-файла и отображает сообщение.
POPD — Восстанавливает предыдущее значение текущей директории, сохраненной по PUSHD.
PRINT — Печатает текстовый файл.
PROMPT — Изменяет подсказку к командам Windows.
PUSHD — Сохраняет текущую директорию, потом изменяет.
RD — Удаляет директорию.
RECOVER — Восстанавливает читаемую информацию с плохого или дефектного диска.
REM — Записывает комментарии (примечания) в *.BAT-файлы или CONFIG.SYS.
REN — Переименует файл или файлы.
RENAME — Переименует файл или файлы.
REPLACE — Заменяет файлы.
RESTORE — Восстанавливает файлы, которые были архивированы с использованием команды BACKUP.
RMDIR — Удаляет директорию.
SET — Отображает, устанавливает или удаляет переменные среды Windows.
SETLOCAL — Начинает локализацию изменений среды в *.BAT-файле.
SETVER — Устанавливает номер версии MS-DOS, который Windows сообщает программе.
SHIFT — Сдвигает позицию замещаемых параметров в *.BAT-файле.
SMARTDRV — Инсталлирует и конфигурирует утилиту кэширования диска SMART — драйва.
SORT — Сортирует входной поток.
START — Стартует отдельное окно для выполнения указанной программы или команды.
SUBST — Связывает путь с литерой диска.
SYS — Копирует файлы системы MS-DOS и интерпретатор команд на указанный вами диск.
TIME — Отображает или устанавливает системное время.
TITLE — Устанавливает заголовок окна для сеанса .
TREE — Графически отображает структуру директория в драйве или путь.
TYPE — Отображает содержимое текстового файла.
VER — Отображает версию Windows.
VERIFY — Сообщает Windows, проверять ли правильность записи файлов на диск.
VOL — Отображает метку дискового тома и серийный номер.
XCOPY — Копирует файлы и деревья директории.
Источник: www.rf-cheats.ru
Bat вирус | Бат вирус. Команды
! Внимание. Вся приведенная информация в статье приводится ИСКЛЮЧИТЕЛЬНО в образовательных целях. Вся информация взята из открытых источников, в том числе из справки Майкрософт !
Что такое BAT вирус (БАТ вирус)
Прежде — .bat это расширение для текстовых файлов с набором команд сценариев (скрипт) командного интерпретатора. В переводе с английского — batch file означает пакетный файл. Имеет синтаксис наиболее близок к набору команд древней ОС MS DOS (ныне — подсистема ОС Windows). Используется для автоматизации некоторых процессов, например, запуск программ с определенными параметрами .
БАТ, как скриптовый язык программирования, является достаточно примитивным и значительно уступает даже таким языкам сценариев, как VBS ( Visual Basic Script ). Но пакетные файлы позволяют выполнять достаточно большой объем задач, чтобы создавать на них различных зловредов. Например, можно в пакетном файле прописать команды для удаления системных файлов, что может привести к нестабильности работы системы. Подобное действие — удаление чего-либо, может выполниться и вручную. Скрипт позволяет это автоматизировать.
Важное уточнение. В батниках можно реализовать различные типы зловредов. Это могут быть программы-шутники, которые будут «подшучивать» над пользователем, например, прятать курсор мышки или выполнять перезагрузку компьютера. Такие скрипты будут скорее относиться к категории троянов — программ, выполняющие скрытые, часто небезопасные действия.
Цель же этой статьи — скрипты, которые будут относиться к категории компьютерных вирусов. То есть программы, которые будут находить определенные типы файлов и заражать их. По способу заражения наш скрипт будет соответствовать опасным нерезидентным вирусам. Наша программа будет пролистать все папки, начиная с корня диска С:\, производя поиск других батников, замещать собой код (текст) атакуемого файла. Нерезидентный означает, что наш зловред будет получать управление только при непосредственном запуске, без возможности находиться постоянно в памяти компьютера.
Также обрати внимание — далее скрипт БАТ вируса будет приведен по частям. Сделано это по причине того, что все директивы, написанные вместе могут детектироваться как вредоносная программа и блокироваться антивирусами или встроенным защитником Windows. Приведенной информации вполне хватит, чтобы собрать своего «зверя».
Команды BAT вируса
Это наша первая команда, которая будет «возглавлять» наш код. Она означает, что при чтении командным интерпретатором нашего батника не будет выводиться на экран его содержимое. Без этой команды на экране компьютера появлялось бы все, что находится внутри сценария. Даже то, что не должно выводиться.
set filet=»*.bat»
Команда set объявляет переменную filet. В этой переменной будет маска для поиска, в нашем случае это файлы с расширением .bat. Можно обойтись и без использовании переменной, но используем эту строчку.
cd C:\
Команда cd меняет текущий каталог. По умолчанию — текущий каталог тот, в котором находится наш батник. Если мы не используем эту команду, то наш БАТ вирус будет искать «цели» для атаки начиная с текущего каталога. Для того, чтобы охватить весь компьютер, мы указываем нашему сценарию, что нужно начинать с корня диска С:\.
Поиск файлов
Находить «цели» мы будем с помощью следующего кода:
FOR /r %%a IN (%filet%) DO ( )
На первый взгляд, это непонятная конструкция, но на самом деле все просто.
Директива FOR указывает нашему сценарию многократное выполнение команд. В нашем случае это поиск всех «целей» в каталоге, после работы с ними переходить к следующему каталогу.
Далее мы вместо терминов «директива» или «команда» относительно FOR будем использовать термин «конструкция», так как будет подразумеваться не только команда FOR, но и ее параметры.
Параметр /r означает, что программа «работает» не только с текущим каталогом, но и со всеми подкаталогами.
Это переменная нашей конструкции FOR. Вернее, здесь переменная одиночная буква (a). Знак процента (%) указывает, что это не просто буква, а переменная. Двойной знак процента (%%) необходим при работе в конструкции FOR. Также особенность использования переменных в конструкции FOR — использование только одиночных букв.
IN (%filet%)
Здесь мы указываем на параметр конструкции для поиска «целей». Ранее мы объявляли переменную filet, в которой находится значение «.bat». Знак процента (%) с обеих сторон переменной это требования работы с переменными в батниках. Можно было сократить код и обойтись без переменных, но это один из вариантов и в нем есть свои плюсы (отладка, например).
Здесь, в круглых скобках, прописывается код, который нужно выполнить.
Изучение FOR
Чтобы лучше понять, что делается в нашей конструкции FOR, немного отойдем от темы. Изучим работу этой команды. Для этого используем еще одну директиву:
echo
Эта команда будет использоваться для вывода на экран сообщений. Ранее мы запрещали командному интерпретатору выводить на экран то, что тот будет читать в нашем скрипте. Директива echo будет указывать, что можно показывать.
FOR /r %%a IN (*.bat) DO ( echo %%a )
Этот скрипт покажет все файлы с расширением .bat в том каталоге, в котором находится наш батник. Заметь — мы не использовали переменной filet. Вместо этого мы напрямую указали ее параметр.
Но после запуска наш скрипт мерцнет черным окошком DOSа и погаснет. Чтобы увидеть результат работы программы, добавим в конце команду:
pause
Эта директива останавливает выполнения сценария и будет ожидать нажатие кнопок на клавиатуре.
Если мы перед нашей конструкцией поставим директиву cd C:\, например, то наш сценарий начнет искать все с расширением .bat, начиная с корня диска C:\, то есть по всему ПК.
Ну и еще немного исследования. Вот несколько измененный сценарий:
FOR /r %%a IN (*.bat) DO echo %%a
Тот же сценарий, только без круглых скобок. Заметь — директива echo указывается на одной строке. DOS команды очень требовательны — командный интерпретатор внимательно отслеживает регистры переменных (большие или маленькие символы), пробелы и строчки.
Заражение батников
В нашем случае используем такой код:
copy %0 %%a > nul
Директива copy проводит копирование. Этой командой наш BAT вирус копирует себя вместо той «цели», что нашел. Причем под тем же именем.
Этот символ (знак процента и ноль, без пробела) означает ссылку на самого себя.
Узнал? Это наша переменная конструкции FOR, в которой находится на текущий момент путь до заражаемого файла.
Этот код скрывает результат выполнения команды copy.
Некоторые замечания по БАТ вирусу
Вот в принципе и все. Этого сценария хватает для того, чтобы найти на заражаемом компьютере все файлы нужного типа и выполнить заражение. По сути перезаписать их своим содержимым, без возможности запуска оригинального кода. Но это можно считать хоть и самым примитивным, но все же механизмом заражения.
В данном примере мы не выполняли других функций, кроме как скрытия вывода на экран результатов выполнения директив сценария, изменения текущего каталога на корень диска С:\, поиска «целей»по маске и перезапись содержимого. Мы могли, например, менять атрибуты заражаемой «цели», чтобы иметь возможность перезаписи файлов с атрибутами «только для чтения».
Или мы могли бы запоминать дату и время создания атакуемых файлов и восстанавливать их после заражения, что помогло бы скрываться в системе. Также в наш зловред мог бы прописывать себя в автозагрузку и запускаться при каждом включении компьютера. И так далее, далее, далее. Но цель не в создании «супер» BAT вируса, а только демонстрация основных моментов.
Указанный выше зловред тестировался под ОС Windows 10. В целом, набор команд актуален для всех версий Windows (но это не точно).
При разработки кода возникла интересная ситуация — одна из версий батника была опознана встроенным защитником как вредоносная программа. Все дело в том, что некоторые наборы директив не используются обычными пользователями и характерны для вредоносных программ. Опасный скрипт (по версии встроенного защитника), в конструкции FOR, после слова DO содержал директиву copy (без круглых скобок). Такой сокращенный вариант показался встроенному защитнику опасным. Но после того, как мы несколько изменили код (после слова DO добавили круглые скобки), встроенный защитник перестал ругаться, хоть логика нашего БАТ вируса осталась прежней.
Поделиться в соц сетях
Похожие записи
- Как изменить способности компьютера
- Программирование на ассемблере под PocketPC
- Win32ASM: «Hello, World» и три халявы MASM32
- Атака переполнения буфера
Источник: sciencestory.ru