C# 本地软件的视频加密
我想显示一些视频文件在我的本地软件与一些保护,以防用户想要复制他们。我搜索了加密方法和一些DRM解决方案,但我不想要互联网连接,如果这不是唯一的选择的话。我正在用C#开发我的应用程序。视频文件将放在CD上 基本上,我计划做的是,在CD上加密视频文件,并在RAM上解密,这样不是每个播放器都能播放加密文件,只有我的播放器可以,而且它们不会被复制(我希望)。我听说在Delphi上做了一个类似的项目,但我不知道这是否是C#中最好的方法 我的问题是C# 本地软件的视频加密,c#,encryption,video-streaming,video-encoding,C#,Encryption,Video Streaming,Video Encoding,我想显示一些视频文件在我的本地软件与一些保护,以防用户想要复制他们。我搜索了加密方法和一些DRM解决方案,但我不想要互联网连接,如果这不是唯一的选择的话。我正在用C#开发我的应用程序。视频文件将放在CD上 基本上,我计划做的是,在CD上加密视频文件,并在RAM上解密,这样不是每个播放器都能播放加密文件,只有我的播放器可以,而且它们不会被复制(我希望)。我听说在Delphi上做了一个类似的项目,但我不知道这是否是C#中最好的方法 我的问题是 这是C#的好方法吗 此方法是否适用于mp4或avi文件
请记住,你的预算大约是好莱坞预算的10亿倍。他们想要和你想要的一样的数字版权管理,但仍然得不到。数字版权管理是永远的隐蔽的安全。只要你是默默无闻的,它可能会为你工作一段时间。然而 您可以使用自定义解密视频播放,人们只需复制播放器即可。因此,他们也必须保护玩家——这意味着生成一个魔法令牌,并让用户输入该令牌。除非你愿意。如果你想这样做,你必须有某种形式的产品注册,注册密钥(魔法令牌)基于目标计算机上的识别信息 例如,您将目标计算机中的一些“东西”组合起来,比如主硬盘驱动器卷id、创建时间戳或系统卷(只是为了保持简单),然后编写一个Web服务来注册软件,并使用这些时间项生成令牌,然后通过任何机制将令牌放回用户计算机。然后,当播放器运行时,您的软件通过相同的算法计算令牌,如果不匹配,则会出现许可错误 你现在有了新的问题。1) 人们可以检查本地可执行文件以了解令牌算法,以及它计算OK/NOT OK标志的位置,并修补代码,使其可以解密视频流。2) 如果有人因为硬盘驱动器故障而重建了计算机,他们的软件将不再工作。所以,你也必须明白这一点,除非你想让不开心的客户在facebook上说你的坏话。3) 人们知道,当你停业、死亡等时,你的授权服务器会宕机。因此,他们一开始不会购买你的受保护视频。4)你将浪费大量时间,而这些时间本可以用来更有效地赚钱做一些有用的事。5) 你也会浪费钱 通过使用DVD及其本机拷贝保护,您不会浪费很多时间,但您也不会得到太多保护很多人都足够聪明,可以在他们喜欢的搜索引擎上键入“解密DVD”。这就是“小林丸情节”
忘了提最后一个棺材钉子。C#是一种通过模糊性实现安全性的糟糕方法,因为CLR很容易被反汇编,您还需要混淆您的C#代码——反编译/调试原生x85代码更容易。您可以尝试(商业、付费),这适用于任何流 我知道没有防弹加密,我可能会添加一个平均保护。但我还是想尽我最大的努力寻找选择。如果找不到更好的解决方案,我可以尝试置乱视频。感谢您哪种语言更好?CLR代码比本机X86代码更容易反编译——使用CLR时编译器会保留大量符号信息。源语言并不重要,只要它是本机代码。我已经阅读了VisualStudio中的非托管C++生成本地代码,但我从未亲自确认过。当然,你会花更多的时间编写非托管C++,因为它写起来更难,尤其是如果你不熟练的话。