2010-07-29 81 views
11

为了限制范围,假设我们只在Windows世界中。是否可以创建一个无法复制的文件?

另外假设我们不想玩许可政策。

我们可以创建一个无法复制的文件吗?

预先感谢您。

+5

这是一个哲学问题?或者也许是合法的? – Armand 2010-07-29 12:16:02

+0

我不知道这个问题属于哪个类别。 :D – xport 2010-07-29 12:17:41

回答

15

不可以。您不能创建SYSADMIN无法复制的文件。不过,你可以加密它。

+1

+1好的建议 – 2010-07-29 12:18:37

+6

+1加密。 – spender 2010-07-29 12:23:03

+2

只要你有一个正在运行的进程对文件进行独占锁定,系统管理员必须至少跳过一些环节才能访问内容。 – 2010-07-29 12:37:33

4

任何可以被读取的文件都可以将其内容写入另一个位置(例如另一个文件,即被复制)。

您可以做的唯一事情是限制谁可以读取文件。

2

背后的动机是什么?如果它是只读文件,则可以将其作为程序集中的嵌入式资源。

+4

是的。理解导致这个问题的要求会好得多。也许还有另一种思考方式。 – spender 2010-07-29 12:22:36

2

不错的尝试,RIAA。

但严重的是,不,你不能。它总是可以复制,你可以让人们更难理解文件或尝试使用类似加密来隐藏文件。 Spotify做到了。

如果你真的很努力,你就会为Windows制作一个rootkit,并使用它来防止Windows甚至不知道该文件,并防止复制。该文件仍然存在,可以通过其他工具进行复制,或访问ntfs的Linux。

+0

“......你冷漠地制作一个窗口的root套件并使用它......”:如果你不是电脑的主人,你是* rootkiting *,那是完全非法的! – 2012-10-20 21:03:07

+0

没有停止索尼。 :) – rapadura 2012-10-22 18:27:28

+0

这并不合法。他们付了十二位数美元。你会自己花费那么多吗?法院很清楚:“Ity是你的*软件,但那不是你的电脑”。没有明确的用户权限,你不能修改它的行为。 – 2012-10-24 07:16:10

9

那么,如何创建一个使用了该机器上的总空间的50%以上,这是不可压缩的文件?例如,假设您想要以这种方式保存布尔值(true或false)。 根据其值,您可以编写one s或zero es的位流,并使用某种加密算法(如CBC模式下的AES)加密所述流。这为您提供了纠错的附加优势。即使在大量数据损坏的情况下,您也应该能够通过检查one s或zero es在解密流中是否流行来恢复您的布尔值。 在这种情况下,您无法将其复制到机器上(完全)...... 当然,任何可以添加到系统中的外部存储器都会在这种情况下出现问题。但是,该文件将已经加密的,所以不要担心太多...

+4

在盒子外面思考.. – 2010-07-29 12:37:41

+0

-1考虑到今天硬盘计算机的大小,我不认为写几百GB大的文件是OP正在寻找的东西。 – PeterK 2010-07-29 12:40:51

+0

不要认为加密250 GB来保存布尔或whatevever(假设硬盘的容量为500 GB9)是不切实际的,当系统有多个磁盘/分区时,你会怎么做? – 2010-07-29 13:07:26

-2

那么技术上你可以创建并写入到只写网络共享。

1

如果在运行过​​程中,你打开一个文件,并持有一个排它锁,那么其他进程不能,直到关闭手柄或进程终止读取文件。但是,作为管理员,您可以强制移除锁定手柄。

14

“试图让数字文件不可复制是想使水不湿。” 〜布鲁斯

+2

我听到布鲁斯 – Ken 2010-07-29 15:23:12

+3

Chuck Norris可以通过查看它不会弄湿 – JLWarlow 2010-07-29 15:31:54

1

简短的回答:第

你可以,当然,使用安全设置来限制谁可以读取该文件。但是如果有人可以阅读它,那么他们可以复制它。即使你发现某些操作系统技巧来禁用“普通”复制,如果有人可以读取该文件,他们可以提取内容,将其存储在内存中,然后写入其他地方。

你可以加密内容,所以它只对你自己的程序有用,它知道如何解密它。

就是这样。

1

当使用Windows 7从硬盘中复制某些文件时,某些文件会弹出一条消息,指出它们无法完整复制;副本中将省略某些数据。我怀疑这与文件尾部的松散空间有关,尽管我认为这个消息很好奇。我本来希望复制操作只是忽略松弛空间。

+0

您可以使用LockFileEx锁定文件中的字节范围 – 2010-07-30 06:48:57

+0

您正在讨论将NTFS备用流复制到非NTFS文件系统 – SLaks 2011-09-05 14:11:32

1

如果您运行的是Windows的老(旧)的版本,也有一定的字符,你可以把在使其无效,不列于文件夹,等他们老酒馆FTP天用了很多的文件名文件共享;)

1

在旧的DOS日期中,您曾经能够将磁盘扇区标记为坏并仍然从中读取。这意味着操作系统忽略了有问题的部门,但是您的应用程序会知道在哪里寻找并能够获取数据。不确定这些日子会起作用。

另一个老的MS-DOS技巧是将空格字符放在文件名的中间(是的,空格是文件名的有效字符)。由于命令行上没有方法来转义空间,因此无法使用DOS命令复制该文件。

+0

“由于在命令行中没有方法来转义空间......“不正确,只需包装字符串即可复制“我的file.xtx”“ur文件.txt”'从DOS 2.0开始有效 – 2012-10-20 20:58:35

0

这个答案是外部Windows所以是

不知道它已经说过,但有关文件,该文件是固件的inseperable部分,以便使其始终开启,运行的是什么,也许它的固件生成另一个需要的序列。其运行的前因后果是阻止任何80%或更多的代码被复制。让我们在一个完全不同的电路板上说,它由浪涌保护器,重防电磁屏蔽和其他任何必须使其完全不可擦除的保护。
只要复制软件正在运行,是否有可能创建一个始终处于运行状态的程序,然后是。

我有另一种方式,这是与Windows。我会来你家,给你一张磁盘,然后我将继续销毁你把磁盘放进去的每一台电脑。这不工作在XP

+0

或者如果您发现该文件中的最小唯一字符串数据(与其他内容相比)和创建了一个程序,该程序不断搜索该字符串的所有新进程,并在完成之前停止使用该字符串创建任何文件。我不知道这将是什么样的数据 - 直二进制? idk im插画 你可以让程序多花几个字来补偿那些字符串的新文件,尽管这里没有新的文件。 – 2014-09-04 05:21:23

相关问题