【问题标题】:how to protect My Programs? [closed]如何保护我的程序? [关闭]
【发布时间】:2010-12-09 22:52:39
【问题描述】:

假设我设计了一个非常重要的系统,而这个系统花费了数千美元。我想用序列号保护我的系统,因为我知道破解者会尝试编辑二进制代码来绕过序列号。

我已经阅读了有关使用校验和函数并将其应用于我的二进制代码并检查值是否发生更改的信息,但同样,我们谈论的是破解者可以通过编辑代码来避免的情况。

我的问题是:保护重要程序最常用的技术是什么?

【问题讨论】:

  • 花时间获得销售,而不是担心会窃取它的 X%。无论如何,他们可能不会付钱给你。

标签: drm copy-protection


【解决方案1】:

我还没有看到“受保护”的数字产品在发布后(或在某些情况下,在发布之前)没有很快被破解。对不起,但这就是现实。你必须通过制作好的产品来获得收入。大多数想要使用它并且负担得起的人都会付费。

会有一些白痴,但这就是生活。你最好善待你软件的合法用户,不要用无论如何都不起作用的奇怪的复制保护尝试来欺负他们。

【讨论】:

  • 字。没有程序受到完全保护。你想出的任何解决方案都会有一个反击——“哦,但他们可以……”。让它“无法破解”,以至于一个完全普通的用户不能仅仅删除他们硬盘上的一个文件就可以让那些烦人的东西消失并对此感到满意。任何进一步的努力充其量都是浪费,最坏的情况是有害。
【解决方案2】:

如果您的应用处于离线状态,无论您做什么检查(校验和、序列码有效性等),都要经常执行这些检查,并在软件的许多例程中重复验证码。混淆你的代码,使逆向工程成为一项更困难的任务,如果有可能,实施在线检查,你的应用程序的核心功能的一部分驻留在你的服务器上,并且只为你检查过的那些安装提供服务服务器端的有效许可证密钥。将许可证密钥与运行应用程序的硬件的某种形式的唯一标识符相关联,如果您在线查看,则有关于发出验证请求的 IP 的统计信息:如果您遇到更多 IP 尝试验证相同的许可证密钥,请联系买方并批准他们通常登录的 IP 列表,同时将任何其他 IP 列入黑名单,直到他们通过邮件或电话提出特定请求。

【讨论】:

  • 如果我必须使用要求我从一组受限 IP 一直在线并回答一些关于我已支付的许可证的愚蠢电话/邮件的软件 - 我可能会抓住它的破解,可用版本。供应商不应该对破解者进行攻击,而不是合法用户吗?
  • 这取决于您作为客户的主要关注点。我宁愿作为客户将自己视为保护它的合作伙伴,如果我已经为它付了钱,而不是对我必须采取的步骤来确保系统不被破坏而大惊小怪。相信我,如果你说服我为你的软件付钱,我会确保没有人免费使用它,而且我会像卖给我的人一样偏执地保护它.
  • 你的观点很有趣,但恐怕99%的人不这么认为。他们可能想使用该软件并愿意为此付费,但盗版问题应该是供应商头疼的问题。 MS Windows 被广泛盗版的事实并不困扰我,即使我拥有它的合法副本。好吧,也许它应该打扰我!:)
  • 我针对的是一个垂直市场,所以我也无法解释,也无法针对 99% 的人。我和我的团队安装、配置和维护每次安装所需的硬件和软件,因此我的系统被盗版的可能性不大。然而,我们和我们的客户将我们产品的所有权视为一种特权,而不是一种消费品,因此他们共同感兴趣的是不要让这个非常昂贵的系统遭到破坏。系统被黑客入侵的潜在影响将远远超出未经授权和“免费”使用的简单场景。
【解决方案3】:

最常用的技术是序列号。但是您的客户将可以访问该代码,因此他们将能够绕过您的序列号检查,无论您为混淆它付出了多少工作。

但是,如果您可以将您的软件作为基于订阅或一次性付款的网络应用程序提供,那么人们将无法做到这一点。这是否可行取决于您编写的应用程序的类型。

【讨论】:

    【解决方案4】:

    我始终建议在应用任何类型的商业保护器(例如 Packer)之前构建自定义软件保护。 在任何情况下,仅串行验证和校验和检查都不会让破解者远离。 我建议您访问我的新博客 www.anti-reversing.com 并快速浏览一下反盗版提示和技巧页面,以便了解我在说什么。

    【讨论】:

      猜你喜欢
      • 2016-11-03
      • 1970-01-01
      • 2023-03-16
      • 2011-03-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-14
      • 2018-06-01
      • 1970-01-01
      相关资源
      最近更新 更多