【问题标题】:Good Licensing strategy for c# application [closed]c# 应用程序的良好许可策略 [关闭]
【发布时间】:2014-04-29 20:00:36
【问题描述】:

我已经使用 c# 开发了一个应用程序,我希望对其应用良好且强大的许可,以便可以保护它免受破解,并且我的客户即使更改了他们的系统也可以续订许可

我几乎没有任何疑问

1.可以在虚拟机上完成软件许可吗?。如果 MAC 欺骗发生在虚拟机或我的任何其他系统上,我该如何保护我的软件客户端正在使用?

2.如果我将客户端的 MAC 地址映射到我的应用程序,这对保护软件有用吗?

3.Hardware Id vs MAC Id vs Serial Key 的优势是什么

4.如果用户改变他的系统时间和倒转他的时钟,他可以使用我的试用版软件而无需购买它。我怎样才能防止这种情况发生?

【问题讨论】:

  • Software Engineering 会更好吗?
  • @SonerGönül 我没听懂你
  • 他的意思是你可以问:programmers.stackexchange.com
  • 我的建议:(1)购买符合您需求的第三方授权系统;这将比设计、实现、测试、调试和维护自己的成本更低。并且 (2) 不要担心试图破坏您的许可计划的客户。如果您向公司销售产品,他们既不想承担麻烦,也不想承担法律风险。如果您要向青少年销售产品,无论多么好,他们都会在大约五分钟内击败您的许可计划。无论哪种方式,都没有必要担心它。
  • 这个问题似乎跑题了,因为它是关于软件许可的

标签: c# licensing mac-address hardware-id system-clock


【解决方案1】:

您的用户不应该知道您的身份验证基于什么。 如果您害怕只依赖一个硬件组件,您可以依赖其中的几个。 例如,您可以像这样使用 HDD ID:

        ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");
        ManagementClass partionsClass = new ManagementClass("Win32_LogicalDisk");
        ManagementObjectCollection partions = partionsClass.GetInstances();  

请记住,您还需要考虑用户更改您所依赖的硬件(与网卡关联的 MAC、HDD ID 等)的场景

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-19
    • 1970-01-01
    • 1970-01-01
    • 2010-09-10
    • 1970-01-01
    • 1970-01-01
    • 2011-12-22
    • 2011-10-21
    相关资源
    最近更新 更多