许可软件的最佳和最安全的方法是什么?这样做是否有现有的计划?我想出售我的剧本,但我想确保用户不能自己重新分发或出售(当然,如果他们在自己的计算机上停用注册并选择转售,这是他们的选择)。
软件语言是VB.net。
由于我不确定我是否可以托管任何类型的注册数据库,有没有办法让许可证安全自给自足?我希望用户能够下载演示并能够以某种方式升级到完整版本。
感谢您的帮助!
如果目前还没有软件可以做到这一点,我将如何制作一个?
答案 0 :(得分:7)
因为我不确定我是否 可以托管一个注册数据库 任何形式,有什么办法可以保留 liscensing安全自给自足?
不,没有办法安全地做到这一点。即使你有一个注册数据库,它也是可以破解的。
从演示中删除完整版本代码。如果您有少量买家,这可以大大减少泄漏的可能性。
如果您想进行复制保护,您应该开始阅读它。既然你在问这个问题,我可以说你需要花很长时间才能做出像样的复制保护。最好雇佣其他人为你做这件事。
.net混淆器可能是最简单,最有效的解决方案。
答案 1 :(得分:5)
如果你的软件足够理想并且做得好,人们会为此付出代价。你总是会有一个永远不会有的%。而不是浪费时间试图阻止它们,而是专注于改进产品。
99.9%的公司不想窃取某些东西,而是根据需要不改变您的软件。他们宁愿买一些开箱即用的东西。
请记住Fog Bugz from Fog Creek附带完整的源代码,并且在销售软件时没有问题,因为它是高质量的产品。
质量很重要,注重不安全。
答案 2 :(得分:3)
查看文章Developing for Software Protection and Licensing;它解释了如何选择解决方案,为什么要对应用程序进行模糊处理,并提供一些结构化代码的技巧,以便更难破解。
要记住的是,一旦您的应用程序在另一台计算机上运行,就没有100%保证阻止执行的方法。如果你小心的话,你能做的就是提高标准,以便更容易购买你的软件,而不是破解它。
强制性免责声明& plug:我共同创办的公司生产OffByZero Cobalt software licensing solution for .NET,它原生支持VB.NET。
答案 3 :(得分:2)
通常无法保护 .NET 软件不会破坏它。它太容易了(特别是使用Reflector)。因此,您需要执行一些步骤才能在某种程度上保护:
无论如何混淆是主要步骤,因为它是使.NET程序集更接近本机二进制文件的唯一一件事。
答案 4 :(得分:0)
不要打扰。如果用户确定足以转售您的脚本,那么您无法阻止它们。通过这样做,您可以限制可能出于非恶意原因调整脚本的用户。
答案 5 :(得分:0)
这不是许可问题的答案,但如果您担心潜在客户反编译您的程序集,那么您应该研究一下Obfuscation。
对您的发布版本执行模糊处理,它会大大修改应用程序中类,方法和字段的命名。如果用户尝试使用诸如Reflector之类的工具重新生成源代码,那么在尝试使代码编译或运行时会遇到很大的困难。
更新:回答Cyclone的评论:Dotfuscator可能是最知名的,因为它自2003年以来一直在Visual Studio中发布(我认为;不确定它是否仅限于特定的VS版本)。一些快速谷歌搜索在Visual Studio 2008中使用tutorial时出现了some alternative options。{/ 3>}。
答案 6 :(得分:0)
用.net?很难保护它。
最好的选择只是做一个琐碎的系统,并依靠人们的诚实。让实际购买软件的人轻松简单。
演示?省略下载代码。
基本上,不要太偏执......答案 7 :(得分:0)
只有一种方法可以确保您的软件不会被盗版,并且大部分逻辑和/或通信都驻留在服务器上。即便如此,如果您的产品足够受欢迎,人们会尝试将您的服务器软件私下运行。