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

Чтобы ограничить область видимости, допустим, что мы только в мире Windows.

Также предположим, что мы не хотим играть с политикой разрешений.

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

Спасибо заранее.

Ответ 1

Нет. Вы не можете создать файл, который SYSADMIN не может скопировать. Вы могли бы зашифровать его.

Ответ 2

"Попытка сделать цифровые файлы недоступными - это как попытка сделать воду не мокрой". ~ Брюс Шнайер

Ответ 3

Хорошо, как насчет создания файла, который использует более 50% от общего объема на этой машине и не сжимается? Например, предположим, что вы хотите сохранить логическое (истинное или ложное) таким образом. В зависимости от его значения вы могли бы записать бит-поток one или zero es и зашифровать указанный поток, используя какой-то алгоритм шифрования, такой как AES в режиме CBC. Это дает вам дополнительное преимущество исправления ошибок. Даже в случае массивного повреждения данных вы сможете восстановить логическое значение, проверив, являются ли one или zero es в дешифрованном потоке. В этом случае вы не можете копировать его (полностью) на машине... Конечно, любой тип внешней памяти, который может быть добавлен в систему, будет представлять проблему в этом сценарии. Но файл уже зашифрован, поэтому не беспокойтесь об этом слишком много...

Ответ 4

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

Единственное, что вы можете сделать, это ограничить, кто/что может прочитать файл.

Ответ 5

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

Ответ 6

Хорошая попытка, RIAA.

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

Если вы действительно сильно стараетесь, вы делаете холодный набор корневых элементов для окон и используете его, чтобы окна не знали даже о файле, а также предотвращали копии. Файл все равно будет доступен и может быть скопирован другими инструментами или Linux, доступ к ntfs.

Ответ 7

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

Ответ 8

Короткий ответ: Нет.

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

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

Что об этом.

Ответ 9

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

Ответ 10

Если вы работаете с старыми (OLD) версиями окон, есть определенные символы, которые вы можете поместить в имя файла, которые делают его недействительным, а не перечислены в папках и т.д. Они много использовались в старых пабах ftp-дней обмена файлами;)

Ответ 11

В старые дни DOS вы использовали флагом дисковых секторов как плохие и по-прежнему читали их. Это означало, что ОС игнорирует данный сектор, но ваше приложение будет знать, где искать и иметь возможность получать данные. Не уверен, что это будет работать в наши дни.

Другой старый трюк MS-DOS состоял в том, чтобы поместить символ пробела в середину имени файла (да, пробелы были действительными символами для имен файлов). Поскольку в командной строке не было способа избежать пробела, файл не мог быть скопирован с помощью команд DOS.

Ответ 12

Этот ответ находится за пределами Windows, поэтому да

Не знаю, было ли уже сказано, но как насчет файла, который является неотъемлемой частью прошивки, так что он всегда включен и работает, возможно, у него есть прошивка, которая генерирует последовательность, которая требуется для другой. AN incedental эффект его работы заключается в том, чтобы предотвратить копирование кода на 80% или более. Предположим, что он находится на совершенно другой плате, защищенной защитой от перенапряжений, защитой от тяжелых взрывов и всем остальным, что необходимо для того, чтобы сделать ее совершенно неработоспособной.
Если это возможно сделать программу, которая ВСЕГДА работает и работает, пока работает программа копирования, тогда да.

У меня есть другой способ, и это IS с окнами. Я приду к вам домой и дам вам диск, и тогда я приступлю к уничтожению каждого компьютера, на который вы положили диск. Это не работает на XP

Ответ 13

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