В системе Windows присутствуют правила запрета для определенных файлов и их расширений. Среди таких запретов:
- некоторые расширения файлов зарезервированы под DOS-устройства: AUX, CON, NUL, PRN, COM1-COM9, LPT1-LPT9.
То есть нельзя дать какому-то файлу такие расширения. Возникают проблемы также в случае их удаления и т.п.;
- нельзя использовать в именах фалов следующие символы: "\" "/" "?" "|" "*" "<" ">" ":"
- нельзя использовать в начале и конце имени файла, папки двоеточие или точку, а также невозможно создать файл ".."
Известны способы обхода этих ограничений.
1. UNC-префикс - перед началом пути файла добавить четыре символа "\\?\" Например, так: "\\?\C:\folder\file.txt Этот способ работает через командную строку без использования каких-либо компиляторов.Набранная в командной строке команда "type \\?\f:\test\prn" отобразить содержимое созданного файла.
2.При использовании функций MoveFile, CopyFile, MkDir, RmDir подставить в конец нового названия файла или каталога два символа ".\" - то создастся файл с любым нужным нам именем. Если в командной строке набрать команду:
mkdir .STRANGE..\
то появится каталог, имя которого будет
.STRANGE.
Этот каталог будет виден в Проводнике, но его нельзя будет открыть, удалить, переименовать и т.п.
Что это дает?
1. Содержимое папки .STRANGE. можно увидеть только из командной строки. Если создать папку "..", то она перестает быть видна вообще, кроме как из командной строки. Но в ней можно создавать файлы, используя способ №1, а чтобы получить к ним доступ надо знать минимум их имена. При этом средставми Windows узнать эти имена нельзя.
То есть спрятать можно все, что считаешь нужным. Безопасность не хуже архива с паролем :)
2. Если создать файл, содержащий информацию, в "..", то он перестает быть виден в Проводнике, кроме как из командной строки или файловых менеджерах. Но если его создать в корневом каталоге, то и файловые менеджеры также его не смогут увидеть.
3. Если на компе ламера создать файлы ".." или с именами DOS-устройств на 4 Гб, они сделаются невидимыми и бедному ушастому придется в лучшем случае форматировать диск ;)
4. Можно поместить в папку вирус, переименовать его в ".." или "aux". Антивирусы не смогут его определить, а увидеть его в Проводнике-не увидишь
https://vk.com/wall-86450324_546