2

我想在我的本地软件中显示一些视频文件,以防用户想要复制它们。我搜索了加密方法和一些 DRM 解决方案,但我不想要互联网连接,如果这不是唯一的选择的话。我正在使用 C# 开发我的应用程序。视频文件将在 CD 上。

基本上我打算做的是,将视频文件加密在CD上,并在RAM上解密,所以不是每个播放器都可以播放加密文件,只有我的播放器可以并且不会被复制(我希望)。我听说在 Delphi 上做了一个类似的项目,但我不知道这是否是 C# 中最好的方法。

我的问题是

  1. 这是 C# 中的好方法吗?
  2. 这种方法适用于 mp4 或 avi 文件吗?
  3. C# 中是否有用于此过程的库?

进展: 我在 SO 中搜索了有关 CD 复制保护的信息。一位用户建议保留 CD 预写入区域的数据并将其存储在某个地方。也许我可以制作独特的播放器,每个播放器都可以嵌入这些数据。或者,在网络上使用数据库,但我担心这会造成更多的安全漏洞,我还需要保护数据库。但是,这可能是一个更好的主意,因为没有用户将密钥嵌入到他们的程序中。我觉得我真的被困住了:) 任何帮助将不胜感激。

4

3 回答 3

2
  1. 不,这不是一个好方法。您的假设是 CD 将被复制,但您的播放器不会。这是不太可能的。

  2. 一般来说,这些文件无论如何都可以由其他应用程序播放(如果您对文件进行加密,它们将不再是 AVI 文件)。不过,您可以打乱视频,以便其他应用程序可以播放它,但它看起来完全错误。可以像在 RGB 中翻转 R 和 G 通道一样简单。

  3. 不,因为这个想法一开始就有缺陷。见第 1 点。不过,可能有蛇油出售。

请记住,您的预算大约比好莱坞少十亿倍。他们想要您想要的相同 DRM,但仍然无法获得。

于 2013-08-21T11:14:06.187 回答
1

DRM始终是通过默默无闻的安全性。只要你是默默无闻的,它可能会为你工作一段时间。然而 ...

您可以使用自定义解密视频播放,人们只会复制播放器。因此,他们也必须保护玩家——这意味着生成一个魔法令牌并让用户输入该令牌。除非你愿意。如果你想让它工作,你必须有某种形式的产品注册,其中注册密钥(魔术令牌)基于目标计算机上的识别信息。

例如,您结合目标计算机中的一些“东西”,例如主硬盘驱动器卷 ID、创建时间戳或系统卷(只是为了保持简单),然后您编写一个 Web 服务来注册软件占用这些时间项和生成令牌,并通过任何机制将其放回用户计算机。然后,当播放器运行时,您的软件会通过相同的算法计算令牌,如果它们不匹配,则会因许可错误而失败。

你现在有新的问题。1)人们可以检查本地可执行文件以找出您的令牌算法以及它计算 OK/NOT OK 标志的位置并修补代码以使其可以解密视频流。2) 如果有人由于硬盘故障而重建他们的计算机,他们的软件将不再工作。所以,你也必须弄清楚这一点,除非你想让不满意的客户在 Facebook 上说你的坏话。3) 人们知道,当您倒闭、死亡等时,您的许可服务器会停机,因此他们不会首先购买您的受保护视频 4) 您将浪费很多本可以花在更多时间上的时间有效地赚钱做一些有用的事情。5)你也会浪费钱

通过使用 DVD 及其本机复制保护,您不会浪费很多时间,但也不会得到太多保护,因为很多人足够聪明,可以在他们最喜欢的搜索引擎上输入“解密 dvd”。这就是“小林丸情景”

忘了提到最后一个棺材钉。C# 是一种通过晦涩难懂的安全方法,因为 CLR 很容易被反汇编,您还需要混淆 C# 代码——反编译/调试本机 x85 代码仍然容易得多。

于 2013-08-23T20:21:22.047 回答
0

你可以试试BoxedApp 视频流(商业、付费),它适用于任何流。

于 2015-11-12T19:51:05.043 回答