如何创建自我过期的文件

时间:2013-03-05 05:56:03

标签: c# c++ file-format

我需要使用桌面软件控制STL文件的使用。(我将开发软件)。它可以是C ++或C#。

此处STL文件是指用于3D打印的STereoLithography文件。

受控使用情况,指经销商指定的使用情况。所以它可以是1天,2小时,或者经销商认为合适的任何东西。用户收到文件后,文件将自动过期。

任何想法都应该受到赞赏。

2 个答案:

答案 0 :(得分:1)

我查看了STL标准定义,看起来可能很难在其中嵌入一些许可证数据。我想到的一些选择是:

a)创建自己的格式作为STL的超集,包括一些嵌入式许可证数据。您必须限制使用"清除" STL文件,因为用户可能已经解压缩了文件的数据部分并将其保存为简单的STL文件。

b)使用您自己的结构(包括许可证)创建您自己的格式。它将提取数据的难度大于a)。

c)让程序从您的服务器下载数据 - 许可证测试将在您身边。确保硬盘上没有保存数据,否则用户可以再次提取数据并将文件保存在其他地方

d)(首选)不执行任何安全措施(确定的破解程序最终会破坏它们,因为在某些时候您必须将未加密的STL数据存储在光盘或内存中,因此可以访问它)。相反,请正确许可您的文件。

请记住,没有安全措施,不能打破。它对您的客户来说更有价值,您花时间开发新功能,而不是实施新的安全措施,这将惹恼合法用户,最终将被不公平的用户所忽视。

答案 1 :(得分:0)

文件不会自行过期(除非我们讨论的是错误的存储介质),并且访问它们需要受到软件或软件和硬件组合的限制。

如果您计划在任何一个点上公开提供STL文件(例如,当用户尝试在查看器或编辑器中打开它们时),则无法隐藏或阻止其内容复制。

即使你将它们与一个程序捆绑在一起,这个程序可以从编辑器启动时从它自己中提取它们或从你的网站获取它们并在它自动退出时删除它们,编辑器仍然可以将副本保存为不同的文件(它甚至可以自动保存临时/备份副本)。

保护这些文件不被复制的一种方法是让它们在你的程序中可用,而不是在它之外,如果你的程序没有让用户确定它们是否正常,这可能会使文件完全失效(我在想,1 day, 2 hour, or whatever暗示某种试用版本)。但即便如此,他们仍然可以在熟练的黑客运行时从中提取它们。

如果操作系统支持任意文件的DRM以及您感兴趣的方式,则可以使用OS DRM功能来控制文件复制和生命周期。不幸的是,我没有这方面的实际知识来指出这种解决方案的方向。

另一种选择是在开放时分发文件,但是在其中嵌入某种水印,每个用户/许可证都是唯一的,并且能够经受一定量的编辑。这并不能解决所有问题,但如果一个副本开始在线传播,你就可以告诉谁“泄露”它并追踪它们。

无论如何,只要有足够的时间和技能,就可以规避所有保护。如果你不能打破它,那并不意味着别人无法打破它。