c# - 保护软件免遭盗版

标签 c# .net license-key piracy-prevention piracy-protection

在阅读了 Stack Overflow 上有关如何保护软件的大量帖子后,我意识到你不能。值得庆幸的是,我的软件针对的是托管企业(数量不多)和少数消费者。我不认为该软件会流行到有人会破解它的程度,但我想保护它。

在我发现的一个线程中,它有一个半不错的选项列表。我决定选择“使用可撤销 key 进行简单注册,经常在线验证。”

我想,由于我的应用程序是一个 C# NET 控制台应用程序,它将通过管理容器运行,因此我可以为其颁发 key 。也许创建一个 MySQL 数据库并保留一个只能在一次安装中使用的 key 列表,以及另一个可以在 X 安装上使用的 key 列表。无论如何,我的应用程序将在启动时使用命令行参数运行,因此添加“-key 29839X900AQ”之类的参数将减轻他们的需要,让他们不必过于担心。

有人知道任何信息/网站可以提供有关设置此类内容的帮助吗?

最佳答案

您绝对可以保护软件,否则声称有错误的线程。没有人破解过我们的系统(在正确实现的情况下),并且我们进行了公开竞赛,看看是否有人可以(免责声明:我在一家软件保护公司工作)。

但是,有无数种方法可以解决这个问题,并且没有无法破解的“免费”系统或纯软件系统。然而,有些软件足够强大,需要付出巨大的努力,除非您的软件吸引了很大的市场或花费了很多美元,否则破解者将没有动力去付出努力。

如果我理解您提出的解决方案,您将很容易受到共享 key 的人的攻击。您可以检查单个 key 是否始终源自同一 IP 地址,但可能会被欺骗(以允许非法复制)或可能阻止合法客户访问。

保护就像在门上装锁:可以想象,更多的锁可以防止窃贼,但也会让您进出变得更加困难。如果锁太多,窃贼可能会寻找 window 破门而入。因为我们以此为生,所以我们研究了人们如何破解软件,很多时候保护方案很容易被绕过,只是不是按照原始开发人员预期的方式。每个人都希望实现的技巧是拥有适当的保护强度,而不会产生误报(错误地阻止合法用户)。如果您需要更多帮助,请随时私信我。

关于c# - 保护软件免遭盗版,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5294116/

相关文章:

c# - URL 的无扩展别名

c# - 开源/免费的 C# Windows 应用程序的许可证 keystore

c# - 如何验证是否确实存在来自DNS的电子邮件

c# - C# 中的命令模式和复杂操作

c# - 套接字,接收序列化异常

vb.net - 为使用 vb.net 开发的软件生成 key

Delphi RAD Studio 序列号

c# - 使用 MEF 导入从给定接口(interface)继承的类型

c# - 连接到 CRM

c# - 将日期从西类牙语转换为英语