2009-10-25 49 views
-1

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

我已阅读有关使用校验和函数并将其应用于我的二进制代码并检查值是否发生更改的问题,但是我们再次讨论一个黑客可以通过编辑代码避免的情况。

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

+12

花你的时间去销售,而不是担心的X%,将偷。他们可能不会支付你。 – gahooa

回答

0

如果你的应用程序离线工作,无论你做什么检查(检查总和,串行代码的有效性等),经常做它们,重复验证码,在你的软件的许多例程。混淆你的代码,使逆向工程更加艰巨的任务,而且,如果有可能,实现了网上查询,您的应用程序驻留在服务器上的核心功能部分,只有获得服务而你已经检查这些安装服务器端用于有效的许可证密钥。关联的许可证密钥,以某种形式的应用程序所运行的硬件的唯一标识符,如果你在网上查,有关于使验证请求的IP地址的统计数据:如果你遇到更多的IP地址尝试验证相同的许可证密钥,接触买方批准他们通常登录的IP列表,同时将其他人列入黑名单,直到他们通过邮件或电话向他们发送特定请求。

+1

如果我不得不使用需要我成为网上从一组有限的IP地址的所有的时间和回答有关我已经支付牌照一些愚蠢的电话/电子邮件软件 - 我可能会得到坚持有裂纹,可用它的版本。供应商不应该诋毁破解者,而不是合法用户? –

+0

这取决于您作为客户的主要关注点。我宁愿作为一个客户,如果我已经付钱,就会认为自己是合作伙伴,而不是为了确保系统不被破坏而采取的措施。相信我,如果你说服我出钱请你的软件,它会是什么,我会做该死的肯定没有人使用免费的,我只是偏执地保护它谁把它卖给我的人。 – luvieere

+0

你有一个有趣的观点,但恐怕有99%的人不这样认为。他们可能想要使用该软件并准备为其付费,但盗版问题应该是供应商的头痛问题。 MS Windows被广泛盗用这一事实并不会影响我,尽管我拥有它的合法副本。好吧,也许应该打扰我!:) –

2

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

会有一些dickheads,但那就是生活。你最好善待你的软件的合法用户,而不要用怪异的复制保护企图欺负他们,而这些企图无论如何都是无效的。

+0

单词。没有任何计划得到充分保护你提出的任何解决方案都会有一个反作用 - “哦,但他们可以......”。使它成为“无法破解的”,足以让一个完全随意的用户不能只删除其硬盘上的一个文件,以使噩耗消失,并为此感到高兴。任何进一步的努力最多是浪费,最坏的是有害。 – Chuck

0

最常用的技术是序列号。但是,您的客户将可以访问代码,因此无论您对其进行混淆处理多少工作,他们都可以绕过序列号检查。

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

0

我总是建议在应用任何类型的商业保护器(如Packer)之前构建定制软件保护。 在任何情况下,只是一个序列验证和一个校验和检查是不会让crackers远离的。 我建议您来参观我的新博客www.anti-reversing.com并采取快速浏览一下反盗版提示&技巧页面只是有什么我谈论的想法。