C# 特定于计算机的Winforms授权
我正在使用以下工具构建一个小型winforms应用程序:。许可证工作正常,我可以创建许可证并根据自己的选择分发它们 问题是,如何使每个许可证仅在一台机器上工作?我知道在ayende的项目中有一个叫做LicensingService的类,我相信它和我想做的一样,但我就是想不出来。我已经做了很多搜索,除了我自己,我真的找不到任何教程 也许有人已经实现了这一点,或者对我如何实现这一点有一些建议?如果有帮助的话,我确实可以访问Web服务器C# 特定于计算机的Winforms授权,c#,winforms,licensing,C#,Winforms,Licensing,我正在使用以下工具构建一个小型winforms应用程序:。许可证工作正常,我可以创建许可证并根据自己的选择分发它们 问题是,如何使每个许可证仅在一台机器上工作?我知道在ayende的项目中有一个叫做LicensingService的类,我相信它和我想做的一样,但我就是想不出来。我已经做了很多搜索,除了我自己,我真的找不到任何教程 也许有人已经实现了这一点,或者对我如何实现这一点有一些建议?如果有帮助的话,我确实可以访问Web服务器 一如既往,我们非常感谢您的帮助。我不知道犀牛执照到底是什么。为了
一如既往,我们非常感谢您的帮助。我不知道犀牛执照到底是什么。为了满足您的需求,通常有两种方法
一些逻辑重新编译代码并将其发回。现在,当客户机向其机器输入此代码时,执行相同的操作:获取机器id,使用相同的某些逻辑执行相同的重新灰化,并检查是否匹配
我想不出其他任何东西了这取决于你想让你的用户感到多么烦人。您可以实现一个HWID(请参阅如何生成它们),该HWID在系统之间是唯一的,然后让您的程序检查HWID是否与在线存储它们的位置相匹配(通常使用数据库) 不用说,这将使您的应用程序需要internet连接才能运行,这可能会让您的用户感到有点沮丧 或者,您可以将HWID与序列号合并,并让您的应用程序执行相同的操作,以验证它们是否匹配,但这很容易被普通破解程序破解
归根结底,.net在安全性方面并不是最好的,因为您可以轻松获得源代码并根据需要修改程序集以修补某些保护。在决定采取何种途径保护软件时,请记住这一点。谢谢您的回复,这听起来是个好主意。我会尝试一下,我意识到.net对安全性来说并不是最好的,但我只是想阻止用户将应用程序从一台机器复制到另一台机器,而它仍然可以工作。再次感谢。谢谢你的回复。1号听起来是这个特定应用程序的最佳解决方案,我将结合denied66的答案使用它。@JDx我认为你没有抓住要点。denied66接受的答案与我的第二个选项相同。您如何使用选项1和选项2来解决您的问题?