воскресенье, 2 января 2011 г.

Азбука параноика. Часть 1

Скрываем информацию с помощью обхода ограничений FAT32

Сегодня я расскажу как создать невидимый для Windows-систем каталог и хранить в нем файлы. Для этого нам не потребуется никаких дополнительных программ.

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

В качестве примера: зайдите проводником Windows в любой каталог и посмотрите его структуру, после зайдите в этот же каталог файловым менеджером (например FAR, Norton Commander, Volcov Commander). Увидели? В каждом каталоге в самом верху есть эти самые ..




Отсюда задача - создать каталог с именем "..". Попробовали? Не получилось? Windows не даст создать такой каталог. Но такой каталог можно создать средствами DOS. Единственным условием является файловая система FAT32 (в NTFS такой фокус не пройдет, но для NTFS есть свои фокусы, о которых я напишу в следующих статьях).

Итак.
запускаем командную строку DOS (Пуск - Выполнить - вводим cmd и жмем ок)

Каталоги в DOS создаются коммандой MKDIR (или же просто MD).

Синтаксис такой:
md диск:\путь\имя_каталога

Пробуем создать. Оп! Отказано в доступе. Вот мы и увидели ограничения FAT32 на имена каталогов в действии. Сейчас мы будем их обходить. И поможет нам в этом простая конструкция ".\" (без кавычек). Эта конструкция, добавленая к имени каталога, который нельза создавать позволяет его создать.
Попробуйте
md C:\...\

Ничего не произошло? Ошибаетесь. Теперь у вас в корне диска С есть каталог .. Но его не видно ни в Проводнике Windows, ни в файловых менджерах. Но он есть! Попробуйте просмотреть содержимое диска С в командной строке DOS

dir C:\

Видите .. с меткой <DIR>? Это и есть наш тайный каталог. Увидеть его можно только командой DIR.




ОК. У нас есть скрытый каталог, но мы не можем в него зайти и скопировать в него файлы. Точнее можем, но пока не умеем. Копировать файлы в этот каталог, равно как и из него можно стандартными DOS командами.

----------------------------------------------------------------------------
Копирование файлов.
Команда: copy
Формат: copy диск:\путь\имя_копируемого_файла диск:\путь\имя_каталога
Пример:
сopy D:\xxx.txt C:\.. копировать файл xxx.txt в наш секретный каталог
----------------------------------------------------------------------------
Удаление файлов.
Команда: del
Формат: del диск:\путь\имя_файла
Пример:
Del C:\..\xxx.txt - удаление файла xxx.txt из секретного каталога.
----------------------------------------------------------------------------
Переименование файлов.
Команда: ren
Формат: ren диск:\путь\имя_файла новое_имя_файла
Пример: Ren C:\..\xxx.txt aaa.txt - изменить имя файла xxx.txt
на aaa.txt в секретном каталоге.
----------------------------------------------------------------------------

Так же в этом каталоге можно создавать подкаталоги. С каталогами в можно производить такие же операции копирования/удаления/переименования как и с файлами.

Спрятать таким образом можно 10-15% от емкости диска, на котором создан каталог, т.к. эти 10-15% можно отнести на потери от фрагментации диска (спрятать можно и больше, но тогда это будет заметно).

1 комментарий: