VB.net 简单的许可证密钥来保护应用程序

Posted

技术标签:

【中文标题】VB.net 简单的许可证密钥来保护应用程序【英文标题】:VB.net simple license key to protect application 【发布时间】:2017-05-16 01:49:55 【问题描述】:

我正在开发一个简单的 vb 应用程序。但我想保护它,让用户可以选择仅在特定时间使用它。 所以我想用一个键码制作一个文本文件(除了随机字符,它还包含一个过期日期)。在此到期日期之后启动应用程序时,应用程序应自动关闭。 该纺织品所在的位置可以与运行可执行文件的位置相同。 你们中有人知道如何实现它吗?或者有没有更简单的方法来实现这个

【问题讨论】:

请注意,如果软件在用户控制的硬件中运行,则总是可以绕过您可能实施的任何保护。 @Alejandro 当然是对的,但更有建设性的看待它的方式是问自己一个问题“我在对抗谁?” - 如果您的用户在技术上是文盲,那么即使您描述的机制也将超出他们的范围。当然,如果应用程序不是特别受欢迎、价格不高或以其他方式具有吸引力,那么即使是超出此级别的微小技术进步也将挡在最坚定的应用程序之外。 就其性质而言,没有simple license key 这样的东西。您不能在用户系统上保密。除了在您的系统上之外,您可以以一种非常非常难以复制的方式创建密钥(文件)。然后客户端应用程序“只是”必须验证许可证。仍然需要他们将您的代码修补到IsRegistered = True,而不是调用该方法。到期是另一个完全值得关注的问题。你应该问自己的第一个问题是why does it expire?除非您有技术支持人员,否则您为什么值得拥有它? 【参考方案1】:

如果您想为您的应用程序提供“试用期”,您可能需要对其进行硬编码以防止篡改。然后,在购买时对注册表和其他文件进行修改(可能会下载一些“注册”应用程序的文件,以便将自己识别为“完整”。更进一步,可能会定期让应用程序访问您的服务器并验证许可证。

这是一个巨大的话题,很多比我聪明的人都可以参与其中。我会注意到,这是开发人员和黑客之间试图绕过许可的持续斗争的一部分。

【讨论】:

【参考方案2】:

要使软件在一段时间内解锁,您可以在Pastebin 等网站上创建文本文件并添加到期日期。然后让您的软件检查文件是否仍然有效。

请注意,用户可以“追踪”您的软件发送的请求,绝不存储与您的软件相关联的私人信息。

您也可以使用HWID protection,它确保您的软件只有在与存储在加密字符串中的硬件信息匹配时才能运行。

您可以散列其他用户的信息,如用户名、wifi 名称等,但请记住,更改任何此类信息(操作系统、硬件或系统信息)都会创建新的唯一 HWID,这可能与之前的不匹配- 导致 HWID 授权失败。

要更难绕过保护,您可以obfuscate your software。

【讨论】:

以上是关于VB.net 简单的许可证密钥来保护应用程序的主要内容,如果未能解决你的问题,请参考以下文章

许可证方案、欺骗安全和撤销功能

使用许可证密钥验证保护 wordpress 主题

如何保护调用我的 API 的桌面应用程序?

创建许可证密钥的安全算法?

Python 单机许可证保护

Matlab 编译器:在安装过程中保护软件的重新分发