我想在本地软件中显示一些视频文件,并提供一些保护,以防用户想要复制它们。我搜索了加密方法和一些DRM解决方案,但我不希望互联网连接,如果这不是唯一的选择。我正在用C#开发我的应用程序。视频文件将在CD上。
我计划做的基本工作是,将视频文件加密到CD上,并在RAM上进行解密,这样不是每个播放器都可以播放加密文件,只有我的播放器可以并且不会被复制(我希望)。我听说了一个类似的项目,在德尔菲,但我不知道这是否是最好的方式在C#。
我的问题是
进度:我在其中搜索了CD拷贝保护。用户建议保存CD预写区域的数据,并将其存储在某处。也许我可以制作出独特的玩家,每个人都可以嵌入这些数据。或者,在网上使用数据库,但我担心这会造成更多的安全漏洞,我也需要保护数据库。然而,这可能是一个更好的想法,因为没有用户将钥匙嵌入他们的程序。我觉得我真的被困住了:)任何帮助都会受到感谢。
发布于 2013-08-23 20:21:22
DRM是,总是通过默默无闻实现的安全性。只要你是个默默无闻的人,它可能会对你有一段时间的效果。但是..。
您可以使用自定义解密视频播放,人们只需复制播放机。因此,他们也必须保护玩家--这意味着产生一个魔法令牌,让用户进入那个令牌。除非你愿意。如果您想要这样做,您必须有某种形式的产品注册,其中注册键(魔法令牌)是基于目标计算机上的标识信息。
例如,您将来自目标计算机的一些“内容”组合在一起,比如主硬盘驱动器卷id,创建时间戳或系统卷(只是为了保持它的简单性),然后编写一个webservice来注册软件,获取这些时间项并生成令牌,然后通过任何机制将其返回给用户计算机。然后,当玩家运行时,您的软件通过相同的算法计算令牌,如果它们不匹配,则失败并出现授权错误。
你现在有新问题了。1)人们可以检查本地可执行文件,找出令牌算法,以及它计算OK/NOT OK标志的位置,并对代码进行修补,使其能够解密视频流。2)如果有人因为硬盘故障而重建他们的电脑,那么他们的软件就不再工作了。所以,除非你想让不开心的顾客在facebook上说你的坏话,否则你也得想办法解决这个问题。3)人们知道你的授权服务器会在你破产、死亡等情况下崩溃,所以他们不会首先购买你的受保护的视频。4)你会浪费大量的时间,而这些时间可能会花在更有效率的金钱上去做一些有用的事情。你也会浪费金钱
通过使用DVD和它的原生拷贝保护,你不会浪费很多时间,但你也不会得到太多的保护--很多人都很聪明,可以在他们最喜欢的搜索引擎上输入“解密dvd”。这是“小林丸的情景”
忘了提最后一个棺材钉。C#是一种通过模糊方式实现安全性的糟糕方法,因为CLR可以很容易地分解,您还需要混淆您的C#代码
发布于 2013-08-21 11:14:06
记住,你的预算是好莱坞的10亿倍,他们想要的是你想要的相同的数字版权管理,但仍然得不到。
发布于 2015-11-12 19:51:05
您可以尝试BoxedApp视频流 (商业,付费),它适用于任何流。
https://stackoverflow.com/questions/18353278
复制相似问题