0

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

这里的 STL 文件是指StereoLithography文件,用于 3D 打印。

受控使用,是指经销商指定的使用。因此,它可以是 1 天、2 小时或经销商认为合适的任何时间。文件将在用户收到后自行过期。

任何想法都将不胜感激。

4

2 回答 2

1

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

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

b) 使用您自己的结构(包括许可证)创建您自己的格式。这将使提取数据比 a) 点更难。

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

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

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

于 2013-03-05T06:06:48.057 回答
0

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

如果您计划让 STL 文件在任何时候都可以公开使用(例如,当用户试图在查看器或编辑器中打开它们时),它们的内容就不能被隐藏或阻止复制。

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

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

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

另一种选择是公开分发文件,但在其中嵌入某种水印,对于每个用户/许可证都是唯一的,并且能够在一定量的编辑中幸存下来。这并不能解决所有问题,但如果一份副本开始在网上流传,您将能够分辨出是谁“泄露”了它并追踪他们。

无论如何,只要有足够的时间和技能,所有的保护措施都可以绕过。如果你不能打破它,这并不意味着其他人就不能。

于 2013-03-05T06:38:24.753 回答