.NET 复制保护

标签 .net copy-protection

是否可以以某种方式将 .NET 可执行文件限制在特定机器上,以便它只能在该机器上运行。

最佳答案

是的,我在我的应用程序中这样做。它工作得很好。

使用 WMI 可以轻松获取系统信息(CPUID、MacID、HDD 详细信息)(强烈推荐)。

我创建了一个几乎万无一失的系统(除非您是专业黑客)。

当我的应用程序第一次安装在用户的 PC 上时,它们会使用 Web 服务返回到我的服务器。他们使用密码哈希来识别自己,并为客户端寻找授权代码/订单 ID。

如果客户端具有正确的授权代码,应用程序会加密并将系统详细信息存储在客户端的计算机上,并将信息的散列发送到存储它的服务器。然后使用一些散列标志在客户端的计算机上激活该软件,每次运行应用程序时,系统信息都会与文件中的散列信息进行比较。

如果客户重新格式化计算机,他所需要的只是自动再次激活软件的订单 ID(当程序与我的服务器核对时,如果匹配,系统详细信息将得到验证和批准)。如果客户在另一台机器上安装软件,他必须联系我的支持团队以获得批准。

-- 所有信息都经过加密和散列(双重加密)。
-- 所有代码都经过混淆和打包。

目前它工作得非常安全。

所以是的,这是可能的,它已经过现场测试并发现它与任何其他保护系统一样有效。

关于.NET 复制保护,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1142217/

相关文章:

c++ - 保护单个程序中的数据

.net - 无需互联网的软件许可机制

macos - Mac App Store - 复制保护,或不,还是什么?

.net - Process.Kill 后是否需要使用 Process.WaitForExit?

c# - 在 ASP.NET MVC 中填充下拉列表

c# - 具有 MaxDegreeOfParallelism 和实际线程数的 ParallelOptions

c# - 上下文操作的 ReSharper SDK 测试不起作用

android - 以编程方式前向锁定 Android APK

c# - .net 中 DataContract 属性和 Serializable 属性之间的区别