Создаем невозможное, или функционал cmd

  1. Сегодня я вам расскажу о недавно найденных возможностях командной строки Windows. Возможности довольно интересны как в плане существования самих этих возможностей, так и в пане вариантов их использования.

    Итак:
    1. Создаем папку имя которой содержит пробел на конце (в начале);
    2. Создаем папку, имя которой заканчивается на точку ".";
    3. Создаем папки с системными именами.

    Зачем это нужно? А вот зачем:
    1. Папки с пробелами на конце (в начале) имени удаляются в последнюю очередь, т.е. если пользователь захочет удалить папку с пробелом в конце имени, вместо нее удалится такая же, но не содержащая пробела. Пробел заметить бывает очень сложно;
    2. Папки с точкой в конце имени не удаляются обычными методами (поможет только Unlocker, и знание возможностей командной строки). В эту папку можно попробовать запихнуть всякую шляпу (автор этого не делал), и запускать оттуда. Зайти в папку для просмотра содержимого невозможно!;
    3. Папки с системными именами (LPT1, COMx (где x - от 1 до 9), CON, PRN) вроде и не примечательны по имени, но не удаляются обычными методами.

    Приступим: на самом деле все просто!
    Нам понадобится всего одна команда, применяя которую можно создавать подобное:
    Код:
    [COLOR="green"]md[/COLOR] [COLOR="Green"]"\\?\[/COLOR][B]путь_к_создаваемой_папке[/B][COLOR="green"]\"[/COLOR]
    Где путь_к_создаваемой_папке - полный путь к вашему каталогу, например: "c:\windows " (в конце пробел). Теперь вся команда будет выглядеть так:
    Код:
    [COLOR="green"]md[/COLOR] [COLOR="Green"]"\\?\[/COLOR][B]c:\windows [/B][COLOR="green"]\"[/COLOR]
    Данная команда создаст папку windows с пробелом в конце. Когда пользователь захочет ее удалить, Винда спросит разрешение, и когда пользователь согласится - папке Windows (без пробела) придет трындец! Поудаляется куча всего, что не заблокировано процессами!

    Вместо пробела можно указать точку, и тогда заглянуть в эту папку пользователь не сможет никак.
    Код:
    [COLOR="green"]md[/COLOR] [COLOR="Green"]"\\?\[/COLOR][B]c:\windows.[/B][COLOR="green"]\"[/COLOR]
    Далее: имена LPT1, COMx (где x - от 1 до 9), CON, PRN - зарезервированы системой, их создавать нельзя. Но только не ранее описанной командой! Данные имена каталогов совсем не вызывают подозрений, но запихнуть в нее можно всякой всячины. Плюс пользователь не сможет ее удалить!
    Код:
    [COLOR="green"]md[/COLOR] [COLOR="Green"]"\\?\[/COLOR][B]c:\con[/B][COLOR="green"]\"[/COLOR]
    Вот и вся арифметика! Данная статья не учит как надо делать, а учит - чего стоит ожидать, и где искать угрозу!

    P.S. Ах да! Совсем забыл. Все это дело удаляется одной простой командой:
    Код:
    [COLOR="green"]rd[/COLOR] [COLOR="Green"]"\\?\[/COLOR][B]путь_к_неудаляемой_папке[/B][COLOR="green"]\"[/COLOR]
    Либо пользуйте Unlocker.

    P.P.S. Если в созданном вами каталоге создать файл какого-либо содержания:
    Код:
    [COLOR="green"]copy con[/COLOR] [COLOR="Green"]"\\?\[/COLOR][B]путь_к_неудаляемой_папке[/B][COLOR="green"]\[/COLOR][B]test.txt[/B]"
    [I]Пишем любой текст...[/I]
    Нажимаем Ctrl+Z, и Enter.
    Теперь вашу неудаляемую_папку не удалить НИКАК, даже Unlocker'ом!
    Понимаете я к чему? Файл ведь может быть не только txt, но и батником с командами!​

    Автор: Владимир Мефисто
     
    4 пользователям это понравилось.
  2. Mei
    LiveCD Ubuntu ;)
     
  3. Да, лайвсиди тоже поможет))

    Хотя если ты пользуешься никсами, то и данная статья тебе не нужна)
     
  4. Добавлю: каталоги даже с файлами удаляет команда:
    Код:
    [B][COLOR="DarkGreen"]rd /S /Q[/COLOR][/B] "[I][COLOR="Navy"]\\?\путь_к_неудаляемой_папке\[/COLOR][/I]"
     
  5. Создал папку тест засунул туда файл,создал папку тест пробел.Попробовал удалить пишет что не удается удалить папка не пуста.Удалил фаил из папки тест и удалось удалить папку тест с пробелом,но теперь не удалить папку тест))Как я понимаю это баги Файловой системы?Как добавить атрибуты к папке скрытый.системный...Может у кого есть ссылка на хороший мануал для нубов?