要限制范围,请假设我们仅在Windows世界中。
还假设我们不想使用权限政策。
我们是否可以创建无法复制的文件?
提前谢谢。
答案 0 :(得分:15)
没有。您无法创建SYSADMIN无法复制的文件。不过你可以加密它。
答案 1 :(得分:14)
“试图让数字文件不可复制就像试图让水不湿。” 〜布鲁斯施奈尔
答案 2 :(得分:10)
那么,如何在该机器上创建一个占用超过总空间50%的文件并且不可压缩?
例如,让我们假设您想以这种方式保存布尔值(true或false)。
根据其值,您可以编写one
或zero
es的比特流,并使用某种加密算法加密所述流,例如CBC模式下的AES。这为您提供了纠错的附加优势。即使在大量数据损坏的情况下,您也应该能够通过检查解密流中one
或zero
es是否普遍来恢复您的布尔值。
在这种情况下,你不能(完全)在机器上复制它...
当然,可以添加到系统中的任何类型的外部存储器都会在这种情况下造成问题。但是文件已经加密了,所以不要太担心......
答案 3 :(得分:4)
任何可以读取的文件都可以将其内容写入另一个位置(例如另一个文件,即复制)。
你唯一能做的就是限制谁/什么可以读取文件。
答案 4 :(得分:2)
背后的动机是什么?如果它是只读文件,则可以将其作为程序集中的嵌入资源。
答案 5 :(得分:2)
很好的尝试,RIAA。
但严重的是,不,你不能。总是可以复制,你可以让人们更难理解文件或尝试使用加密来隐藏文件。 Spotify做到了。
如果你真的很努力,你就会为Windows制作一个root工具包并使用它来防止Windows甚至不知道文件并防止复制。该文件仍然存在,可以通过其他工具或Linux访问ntfs进行复制。
答案 6 :(得分:2)
如果在正在运行的进程中打开文件并持有独占锁,则在关闭句柄或进程终止之前,其他进程无法读取该文件。但是,作为管理员,您可以强行删除锁定句柄。
答案 7 :(得分:1)
简短回答:不。
当然,您可以使用安全设置来限制谁可以读取文件。但如果有人可以阅读它,那么他们可以复制它。即使你发现一些操作系统技巧来禁用“普通”复制,如果有人可以读取文件,他们可以提取内容,将其存储在内存中,然后将其写入其他地方。
您可以对内容进行加密,使其仅对您自己的程序有用,该程序知道如何解密它。
就是这样。
答案 8 :(得分:1)
当使用Windows 7从硬盘驱动器复制某些文件时,某些文件会弹出一条消息,说明它们无法完整复制;某些数据将从副本中删除。我怀疑这与文件末尾的松弛空间有关,尽管我认为这条消息很奇怪。我本以为复制操作只是忽略了松弛的空间。
答案 9 :(得分:1)
如果您正在运行旧版(旧版)的Windows,那么您可以在文件名中放入某些字符使其无效,未在文件夹中列出等。它们在文件共享的旧版本ftp天使用了很多;)
答案 10 :(得分:1)
在旧的DOS时代,您曾经能够将磁盘扇区标记为坏并仍然从它们读取。这意味着操作系统忽略了有问题的扇区,但您的应用程序会知道在哪里查看并能够获取数据。这些天不确定这会有用。
另一个旧的MS-DOS技巧是在文件名中间放置一个空格字符(是的,空格是文件名的有效字符)。由于命令行上没有方法来转义空格,因此无法使用DOS命令复制该文件。
答案 11 :(得分:0)
这个答案在Windows之外,所以是的
不知道是否已经说过了,但是如果一个文件是固件不可分割的部分,那么它总是在运行并运行,也许它有固件生成另一个所需的序列。其运行的一个优点是防止任何80%或更多的代码被复制。让我们说它在一个完全不同的板上,受到电涌保护器的保护,重型防护屏蔽以及使其完全不可擦除所需的任何其他东西。
如果只要复制软件运行就可以使程序始终打开并运行,那么是。
我有另一种方式,这是与Windows。我会到你家来给你一个磁盘,然后我将继续销毁你放入磁盘的每台计算机。这不适用于XP
答案 12 :(得分:-2)
从技术上讲,您可以创建并写入只写网络共享。